จุดประสงค์การเรียนรู้
เพื่อสร้างสัญญาณของสัญญาณ Analog output จากสัญญาณพัลส์
สาระการเรียนรู้
1. สัญญาณ Analog Output
สัญญาณAnalog outputเป็นสัญญาณที่มีความละเอียดกว่าสัญญาณDigitalเป็นอย่างมาก ยกตัวอย่างเช่นหากเราต้องการจะเปิดไฟLEDหากใช้สัญญาณDigitalในการสั่งงานจะไม่สามารถทำให้LEDหรี่ไฟแบบปรับระดับได้ ดังนั้นบทความนี้จะพูดถึงการใช้งานAnalog Outputชนิด PWM (Pulse-Width modulation) ซึ่งเป็นเทคนิคในการเข้ารหัสสัญญาณDigitalให้ัมีOuputเฉลี่ยคล้ายสัญญาณAnalog โดยจะสร้างLogic HIGH(3.3V) และ LOW(0V)สลับกันซึ่งจะทำให้คาบเวลาช่วงHIGHของหนึ่งลูกคลื่นมีหน่วยเป็นเปอร์เซนต์หรือที่เรียกกันว่าDuty Cycle ดังภาพข้างล่าง
ที่มาของภาพ : https://blog.thaieasyelec.com/espino32-ch6-how-to-use-analog-output/
วิธีทดลอง
เป้าหมายในการทำงานของLabนี้ เพื่อให้LEDทำการเปิดปิดไฟ อย่างต่อเนื่อง โดยให้หลอดไฟดับ ติด 50 เปอร์เซนต์ และติด 100 เปอร์เซนต์ แบบวนรอบ
ตอนที่ 1 การใช้งานหลอด LED 1 ช่อง
นำบอร์ดLotus Mega Bot +มาต่อกับModule Lotus LED และพอร์ตMicro USB ตามตารางและขาสัญญาณ ดังรูปข้างล่าง
2. ทำการเขียนCode ในโปรแกรมLOTUS- IDE ตามรูปแบบข้างล่าง
3. ทำการ Upload Code ลงบนบอร์ด Lotus Mega Bot ดังรูปข้างล่าง
4. หลังจากนั้นหลอดLED จะแสดงผล 3 สเต็บแบบวนรอบ ดังรูปข้างล่าง
ตอนที่ 2 การใช้งานAnalog Input ควบคุมสัญญาณ Analog Output (ปรับค่าความสว่างไฟหัวเตียง)
เป้าหมายในการทำงานของLabนี้ เพื่อปรับค่าความมืดสว่างของหลอดLED ตามการหมุนของตัวต้านทานปรับค่าได้ (Potentiometer หรือ Knob) จำลองจากไฟสว่างหัวเตียงในโรงแรม
วิธีทำการทดลอง
นำโมดูลLotusLED มาต่อเข้ากับสายเซนเซอร์และบอร์ดLotus Mega Bot ดังรูป
2. ทำการเขียนโค้ดในKB-IDE ตามสมการข้างล่าง ดังรูป
3. ทำการUpload Code อีกครั้ง และลองปรับKnob GPIO15 ไปทางฝั่งซ้ายสุดไฟจะดับ (PWM =0 ) และปรับไปทางฝั่งขวาสุดไฟจะสว่างสูงสุดตามลำดับ (PWM = 255) ดังรูปและVDO ด้านล่าง