Lab3 Analog Input และAnalog Output (การอ่านค่าสัญญาณอะนาล็อกจากPhotentiometer และการหรี่ไฟLED)
Lab3 Analog Input และAnalog Output (การอ่านค่าสัญญาณอะนาล็อกจากPhotentiometer และการหรี่ไฟLED)
เป้าหมาย : เพื่อให้ทราบถึงลักษณะของสัญญาณอะนาล็อก
สัญญาณ Analog
สัญญาณAnalogเป็นสัญญาณที่มีความเที่ยงตรงที่ต่ำกว่าสัญญาณDigitalเป็นอย่างมาก เนื่องจากสามารถถูกรบกวนได้โดยง่าย ซึ่งบอร์ดLotusNanoBot จะมีความละเอียดของสัญญาณAnalogอ10 Bit จะมีค่าอยู่ระหว่าง 0-1023 ค่านั่นเอง
ตอนที่ 1 Analog Input
เป้าหมายการทดลอง : อ่านค่าสัญญาณอะนาล็อกจากพอร์ตA7 (Potentiometer) ผ่านจอOLED
อุปกรณ์
1.บอร์ดLotusNanoBot
2.สายโหลดโปรแกรมMini USB
วิธีทดลอง
เขียนโปรแกรมอ่านค่าสัญญาณจากพอร์ต A7 ดังรูปข้างล่าง
2. ทำการอัพโหลดโค้ด ทำการหมุนPotentiometer แล้วสังเกตค่าที่จอOLED ดังรูปและ VDO ข้างล่าง
ตอนที่ 2 Analog Input เชื่อมต่อกับSensorภายนอก
เป้าหมายการทดลอง : สามารถรับค่าจากเซนเซอร์LDR (ตรวจวัดความเข้มเเสงสว่าง) และ Soild moisture Sensor(ตรวจวัดค่าความชื้นในดิน)
วิธีทำ
ต่อวงจรดังรูป และทำการเขียนโค้ดแสดงผลการอ่านค่าแต่ละตัวผ่านที่จอOLED ดังนี้
ตอนที่ 3 Analog Output
เป้าหมายการทดลอง : สามารถสั่งงานหลอดไฟLEDเปิดปิดและหรี่หลอดไฟLEDได้ ที่ 0 เปอร์เซนต์ ,50 เปอร์เซนต์ และ 100 เปอร์เซนต์แบบวนรอบได้
สาระการเรียนรู้
สัญญาณAnalog outputเป็นสัญญาณที่มีความละเอียดกว่าสัญญาณDigitalเป็นอย่างมาก ยกตัวอย่างเช่นหากเราต้องการจะเปิดไฟLEDหากใช้สัญญาณDigitalในการสั่งงานจะไม่สามารถทำให้LEDหรี่ไฟแบบปรับระดับได้ ดังนั้นบทความนี้จะพูดถึงการใช้งานAnalog Outputชนิด PWM (Pulse-Width modulation) ซึ่งเป็นเทคนิคในการเข้ารหัสสัญญาณDigitalให้ัมีOuputเฉลี่ยคล้ายสัญญาณAnalog โดยจะสร้างLogic HIGH(5V) และ LOW(0V)สลับกันซึ่งจะทำให้คาบเวลาช่วงHIGHของหนึ่งลูกคลื่นมีหน่วยเป็นเปอร์เซนต์หรือที่เรียกกันว่าDuty Cycle ดังภาพข้างล่าง
อุปกรณ์
1.บอร์ดLotusNanoBot
2.สายโหลดโปรแกรมMini USB
3. สายเซนเซอร์
4. โมดูลLotusLED
วิธีทำการทดลอง
นำโมดูลLotusLED มาต่อเข้ากับสายเซนเซอร์และบอร์ดLotusNanoBotดังรูป
2. ทำการเขียนโค้ด ในKB-IDE เพื่อให้หลอดLEDทำงาน ดังรูปข้างล่าง
3. เมื่อทำการอัพโหลดโค้ด สังเกตสถานะการทำงานของหลอด LED ดังรูป และวีดีโอข้างล่าง
ตอนที่ 4 การใช้งานร่วมกันระหว่าง Analog Input และ Analog Output
เป้าหมายการทดลอง : การเขียนโปรแกรมหรี่ไฟเมื่อหมุนPotentiometerก็จะมีการเร่งและหรี่ไฟตามระดับที่ปรับ
อุปกรณ์การใช้งาน
1.บอร์ดLotusNanoBot
2.สายโหลดโปรแกรมMini USB
3. สายเซนเซอร์
4. โมดูลLotusLED
วิธีทำการทดลอง
นำโมดูลLotusLED มาต่อเข้ากับสายเซนเซอร์และบอร์ดLotusNanoBotดังรูป
2. ทำการเขียนโค้ด ในKB-IDE เพื่อให้หลอดLEDทำงาน ดังรูปข้างล่าง
3. เมื่อทำการอัพโหลดโค้ด สังเกตสถานะการทำงานของหลอด LED ดังวีดีโอข้างล่าง