เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 178
6. โมดลู แสดงผล LCD ผา่ นบสั I2C โดยใช้ไอซเี บอร์?
ก. PCF8574
ข. LM7905
ค. DS1307
ง. LM7805
จ. PCF8574A
7. ไอซีสร้างฐานเวลาเบอร์ DS1307 มขี าจานวน?
ก. 6 ขา
ข. 7 ขา
ค. 8 ขา
ง. 9 ขา
จ. 11 ขา
8. โมดลู RTC ใชแ้ บตเตอรี่สารองขนาด?
ก. LR44 1.5V
ข. CR2032 3V
ค. AA 1.5V
ง. AAA 1.5V
จ. CR2032 1.5V
9. การส่อื สารระหวางไมโครคอนโทรลเลอรกับไอซี DS1307 ใชการสือ่ สารแบบใด?
ก. 1-Wire
ข. SPI
ค. USB
ง. I2C
จ. 3-wire interface
10. โมดูล RTC ผา่ นบสั I2C โดยใชไ้ อซีเบอร์?
ก. PCF8574
ข. DS1307
ค. LM7805
ง. LM7905
จ. PCF8574A
หนว่ ยท่ี 8 : การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซสี ร้างฐานเวลาจรงิ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 179
แบบฝึกหัด
หนว่ ยท่ี 8 การประยุกต์ใชง้ านไมโครคอนโทรลเลอร์
กบั จอแสดงผลและไอซีสรา้ งฐานเวลาจริง
ตอนที่ 1 ใหผ้ ้เู รยี นกาเคร่อื งหมายถูก ( ) หนา้ ข้อท่คี ิดว่าถูก และกาเคร่ืองหมายผิด ( )
ในข้อที่คิดว่าผิด
การส่งขอ้ มูลออกทางบัสแบบ 4 บิตสง่ ขอ้ มูลออกขา 4-7
Control Byte ประกอบดว้ ย Device ID และ Device Address เท่านั้น
ไลบรารี่สาหรับการควบคมุ จอแสดงผล LCD ชื่อ LiquidCrystal
การควบคมุ จอแสดงผล LCD แบบ I2C LiquidCrystal เริ่มต้นเรยี กฟังกช์ ั่น
LiquidCrystal_I2C lcd(Address, columns, rows); เพือ่ ระบุแอดเดรสและขนาดจอ
setCursor(0, 1); กาหนดตาแหนง่ จุดเริม่ ตน้ ของ Cursor ตวั อกั ษรท่ี 1 บรรทัดท่ี 0
หากต้องการล้างหน้าจอใหเ้ รยี กใชฟ้ ังกช์ น่ั clearLCD();
DS1307 เปน็ IC ฐานเวลาของดลั ลสั เซมิคอนดักเตอร์
ไอซี DS1307 มหี นวยความจา RAM ขนาด 128 ไบต์
คาส่งั DateTime now = RTC.now(); เป็นการเรียกอ่านจากโมดูลเก็บไวใ้ นตัวแปร now
ฟงั ก์ชั่น adjust(DateTime(__DATE__, __TIME__)); เป็นการต้งั ค่าวันเวลาใหม่
หนว่ ยท่ี 8 : การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี ร้างฐานเวลาจรงิ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 180
ตอนท่ี 2
คาสง่ั ให้ผูเ้ รยี นทดลองการติดตอ่ ไมโครคอนโทรลเลอร์กับจอแสดงผล LCD และ โมดลู RTC
ดว้ ยบอรด์ Arduino Uno R3 โดยใช้เวลา 180 นาที
จดุ ประสงค์เชงิ พฤตกิ รรม
1. สามารถควมคมุ จอแสดงผล LCD ไดถ้ ูกต้อง
2. สามารถอ่านข้อมลู จากโมดูล RTC ได้ถูกต้อง
3. สามารถแก้ปญั หาในการทางานของบอรด์ Arduino Uno R3 ได้
4. สามารถต่อใช้งานและอัพโหลดโปรแกรมใหก้ ับบอร์ด Arduino Uno R3 ได้
อุปกรณ์การทดลอง 1 โปรแกรม
1. โปรแกรม Arduino IDE 1 เส้น
2. สายโหลด USB Arduino Uno R3 1 บอรด์
3. บอรด์ Arduino Uno R3 1 ชดุ
4. สายต่อวงจร 1 เคร่อื ง
5. เครือ่ งคอมพิวเตอร์ 1 ชดุ
6. โมดลู RTC 1 ชุด
7. จอแสดงผล LCD
การทดลองที่ 8.1 SerialDisplay
ใหแ้ สดงข้อความ Typing… ตามดว้ ยข้อความที่ได้รบั จากพอร์ตอนกุ รมและแสดงกระพรบิ
บลอ๊ กของ cursor
ข้นั ตอนการทดลอง
1. เปิดโปรแกรม Arduino IDE
2. ต่อวงจรดังรปู ที่ 8.14
3. เขยี นโปรแกรมและอัพโหลดโปรแกรม
หน่วยที่ 8 : การประยุกตใ์ ชง้ านไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซีสร้างฐานเวลาจรงิ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 181
รูปท่ี 8.14 การเชือ่ มต่อบอรด์ Arduino ร่วมกบั จอแสดงผล LCD
สาหรับการทดลองที่ 8.1
Code
รูปที่ 8.15 โปรแกรมสาหรับการทดลองท่ี 8.1
หนว่ ยที่ 8 : การประยุกต์ใช้งานไมโครคอนโทรลเลอรก์ ับจอแสดงผลและไอซสี ร้างฐานเวลาจรงิ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 182
ประเมนิ ผลการทดลอง 10 คะแนน
10 คะแนน
1. สามารถเขียนโปรแกรมและต่อวงจรไดถ้ ูกตอ้ ง ……………… คะแนน
2. สามารถทดสอบและอธิบายการทางานได้ถูกต้อง
รวมคะแนนภาคปฏบิ ตั ิ
การทดลองที่ 8.2 การเชือ่ มต่อไมโครคอนโทรเลอร์กบั โมดูล RTC เพือ่ ควบคุมรเี ลย์
ขนั้ ตอนการทดลอง
1. เปิดโปรแกรม Arduino IDE
2. ต่อวงจรดงั รูปท่ี 8.16
3. เขียนโปรแกรมและอัพโหลดโปรแกรม
รูปท่ี 8.16 การเชื่อมต่อบอร์ด Arduino กบั โมดูล RTC เพอ่ื ควบคุมรเี ลย์
หนว่ ยที่ 8 : การประยกุ ตใ์ ช้งานไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซีสร้างฐานเวลาจรงิ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 183
Code
รปู ท่ี 8.17 โปรแกรมสาหรบั การทดลองที่ 8.2
หน่วยที่ 8 : การประยุกตใ์ ช้งานไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซีสรา้ งฐานเวลาจริง
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 184
ประเมินผลการทดลอง
1. สามารถเขียนโปรแกรมและตอ่ วงจรได้ถูกต้อง 10 คะแนน
2. สามารถทดสอบและอธิบายการทางานได้ถูกต้อง 10 คะแนน
………………………… คะแนน
รวมคะแนนภาคปฏิบตั ิ
การทดลองท่ี 8.3 การเชอ่ื มตอ่ ไมโครคอนโทรเลอรก์ ับโมดลู RTC เพื่อแสดงค่าวนั -เวลาออก
จอแสดงผล LCD
ขน้ั ตอนการทดลอง
1. เปิดโปรแกรม Arduino IDE
2. ตอ่ วงจรดงั รูปที่ 8.18
3. เขียนโปรแกรมและอัพโหลดโปรแกรม
รูปที่ 8.18 การเชอื่ มต่อบอรด์ Arduino รว่ มกบั หลอดแสดงผล 7-Segment
สาหรับการทดลองท่ี 8.3
หนว่ ยท่ี 8 : การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซีสรา้ งฐานเวลาจรงิ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 185
Code
รูปที่ 8.19 โปรแกรมสาหรบั การทดลองท่ี 8.3
ประเมินผลการทดลอง 10 คะแนน
1. สามารถเขยี นโปรแกรมและต่อวงจรไดถ้ ูกต้อง 10 คะแนน
2. สามารถทดสอบและอธิบายการทางานได้ถูกต้อง …………………… คะแนน
รวมคะแนนภาคปฏบิ ตั ิ
หน่วยที่ 8 : การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซีสรา้ งฐานเวลาจริง
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 186
เฉลยแบบทดสอบก่อนเรียน
หน่วยที่ 8 การประยกุ ต์ใช้งานไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซีสรา้ งฐานเวลาจริง
1. ง 2. ข 3. ก 4. ข 5. ง
6. ก 7. ค 8. ข 9. ง 10. ข
เฉลยแบบทดสอบหลังเรยี น
หนว่ ยท่ี 8 การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซีสรา้ งฐานเวลาจริง
1. ข 2. ก 3. ง 4. ค 5. ข
6. ง 7. ข 8. ก 9. ค 10. ง
เฉลยแบบฝึกหัด
หน่วยท่ี 8 การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซสี ร้างฐานเวลาจรงิ
ตอนที่ 1 ให้ผูเ้ รยี นกาเครื่องหมายถกู ( ) หน้าขอ้ ท่คี ิดว่าถูก และกาเครื่องหมายผิด ( )
ในข้อทคี่ ิดวา่ ผดิ
การส่งข้อมูลออกทางบสั แบบ 4 บิตส่งข้อมลู ออกขา 4-7
Control Byte ประกอบด้วย Device ID และ Device Address เท่านัน้
ไลบราร่สี าหรับการควบคมุ จอแสดงผล LCD ชอ่ื LiquidCrystal
การควบคมุ จอแสดงผล LCD แบบ I2C LiquidCrystal เรม่ิ ต้นเรยี กฟงั ก์ช่นั
LiquidCrystal_I2C lcd(Address, columns, rows); เพ่ือระบแุ อดเดรส
และขนาดจอ
setCursor(0, 1); กาหนดตาแหน่งจดุ เริม่ ตน้ ของ Cursor ตวั อกั ษรท่ี 1 บรรทัดที่ 0
หากต้องการลา้ งหนา้ จอใหเ้ รยี กใช้ฟังก์ช่นั clearLCD();
DS1307 เป็น IC ฐานเวลาของดัลลัสเซมิคอนดักเตอร์
ไอซี DS1307 มหี นวยความจา RAM ขนาด 128 ไบต์
คาส่งั DateTime now = RTC.now(); เปน็ การเรียกอา่ นจากโมดูลเกบ็ ไว้
ในตัวแปร now
ฟงั ก์ชน่ั adjust(DateTime(__DATE__, __TIME__)); เป็นการต้ังคา่ วันเวลาใหม่
หน่วยที่ 8 : การประยุกต์ใชง้ านไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซสี ร้างฐานเวลาจรงิ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 190
หนว่ ยที่ 9
การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กับไอซตี รวจวดั
อณุ หภมู ิและโมดลู ตรวจจับสัญญาณอินพตุ
สาระสาคญั
ตัวตรวจจับอุณหภูมิและความชื้นสัมพัทธ์ เป็นเซนเซอรว์ ัดอุณหภูมิและความช้ืนสมั พัทธแ์ บบ
ดิจิทัล นิยมนามาใช้ในการควบคุมที่มีการตรวจจับอุณหภูมิและความช้ืนท่ีแสดงผลออกมาในรูปแบบ
ของตัวเลข เพ่ือให้ทราบถึงอุณหภูมิและความชิ้นท่ีตรวจจับได้ หน่วยการเรียนน้ีจะกล่าวถึงโมดูล
เซนเซอร์ตรวจจับอุณหภูมิและความช้ืน DHT11 และ DHT22 การเช่ือมต่อเข้ากับไมโครคอนโทรลเลอร์
และการใช้โมดูล DHT11 และ DHT22 ในการตรวจจับอุณหภูมิและความช้ืนแล้วแสดงค่าท่ีจอแสดงผล
แบบ Digit Tube
โมดูลสาหรบั วัดระยะห่างด้วยคล่ืนอัลตราโซนิค มีให้เลือกใช้งานแตกต่างกันไปแล้วแต่ผู้ผลิต
คณุ ภาพ และราคา มีราคาถูกไม่กี่ร้อยบาท ไปจนถึงราคาเป็นพันบาท สามารถนาไปใช้ประยกุ ต์ใช้งานได้
เช่น การตรวจจับส่ิงกีดขวางสาหรับหุ่นยนต์เคลื่อนที่ หน่วยการเรียนน้ีจะกล่าวถึงการทดลองใช้งาน
โมดูล HC-SR04 และ US-015วัดระยะห่างด้วยคลื่นอัลตร้าโซนิค ร่วมกับบอร์ดไมโครคอนโทรลเลอร์
ในลักษณะเป็นโมดลู ตรวจจับสัญญาณอินพุตแบบหน่ึง การทางานของโมดูลอลั ตรา้ โซนิค จะอาศัยการ
ส่งคลื่นเสียงความถี่สูงออกไปประมาณ 40kHz และจับเวลาในการเดินทางของคลื่นเสียงเม่ือไปและ
กลบั มาหลังจากสะท้อนวตั ถุกีดขวาง
สาระการเรียนรู้
1. การเรียนรู้เกีย่ วกับตัวตรวจจับอุณหภมู ิและความชนื้ สัมพัทธ์
2. การเรยี นรเู้ ก่ยี วกับการตดิ ต่อกับตัวตรวจจบั อณุ หภูมแิ ละความชื้นสัมพทั ธ์
3. การเรยี นรูเ้ กยี่ วกบั โมดลู ตรวจจบั สัญญาณอนิ พุต
4. การเรยี นรู้เกย่ี วกับการติดต่อโมดลู ตรวจจบั สัญญาณอนิ พุต
5. การประยุกตใ์ ชง้ านไมโครคอนโทรลเลอรก์ ับโมดูล DHT และโมดลู ตรวจจบั สญั ญาณ
อนิ พุต
หน่วยที่ 9: การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอร์กับไอซตี รวจวดั อณุ หภมู ิและโมดลู ตรวจจบั สญั ญาณอินพุต
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 191
จุดประสงคเ์ ชงิ พฤตกิ รรม
1. นกั เรียนอธบิ ายการความรู้เบื้องต้นเกีย่ วกับโมดลู DHT และ โมดูลตรวจจับสัญญาณ
อนิ พุตได้
2. นกั เรยี นต่อวงจรติดต่อกับโมดูล DHT และ โมดูลตรวจจบั สญั ญาณอนิ พุตไดถ้ ูกตอ้ ง
3. นักเรียนเชื่อมต่อคอนโทรลเลอร์กับโมดูล DHT และ โมดูลตรวจจับสัญญาณอินพุตได้ได้
ถูกตอ้ ง
4. นักเรียนใช้งานคอนโทรลเลอร์กับโมดูล DHT และ โมดูลตรวจจับสัญญาณอินพุตได้
ถกู ต้อง
หน่วยที่ 9: การประยุกตใ์ ชง้ านไมโครคอนโทรลเลอรก์ บั ไอซตี รวจวัดอณุ หภูมิและโมดูลตรวจจบั สญั ญาณอินพตุ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 192
แบบทดสอบก่อนเรยี น
หน่วยท่ี 9 การประยุกต์ใชง้ านไมโครคอนโทรลเลอร์กบั ไอซี
ตรวจวัดอณุ หภมู แิ ละโมดลตรวจจับสญั ญาณอินพุต
คาสง่ั จงเลอื กคาตอบทถี่ ูกท่ีสดุ เพียงข้อเดียว
1. โมดูล DHT11 เป็นเซนเซอรว์ ดั วดั อณุ หภมู ิและความช้ืนสัมพัทธ์แบบใด?
ก. ขนาน
ข. แอนนาล๊อก
ค. ดิจทิ ัล
ง. อนุกรม
จ. ไม่มีขอ้ ถูก
2. โมดลู DHT11 มีขาเช่ือมต่ออะไรบา้ ง?
ก. VCC, GND และ SDA
ข. VCC, GND และ SCA
ค. VCC, GND และ SCL
ง. VCC, GND และ SCK
จ. VCC, GND และ SLK
3. โมดูล DHT11 สามารถวัดค่าอุณหภมู ิไดใ้ นชว่ ง?
ก. 0 ถงึ 50°C
ข. -20 ถงึ 60°C
ค. -10 ถงึ 50°C
ง. 0 ถงึ 60°C
จ. 20 ถึง 50°C
4. DHT22 / AM2302 ขาสัญญาณดจิ ทิ ัลเพียงเสน้ เดียวในการเช่ือมต่อแบบ?
ก. บติ อนุกรมสองทิศทาง (serial data, bi-directional)
ข. บติ อนุกรมหนึ่งทศิ ทาง (serial data, one-directional)
ค. บิตผสมสองทิศทาง (serial data, bi-directional)
ง. บิตขนานสองทิศทาง (serial data, bi-directional)
จ. ไม่มขี อ้ ถูก
5. ค่า RH (Relative Humidity) ทอ่ี ่านไดค้ ืออะไร?
ก. ความชืน้ สมั พนั ธ์
ข. ความชนื้ สัมพัทธ์
ค. ความช้ืนสมั ประสิทธิ์
ง. ความชืน้ สมั ผัส
จ. ความชนื้ สัมฤทธ์ิ
หน่วยที่ 9: การประยกุ ตใ์ ช้งานไมโครคอนโทรลเลอร์กบั ไอซตี รวจวัดอุณหภูมิและโมดลู ตรวจจบั สญั ญาณอนิ พตุ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 193
6. โมดลู DHT11 ใชแ้ รงดันไฟเลี้ยงเท่าใด?
ก. 3.0V ถึง 5.0V
ข. 3.5V ถงึ 5.5V
ค. 4.5V ถึง 6.5V
ง. 5.0V ถึง 7.5V
จ. 5.0V ถึง 5.5V
7. โมดลู DHT11 มีช่วงค่าความช้ืน คอื ?
ก. 20 ถึง 90%RH
ข. 0 ถึง 90%RH
ค. 10 ถึง 90%RH
ง. -10 ถึง 90%RH
จ. -1 ถึง 90%RH
8. โมดูลตรวจจบั สัญญาณอนิ พตุ HC-SR04 ใช้คลืน่ อะไร?
ก. คลนื่ อลั ตรา้ ซูมเมอร์
ข. คลื่นอลั ตรา้ ไวโอเลต
ค. คลนื่ อัลตร้าบีม
ง. คล่ืนอลั ตร้าโซนิค
จ. คลื่นอัลตร้าซาวน์
9. โมดลู HC-SR04 ใช้คลื่นเสียงความถป่ี ระมาณ?
ก. 10kHz
ข. 20kHz
ค. 30kHz
ง. 40kHz
จ. 50kHz
10. โมดลู HC-SR04 ชว่ งการวดั ระยะทาง?
ก. 4cm – 4m
ข. 1cm – 4m
ค. 2cm – 6m
ง. 3cm – 6m
จ. 4cm – 4m
หน่วยท่ี 9: การประยกุ ตใ์ ชง้ านไมโครคอนโทรลเลอรก์ บั ไอซีตรวจวัดอณุ หภูมแิ ละโมดลู ตรวจจบั สญั ญาณอินพตุ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 194
การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กบั ไอซีตรวจวดั อณุ หภมู ิ
และโมดูลตรวจจบั สัญญาณอนิ พตุ
ตวั ตรวจจบั อุณหภมู ิและความช้ืนสัมพัทธ์ เป็นเซนเซอร์วัดอุณหภูมแิ ละความช้ืนสัมพัทธ์แบบ
ดิจิทัล นิยมนามาใช้ในการควบคุมท่ีมีการตรวจจับอุณหภูมิและความชื้นท่ีแสดงผลออกมาในรูปแบบ
ของตัวเลข เพื่อให้ทราบถึงอุณหภูมิและความช้ินท่ีตรวจจับได้ หน่วยการเรียนน้ีจะกล่าวถึงโมดูล
เซนเซอร์ตรวจจับอุณหภูมิและความช้ืน DHT11 และ DHT22 การเชื่อมต่อเข้ากับไมโครคอนโทรลเลอร์
และการใช้โมดูล DHT11 และ DHT22 ในการตรวจจับอุณหภูมิและความช้ืนแล้วแสดงค่าที่
จอแสดงผลแบบ Digit Tube การเชื่อมต่อของโมดูลด้วยสัญญาณเพียงเส้นเดียวแบบสองทิศทาง
(bidirectional) ใช้แรงดันไฟเล้ียงได้ในช่วง 3.3V ถึง 5.2V สามารถวัดค่าอุณหภูมิได้ในช่วง -40 ถึง
80°C ความละเอียดในการวัดอณุ หภูมิและความชืน้ คือ 0.5°C และ 0.1%RH
รูปท่ี 9.1 โมดูลวัดอุณภูมิ ความชืน้ และโมดูลตรวจจบั สญั ญาณอนิ พตุ
9.1 โมดูลวดั อณุ หภมู ิและความช้ืน DHT11
เซนเซอร์วดั อุณหภมู ิและความช้นื สัมพัทธแ์ บบดจิ ทิ ัลโมเดล DHT11 เป็นเซนเซอรว์ ดั อณุ หภูมิ
และความช้ืนสัมพัทธ์แบบดิจิทัล และเชื่อมต่อด้วยสัญญาณเพียงเส้นเดียวแบบสองทิศทาง
(bidirectional) ใช้แรงดันไฟเล้ียงได้ในช่วง 3.5V ถึง 5.5V สามารถวัดค่าอุณหภูมิได้ในช่วง 0 ถึง
60°C และค่าความช้ืนอยู่ในช่วง 20 ถึง 90%RH ความละเอียดในการวัดอุณหภูมิและความชื้น คือ
1°C และ 1%RH และมีความแมน่ ยา ±2°C และ ±5%RH ตามลาดับ
หนว่ ยที่ 9: การประยกุ ตใ์ ช้งานไมโครคอนโทรลเลอร์กับไอซีตรวจวัดอณุ หภูมิและโมดูลตรวจจบั สญั ญาณอนิ พตุ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 195
รูปท่ี 9.2 โมดูลวดั อุณหภูมแิ ละความชืน้ DHT11
9.2 โมดูลวดั อณุ หภมู ิและความชน้ื DHT22/AM2302
อุปกรณ์เซนเซอร์สาหรับวัดอุณหภูมิและความชื้นสัมพัทธ์ (Temperature & Relative
Humidity Sensor) เป็นอุปกรณ์ท่ีสามารถนามาประยุกต์ใช้งานทางด้านระบบสมองกลฝังตัวได้
หลากหลาย เช่นการวัดและควบคุมอุณหภูมิและความชื้น ระบบบันทึกข้อมูลเกี่ยวกับอุณหภูมิและ
ความชื้นในห้อง เป็นต้น อุปกรณ์ประเภทน้ีแตกต่างกันตามผู้ผลิต ราคา ความแม่นยา ความละเอียด
ในการวดั และการให้ค่าแบบดจิ ิทลั หรอื แบบแอนนาล็อก เปน็ ต้น
รปู ท่ี 9.3 โมดลู วดั อณุ หภมู ิและความชน้ื DHT22 / AM2302
9.3 การเชื่อมตอ่ ไมโครคอนโทรลเลอร์กบั โมดลู ตรวจวดั อณุ หภูมิ
9.3.1 การเชอ่ื มต่อไมโครคอนโทรเลอร์กบั โมดลู ตรวจวัดอุณภูมิ
การเชื่อมต่อไมโครคอนโทรลเลอร์กับโมดูลวัดอุณหภูมิและความช้ืน DHT11ใช้ขา
เชื่อมต่อเพียง 3 ขา ได้แก่ VCC, GND และ SDA (Serial Data) ในการอ่านข้อมูลแต่ละครั้ง จะอ่าน
ข้อมูลทั้งหมด 40 บิต แบ่งเป็น 16 บิตสาหรับค่าความช้ืน 16 บิตสาหรับค่าอุณหภูมิ และ 8 บิต
สาหรับตรวจสอบค่า Parity Bits เพ่ือดูว่าอ่านค่าได้ถกู ต้องหรือไม่ โดย Arduino Sketch เพ่ืออ่านค่า
จากเซนเซอร์ดังกลา่ ว และนาคา่ ทีไ่ ดม้ าแสดงผล
หน่วยท่ี 9: การประยุกตใ์ ช้งานไมโครคอนโทรลเลอร์กบั ไอซีตรวจวัดอุณหภูมแิ ละโมดลู ตรวจจบั สญั ญาณอินพตุ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 196
รูปที่ 9.4 การเช่อื มต่อไมโครคอนโทรลเลอร์กับโมดลู ตรวจวดั อุณภูมิ DHT11
ท่ีมา : https://www.thaieasyelec.com
ตารางที่ 9.1 หน้าท่ีขาสัญญาณของโมดลู DHT11
ขา สญั ลักษณ์ คาอธบิ าย
1 + ต่อไฟเลี้ยงให้กับโมดูลขนาด +3.5 ถงึ +5.5 VDC
2 OUT อา่ นข้อมูล
3 - ตอ่ ลงกราวน์
9.3.2 การเช่ือมตอ่ ไมโครคอนโทรเลอร์กับโมดลู ตรวจวดั อุณภมู ิ DHT22
การเชื่อมต่อไมโครคอนโทรลเลอร์กับการทดลองใช้งานโมดูล DHT22 / AM2302 ซ่ึง
มีราคาถูก ให้ค่าเป็นแบบดิจิทัล ใช้ขาสัญญาณดิจิทัลเพียงเส้นเดียวในการเช่ือมต่อแบบบิตอนุกรม
สองทิศทาง (Serial Data, Bi-Directional) ดังรูปที่ 9.5 โดยนามาเช่ือมต่อกับไมโครคอนโทรลเลอร์
เพ่อื อ่านคา่ จากเซนเซอร์ดงั รูปที่ 9.6
รูปท่ี 9.5 แสดงลาดับของข้อมูลบติ ในการอ่านค่าจากไอซีท้ังหมด
ทีม่ า : http://cpre.kmutnb.ac.th
รปู ที่ 9.6 การเชอื่ มตอ่ ไมโครคอนโทรลเลอร์กบั โมดลู ตรวจวดั อุณภูมิ DHT22
ที่มา : https://www.thaieasyelec.com
หนว่ ยที่ 9: การประยุกต์ใชง้ านไมโครคอนโทรลเลอรก์ ับไอซีตรวจวดั อุณหภูมแิ ละโมดูลตรวจจบั สญั ญาณอินพุต
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 197
ตารางท่ี 9.2 หนา้ ที่ขาสญั ญาณของโมดลู DHT22
ขา สญั ลกั ษณ์ คาอธิบาย
1 + ต่อไฟเลยี้ งให้กับโมดูลขนาด +3.3 ถึง +6 VDC
2 OUT อ่านข้อมลู
3 - ตอ่ ลงกราวน์
การอ่านข้อมูลจากไอซีน้ันจะใช้ขาสัญญาณเพียงเส้นเดียวคือ DATA (หรือ SDA) แบบสองทิศทาง
และในสถานะปรกติสัญญาณ DATA จะเป็น HIGH ในการอ่านข้อมลู แต่ละครั้ง ไมโครคอนโทรลเลอร์
จะต้องกาหนดให้ขา DATA เป็นเอาต์พุต และสร้างบิต START ซึ่งจะต้องเป็น LOW อย่างน้อย 800
µsec จากนั้นจึงให้เป็น HIGH อย่างนอ้ ย 20 µsec หลงั จากนน้ั เป็นการรอการตอบกลับ (Response)
และจากไอซขี า DATA จะถูกต้องเปล่ยี นเป็นอินพุต
เร่ิมต้นของการตอบกลับไอซี จะดงึ สัญญาณลงเป็น LOW และปล่อยให้เปน็ HIGH ช่วงละ
80 µsec โดยประมาณ (เรียกว่า Response Bit) จากนั้นจึงจะเป็นการส่งข้อมูลทีละบิต รวม 40 บิต
(ช่วง LOW ตามด้วยช่วง HIGH) ช่วง LOW ของแต่ละบิต จะกว้างเท่ากัน แต่จะต่างกันในช่วง HIGH
สาหรบั บติ ทมี่ ีค่าเปน็ 0 หรือ 1 (ใช้ความกว้างช่วง HIGH ในการจาแนกคา่ ของบติ )
รปู ที่ 9.7 แสดงลาดบั ของข้อมลู บติ ในการอ่านค่าจากไอซีและความกว้างของช่วง LOW และ HIGH
ทีม่ า : http://cpre.kmutnb.ac.th
9.4 การอา่ นขอ้ มูลจากโมดูลวดั อุณหภมู ิและความช้นื DHT11/DHT22
การติดตั้งไลบรารี่และการเขียนโปรแกรมให้ไมโครคอนโทรลเลอร์อ่านข้อมูลกับโมดูลวัดอุณหภูมิ
และความชื้นดว้ ยโมดลู ตรวจวดั อณุ หภมู ิ DHT11 และ DHT22
9.4.1 ไลบรารส่ี าหรบั โมดลู DHT11 / DHT22
สาหรับคาสั่งท่ีใช้ในการติดต่อกับโมดูล DHT ของ Arduino แบบ 1-wire มีไลบราร่ีมาให้ใช้
งานได้อย่างสะดวกมากย่ิงข้ึน ขั้นตอนแรกคือการติดตั้งไลบรารี่ DHT โดยสามารถดาวน์โหลดได้จาก
อินเทอร์เน็ต หรือสามารถค้นหาได้จากเมนู Sketck>Include Library>Manage Libraries จากนั้น
ค้นหาคาวา่ “DHT” และติดต้งั ใหเ้ รยี บรอ้ ยเพอ่ื ใหง้ ่ายต่อการเรยี กใช้ Library โดยมีฟังกช์ น่ั ดังน้ี
ตวั อยา่ งการใช้งานไลบรารีช่ ่ือ DHT.h
ฟังกช์ ่นั #define DHTPIN 2 ใชก้ าหนดขาในการเรยี กอา่ นคา่ สญั ญาณ
หนว่ ยที่ 9: การประยกุ ตใ์ ชง้ านไมโครคอนโทรลเลอร์กับไอซตี รวจวัดอุณหภูมแิ ละโมดูลตรวจจบั สญั ญาณอินพตุ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 198
ฟังกช์ น่ั DHTTYPE สาหรบั ไลบรารต่ี ัวนสี้ ามารถเลือกใชง้ านชนดิ โมดูลจากโปรแกรม
ตวั อยา่ งดว้ ยการ Uncomment ชนดิ ทเี่ ลือกใช้งานเช่อื มตอ่ กบั คอนโทรลเลอร์
//#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
ฟังกช์ น่ั DHT dht(DHTPIN, DHTTYPE); กาหนดชอื่ dht ในการเรียกใช้ฟงั ก์ชั่นและต้ังค่า
ฟังก์ชั่น dht.begin(); ใช้เรยี กการเริม่ ตน้ ในการใช้งานติดตอ่ กับโมดลู DHT
ฟงั กช์ ั่น dht.readHumidity(); อ่านค่าความชนื้ จากโมดลู
ฟงั กช์ ั่น dht.readTemperature(); อา่ นค่าอุณหภูมจิ ากโมดูล
9.4.1 โปรแกรมอ่านขอ้ มูลจากโมดลู DHT11/DHT22
สาหรบั หวั ขอ้ นี้เป็นการเขยี นโปรแกรมแสดงขอ้ ความออกพอรต์ อนกุ รมและออกจอแสดงผล
7-Segment แบบ 4digit ดงั ตวั อย่างโปรแกรมท่ี 9.1 และ โปรแกรมที่ 9.2 ตามลาดับ
ตัวอยา่ งโปรแกรมที่ 9.1
รปู ที่ 9.8 โปรแกรมแสดงคา่ อุณหภูมิและความช้นื จากโมดูล DHT22 ออกพอร์ตอนกุ รม
ผลการรันโปรแกรมไมโครคอนโทรลเลอร์จะทาการส่งข้อมูลออกไปยังพอร์ตอนุกรม โดยจะ
แสดงข้อความคา่ อณุ หภูมแิ ละความชื้นจากโมดลู แสดงดังรูปท่ี 9.9
หน่วยที่ 9: การประยกุ ตใ์ ช้งานไมโครคอนโทรลเลอร์กบั ไอซีตรวจวัดอุณหภูมิและโมดูลตรวจจบั สญั ญาณอนิ พตุ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 199
รูปท่ี 9.9 ผลการรนั โปรแกรมแสดงคา่ อุณหภมู แิ ละความชื้นจากโมดูล DHT22
ตวั อย่างโปรแกรมที่ 9.2
รปู ที่ 9.10 โปรแกรมอา่ นค่าอุณหภูมแิ ละความชืน้ จากโมดลู DHT22
แสดงคา่ บนจอแสดงผล Digit Tube
หนว่ ยที่ 9: การประยุกตใ์ ช้งานไมโครคอนโทรลเลอร์กบั ไอซตี รวจวัดอุณหภมู ิและโมดูลตรวจจบั สญั ญาณอินพตุ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 200
ผลการรันโปรแกรมไมโครคอนโทรลเลอร์จะทาการส่งข้อมูลออกไปยังจอแสดงผล Digit
Tube โดยจะส่งค่าอุณหภูมิตาแหน่งท่ี 0 และ 1 ออกหน้าจอ Digit Tube จากนั้น POINT_ON
กระพริบ 10 คร้ัง หลังจากนั้นแสดงค่าความช้ืนและค้างไว้ 2 วินาที เม่ือครบตามจานวนจะล้างหน้าจอ
แลว้ เรม่ิ โปรแกรมใหม่ไปเรือ่ ย ๆ
รูปที่ 9.11 ผลการรนั โปรแกรมแสดงค่าอณุ หภูมิและความชื้นจากโมดูล
DHT22 แสดงค่าบนโมดูล Digit Tube
9.5 โมดูลตรวจจับสัญญาณอินพุต
โมดูลสาหรับวัดระยะห่างด้วยคล่ืนอัลตราโซนิค มีให้เลือกใช้งานแตกต่างกันไปแล้วแต่ผู้ผลิต
คณุ ภาพ และราคา มีราคาถกู ไมก่ ่รี ้อยบาท ไปจนถึงราคาเปน็ พันบาท สามารถนาไปใชป้ ระยุกต์ใชง้ าน
ได้ เชน่ การตรวจจบั ส่ิงกีดขวางสาหรับหนุ่ ยนตเ์ คลื่อนที่ หนว่ ยการเรียนน้ีจะกล่าวถงึ การทดลองใชง้ าน
โมดูล HC-SR04 และ US-015วัดระยะห่างด้วยคล่ืนอัลตร้าโซนิค ร่วมกับบอร์ดไมโครคอนโทรลเลอร์
ในลกั ษณะเป็นโมดูลตรวจจับสัญญาณอนิ พุตแบบหนึ่ง การทางานของโมดูลอัลตรา้ โซนคิ จะอาศัยการ
ส่งคลื่นเสียงความถ่ีสูงออกไปประมาณ 40kHz และจับเวลาในการเดินทางของคลื่นเสียงเมื่อไปและ
กลบั มาหลงั จากสะท้อนวตั ถุกดี ขวาง
รปู ที่ 9.12 โมดลู ตรวจจบั สัญญาณอินพุต
หนว่ ยท่ี 9: การประยุกต์ใชง้ านไมโครคอนโทรลเลอรก์ บั ไอซีตรวจวัดอณุ หภูมิและโมดลู ตรวจจบั สญั ญาณอนิ พุต
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 201
9.5.1 หลกั การทางานของโมดลู วดั ระยะหา่ งด้วยคลน่ื อัลตร้าโซนิค
โมดูล HC-SR04 เป็นอุปกรณ์อิเล็กทรอนิกส์ราคาถูก สาหรับวัดระยะห่างด้วยคล่ืนอัล
ตราโซนิค (ใช้คล่ืนเสียงความถี่ ประมาณ 40kHz) มีสองส่วนหลักคือ ตัวส่งคล่ืนท่ีทาหน้าที่สร้างคล่ืน
เสียงออกไปในการวัดระยะแต่ละคร้ัง ("Ping") แล้วเมื่อไปกระทบวัตถุหรือส่ิงกีดขวาง คล่ืนเสียงถูก
สะท้อนกลับมายังตัวรับแล้วประมวลผลด้วยวงจรอิเล็กทรอนิกส์ภายในโมดูล ถ้าจับเวลาในการ
เดินทางของคล่ืนเสียงในทิศทางไปและกลับ และถ้าทราบความเร็วเสียงในอากาศ ก็จะสามารถคานวณ
ระยะหา่ งจากวัตถกุ ีดขวางได้
ขอ้ มลู เชิงเทคนิคของโมดลู HC-SR04
- ใช้แรงดนั ประมาณ +5V
- กนิ กระแสประมาณ 15mA
- ชว่ งการวดั ระยะทาง (measurement range): ประมาณ 4 เซนตเิ มตร ถึง 4 เมตร
- ความกว้างเชิงมุมในการวดั (measuring angle): 15 องศา
- ความกวา้ งของสัญญาณ Pulse สาหรับ Trigger: 10 usec
- ระดับแรงดันลอจกิ สาหรบั ขา TRIG และ ECHO: 5V TTL
รปู ที่ 9.13 โมดูล HC-SR04
ท่ีมา : https://www.banggood.com
ปัจจุบันโมดูลตรวจจับสัญญาณอินพุตสาหรับวัดระยะห่างด้วยคลื่นอัลตราโซนิคแต่ละรุ่น
มหี ลกั การทางานเดียวกันต่างกนั ตรงความแม่นยา ระยะ และมมุ ในการตรวจวัดซ่ึงส่งผลต่อราคาโมดูล
ท่ีสูงข้ึนตาม ซง่ึ ทาใหผ้ ใู้ ชส้ ามารถเลอื กใช้ให้เหมาะสมกบั โครงงาน
9.6 การเช่อื มต่อไมโครคอนโทรเลอรก์ บั โมดลู ตรวจจบั สัญญาณอนิ พุต
สาหรับการเช่ือมต่อไมโครคอนโทรลเลอร์ร่วมกับโมดูลตรวจจับสัญญาณอินพุต HC-
SR04 ทางานท่ีแรงดันประมาณ +5V (4.5V ถึง +5.5V) โดยป้อนให้ขา VCC และ GND โมดูลนี้
มีขาสัญญาณดิจิทลั TRIG (อินพุต) และ ECHO (เอาต์พุต) ท่ีนาไปเชื่อมต่อกับไมโครคอนโทรลเลอร์ได้
อย่างเช่น บอร์ด Arduino Uno R3 ในการวัดระยะห่างแต่ละคร้ัง จะต้องสร้างสัญญาณแบบ Pulse
หน่วยท่ี 9: การประยุกต์ใชง้ านไมโครคอนโทรลเลอรก์ ับไอซีตรวจวดั อุณหภูมิและโมดูลตรวจจบั สญั ญาณอินพุต
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 202
ที่มีความกว้าง (Pulse Width) อย่างน้อย 10 usec ป้อนให้ขา TRIG และหลังจากน้ันให้วัดความ
กว้างของสัญญาณช่วง HIGH จากขา ECHO ถ้าวัตถุอยู่ใกล้ ความกว้างของสัญญาณ Pulse ที่ได้ก็
จะนอ้ ย แต่ถ้าวัตถุอยู่ไกลออกไป ก็จะได้คา่ ความกว้างของสัญญาณ Pulse ท่มี ากขน้ึ การเลอื กใชง้ าน
โมดูลประเภทน้ี มีประเด็นที่สาคัญ เช่นช่วงระยะห่างของการวัด ความกว้างของมุมเมื่อคล่ืนเสียง
เดินทางออกไปจากตัวส่ง (เรียกว่า Beam Angle) นอกจากนั้นการสะท้อนกลับของคล่ืนเสียงที่วัตถุ
กดี ขวาง ขนาดและรปู ทรงของวัตถุ และการสะท้อนกลับของเสยี งจากหลายทิศทาง หรือต่างระยะกัน
กม็ ีผลต่อความถูกต้องหรือความผิดพลาดในการวัดค่าระยะหา่ งไดเ้ ช่นกัน
รูปท่ี 9.14 การเชื่อมต่อไมโครคอนโทรลเลอร์กับโมดลู ตรวจจบั สัญญาณอินพุต
ท่มี า : http://vinduino.blogspot.com
9.6 การเชอ่ื มตอ่ ไมโครคอนโทรลเลอร์กับโมดูลตรวจจับสัญญาณอินพตุ
สาหรับการเชื่อมต่อไมโครคอนโทรลเลอร์ร่วมกับโมดูลตรวจจับสัญญาณอินพุต HC-SR04
ทางานที่แรงดันประมาณ +5V (4.5V ถึง +5.5V) โดยป้อนให้ขา VCC และ GND โมดูลนมี้ ีขาสญั ญาณ
ดิจิทัล TRIG (อินพุต) และ ECHO (เอาต์พุต) ท่ีนาไปเชื่อมต่อกับไมโครคอนโทรลเลอร์ได้ อย่างเช่น
บอร์ด Arduino Uno R3 ในการวัดระยะห่างแต่ละคร้ัง จะต้องสร้างสัญญาณแบบ Pulse ท่ีมีความ
กว้าง (Pulse Width) อย่างน้อย 10 usec ป้อนให้ขา TRIG และหลังจากน้ันให้วัดความกว้างของ
สัญญาณช่วง HIGH จากขา ECHO ถ้าวัตถุอยู่ใกล้ ความกว้างของสัญญาณ Pulse ท่ีได้ก็จะน้อย แต่
ถ้าวัตถุอยู่ไกลออกไป ก็จะได้ค่าความกว้างของสัญญาณ Pulse ท่ีมากข้ึน การเลือกใช้งานโมดูล
ประเภทน้ี มีประเด็นที่สาคัญ เช่นช่วงระยะห่างของการวัด ความกว้างของมุมเม่ือคล่ืนเสียงเดินทาง
ออกไปจากตัวส่ง (เรียกว่า Beam Angle) นอกจากน้ันการสะท้อนกลับของคลื่นเสียงที่วัตถุกีดขวาง
ขนาดและรูปทรงของวัตถุ และการสะท้อนกลับของเสียงจากหลายทิศทาง หรือต่างระยะกัน ก็มีผล
ตอ่ ความถูกต้องหรอื ความผิดพลาดในการวัดค่าระยะห่างไดเ้ ช่นกนั
หน่วยท่ี 9: การประยกุ ตใ์ ชง้ านไมโครคอนโทรลเลอร์กบั ไอซตี รวจวดั อุณหภมู แิ ละโมดลู ตรวจจบั สญั ญาณอนิ พุต
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 203
รูปที่ 9.14 การเชื่อมต่อไมโครคอนโทรลเลอร์กับโมดลู ตรวจจับสญั ญาณอินพุต
ที่มา : http://vinduino.blogspot.com
9.7 การเขียนโปรแกรมตดิ ตอ่ กบั โมดูลตรวจจบั สัญญาณอินพุต
การเขียนโปรแกรมเพื่อให้ไมโครคอนโทรลเลอร์ติดต่อกับโมดูลตรวจจับสัญญาณอินพุต
โปรแกรมนี้เป็นการให้ไมโครคอนโทรลเลอร์ส่งสัญญาณ Pulse ความกว้างอย่างน้อย 10 usec
ออกไปท่ีขาเอาต์พุต TRIG จากนั้นจึงวัดความกว้างของสัญญาณ Pulse ท่ีเป็นอินพุตจากขา ECHO
โดยใช้คาสั่ง pulseIn(); ซ่ึงเป็นคาสั่งของไมโครคอนโทรลเลอร์ และจะได้ค่าเป็นจานวนเต็ม (หน่วย
เป็นไมโครวินาที) จากน้ันนาค่าท่ีได้มาคานวณเป็นระยะทาง (หน่วยเป็นมิลลิเมตร) ในกรณีท่ีได้ค่า
มากกว่า 4000 (เกิน 4m หรือ 400cm) จะทาการวัดค่าใหม่ จนกว่าจะได้ค่าระยะห่างไม่เกิน 4000
เม่ือได้ค่าที่ถูกต้อง จะแสดงค่าทาง Serial แล้วเว้นระยะเวลาประมาณ 300 msec (0.3 วินาที) แล้ว
ทาข้นั ตอนซ้า
ตัวอย่างโปรแกรมท่ี 9.3
รูปที่ 9.15 โปรแกรมการอ่านคา่ ระยะหา่ งจากโมดูลตรวจจับสัญญาณอนิ พุต
แสดงคา่ ออกทางพอรต์ อนุกรม
หน่วยที่ 9: การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอรก์ ับไอซตี รวจวัดอุณหภมู แิ ละโมดูลตรวจจบั สญั ญาณอนิ พตุ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 204
ตัวอยา่ งโปรแกรมท่ี 9.4
รปู ท่ี 9.16 โปรแกรมการอ่านค่าระยะหา่ งจากโมดลู ตรวจจับสัญญาณอินพตุ
แสดงค่าออกทาง Digit Tube
หนว่ ยที่ 9: การประยุกตใ์ ชง้ านไมโครคอนโทรลเลอรก์ บั ไอซตี รวจวัดอุณหภูมิและโมดลู ตรวจจบั สญั ญาณอินพตุ
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 205
แบบทดสอบหลงั เรยี น
หนว่ ยท่ี 9 การประยุกต์ใชง้ านไมโครคอนโทรลเลอร์กบั ไอซี
ตรวจวัดอณุ หภมู แิ ละโมดลู ตรวจจบั สญั ญาณอินพุต
คำสงั่ จงเลอื กคาตอบทถี่ ูกทส่ี ุดเพียงข้อเดยี ว
1. โมดลู DHT11 เป็นเซนเซอร์วดั วัดอุณหภูมแิ ละความช้ืนสัมพทั ธแ์ บบใด?
ก. ขนาน
ข. แอนนาล๊อก
ค. ดจิ ิทัล
ง. อนกุ รม
จ. ไม่มขี ้อถูก
2. โมดูล DHT11 มขี าเช่ือมต่ออะไรบา้ ง?
ก. VCC, GND และ SDA
ข. VCC, GND และ SCA
ค. VCC, GND และ SCL
ง. VCC, GND และ SCK
จ. VCC, GND และ SLK
3. โมดลู DHT11 สามารถวัดค่าอุณหภูมิได้ในชว่ ง?
ก. 0 ถึง 50°C
ข. -20 ถงึ 60°C
ค. -10 ถึง 50°C
ง. 0 ถงึ 60°C
จ. 20 ถึง 50°C
4. DHT22 / AM2302 ขาสัญญาณดจิ ทิ ลั เพียงเส้นเดียวในการเชอื่ มต่อแบบ?
ก. บิตอนกุ รมสองทิศทาง (serial data, bi-directional)
ข. บิตอนุกรมหนึ่งทศิ ทาง (serial data, one-directional)
ค. บิตผสมสองทศิ ทาง (serial data, bi-directional)
ง. บิตขนานสองทิศทาง (serial data, bi-directional)
จ. ไม่มีขอ้ ถกู
5. ค่า RH (Relative Humidity) ท่ีอา่ นไดค้ ืออะไร?
ก. ความชื้นสมั พันธ์
ข. ความช้ืนสัมพทั ธ์
หนว่ ยท่ี 9: การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กบั ไอซตี รวจวัดอุณหภมู แิ ละโมดูลตรวจจบั สญั ญาณอินพตุ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 206
ค. ความชน้ื สมั ประสิทธิ์
ง. ความชน้ื สมั ผัส
จ. ความชน้ื สมั ฤทธิ์
6. โมดลู DHT11 ใช้แรงดันไฟเลีย้ งเท่าใด?
ก. 3.0V ถงึ 5.0V
ข. 3.5V ถงึ 5.5V
ค. 4.5V ถงึ 6.5V
ง. 5.0V ถึง 7.5V
จ. 5.0V ถงึ 5.5V
7. โมดลู DHT11 มชี ่วงคา่ ความช้นื คือ?
ก. 20 ถึง 90%RH
ข. 0 ถึง 90%RH
ค. 10 ถงึ 90%RH
ง. -10 ถงึ 90%RH
จ. -1 ถงึ 90%RH
8. โมดลู ตรวจจับสญั ญาณอินพตุ HC-SR04 ใชค้ ลน่ื อะไร?
ก. คลน่ื อลั ตรา้ ซมู เมอร์
ข. คลื่นอลั ตร้าไวโอเลต
ค. คล่ืนอัลตรา้ บมี
ง. คลน่ื อัลตร้าโซนิค
จ. คลื่นอลั ตรา้ ซาวน์
9. โมดูล HC-SR04 ใชค้ ลืน่ เสียงความถี่ประมาณ?
ก. 10kHz
ข. 20kHz
ค. 30kHz
ง. 40kHz
จ. 50kHz
10. โมดลู HC-SR04 ช่วงการวดั ระยะทาง?
ก. 4cm – 4m
ข. 1cm – 4m
ค. 2cm – 6m
ง. 3cm – 6m
จ. 4cm – 4m
หน่วยที่ 9: การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอร์กับไอซีตรวจวดั อุณหภมู ิและโมดลู ตรวจจบั สญั ญาณอินพตุ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 207
แบบฝกึ หัด
หนว่ ยที่ 9 การประยุกต์ใชง้ านไมโครคอนโทรลเลอร์กบั ไอซี
ตรวจวดั อณุ หภมู ิและโมดลู ตรวจจบั สัญญาณอินพุต
ตอนท่ี 1
คาสง่ั ใหผ้ ูเ้ รียนกาเคร่ืองหมายถกู ( ) หนา้ ข้อท่คี ิดวา่ ถกู และกาเครอ่ื งหมายผดิ ( )
ในขอ้ ท่คี ดิ วา่ ผิด
โมดลู DHT22 สามารถวดั คา่ อุณหภมู ิไดใ้ นชว่ ง -10 ถงึ 80°C
โมดลู DHT22 มีความละเอียดในการวัดอณุ หภมู ิและความชื้น คือ 0.5°C และ 0.1%RH
โมดลู DHT11 มคี วามละเอยี ดในการวัดอุณหภมู ิและความชน้ื คือ 1°C และ 1%RH
โมดูล DHT11 อา่ นข้อมูลแตล่ ะคร้ัง จะอ่านขอ้ มลู ทัง้ หมด 40 บติ แบ่งเปน็ 16 บิต
สาหรบั ค่าความชื้น 16 บติ สาหรับคา่ อุณหภูมิ
dht.readTemperature(); คอื คาส่ังสาหรบั อ่านค่าความอณุ หภูมิ
dht.readHumidity(); คือคาสัง่ สาหรบั อา่ นค่าความชน้ื
โมดลู HC-SR04 มีความกวา้ งเชิงมมุ ในการวัด (measuring angle): 10 องศา
ความกวา้ งของมุมเม่ือคล่ืนเสียงเดินทางออกไปจากตัวสง่ (เรียกวา่ Beam Angle)
การวัดความกว้างของสัญญาณ Pulse ทีเ่ ป็นอนิ พตุ จากขา ECHO โดยใช้คาสั่ง pulseIn();
สาหรบั โมดูล HC-SR04 สามารถวดั ค่ามากกว่า 4000 มลิ ลเิ มตร
หน่วยท่ี 9: การประยุกต์ใชง้ านไมโครคอนโทรลเลอรก์ ับไอซีตรวจวัดอุณหภูมแิ ละโมดูลตรวจจบั สญั ญาณอินพุต
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 208
ตอนท่ี 2
คาสง่ั ใหผ้ ้เู รียนทดลองการตดิ ต่อไมโครคอนโทรลเลอรก์ ับตรวจวัดอณุ หภูมิ และโมดลู ตรวจจบั
สญั ญาณอนิ พุต ดว้ ยบอรด์ Arduino Uno R3 โดยใช้เวลา 180 นาที
จุดประสงค์เชิงพฤตกิ รรม
1. สามารถอ่านขอ้ มลู จากโมดูลตรวจวัดอณุ หภูมิ ไดถ้ ูกตอ้ ง
2. สามารถอ่านขอ้ มูลจากโมดูลตรวจจบั สญั ญาณอินพุต ได้ถกู ตอ้ ง
3. สามารถแก้ปัญหาในการทางานของบอร์ด Arduino Uno R3 ได้
4. สามารถตอ่ ใช้งานและอัพโหลดโปรแกรมใหก้ ับบอร์ด Arduino Uno R3 ได้
อปุ กรณ์การทดลอง 1 โปรแกรม
1. โปรแกรม Arduino IDE 1 เสน้
2. สายโหลด USB Arduino Uno R3 1 บอรด์
3. บอร์ด Arduino Uno R3 1 ชุด
4. สายตอ่ วงจร 1 เครอื่ ง
5. เคร่อื งคอมพิวเตอร์ 1 ชดุ
6. โมดูลตรวจวัดอณุ หภมู ิและความชนื้ 1 ชดุ
7. โมดลู ตรวจจับสัญญาณอินพุต
การทดลองท่ี 9.1 การเชือ่ มตอ่ ไมโครคอนโทรเลอร์แสดงค่าอณุ หภูมแิ ละความช้นื ออกทาง
จอแสดงผล LCD
ขน้ั ตอนการทดลอง
1. เปิดโปรแกรม Arduino IDE
2. ตอ่ วงจรดงั รปู ท่ี 9.17
3. เขียนโปรแกรมและอัพโหลดโปรแกรม
รปู ท่ี 9.17 การเชอื่ มต่อบอรด์ Arduino ร่วมกบั โมดลู DHT22
สาหรับการทดลองที่ 9.1
หนว่ ยที่ 9: การประยกุ ต์ใช้งานไมโครคอนโทรลเลอรก์ บั ไอซตี รวจวดั อุณหภูมแิ ละโมดลู ตรวจจบั สญั ญาณอนิ พุต
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 209
Code
รปู ท่ี 9.18 โปรแกรมสาหรบั การทดลองที่ 9.1
ประเมนิ ผลการทดลอง 10 คะแนน
10 คะแนน
1. สามารถเขียนโปรแกรมและต่อวงจรได้ถูกต้อง ………………… คะแนน
2. สามารถทดสอบและอธิบายการทางานไดถ้ ูกต้อง
รวมคะแนนภาคปฏบิ ัติ
หน่วยท่ี 9: การประยกุ ตใ์ ชง้ านไมโครคอนโทรลเลอร์กบั ไอซตี รวจวดั อณุ หภมู แิ ละโมดูลตรวจจบั สญั ญาณอินพุต
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 210
การทดลองท่ี 9.2 การเชื่อมต่อไมโครคอนโทรเลอรก์ บั โมดลู DHT เพอื่ ควบคุมรเี ลย์
ขนั้ ตอนการทดลอง
1. เปดิ โปรแกรม Arduino IDE
2. ต่อวงจรดังรูปที่ 9.19
3. เขียนโปรแกรมและอัพโหลดโปรแกรม
รูปที่ 9.19 การเชื่อมต่อบอร์ด Arduino กบั โมดูล DHT เพื่อควบคมุ รเี ลย์
Code
รปู ท่ี 9.20 โปรแกรมสาหรับการทดลองที่ 9.2
หนว่ ยที่ 9: การประยกุ ตใ์ ชง้ านไมโครคอนโทรลเลอร์กับไอซีตรวจวดั อุณหภมู ิและโมดลู ตรวจจบั สญั ญาณอนิ พตุ
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 211
ประเมินผลการทดลอง 10 คะแนน
10 คะแนน
1. สามารถเขียนโปรแกรมและตอ่ วงจรได้ถูกตอ้ ง ……………… คะแนน
2. สามารถทดสอบและอธิบายการทางานได้ถูกต้อง
รวมคะแนนภาคปฏบิ ัติ
หนว่ ยที่ 9: การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับไอซตี รวจวดั อุณหภมู แิ ละโมดูลตรวจจบั สญั ญาณอินพุต
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 212
การทดลองท่ี 9.3 การเชื่อมต่อไมโครคอนโทรเลอร์กบั โมดูลตรวจจบั สัญญาณอินพตุ ออก
จอแสดงผล LCD
ขัน้ ตอนการทดลอง
1. เปดิ โปรแกรม Arduino IDE
2. ต่อวงจรดังรปู ท่ี 9.21
3. เขยี นโปรแกรมและอัพโหลดโปรแกรม
รปู ท่ี 9.21 การเชื่อมต่อบอร์ด Arduino ร่วมกบั โมดูลตรวจจับสญั ญาณอินพุต
สาหรับการทดลองท่ี 9.3
Code
รูปท่ี 9.22 โปรแกรมสาหรับการทดลองที่ 9.3
หน่วยท่ี 9: การประยุกตใ์ ช้งานไมโครคอนโทรลเลอร์กับไอซตี รวจวัดอุณหภูมิและโมดลู ตรวจจบั สญั ญาณอนิ พุต
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 213
ประเมนิ ผลการทดลอง 10 คะแนน
10 คะแนน
1. สามารถเขยี นโปรแกรมและต่อวงจรได้ถูกตอ้ ง ………………… คะแนน
2. สามารถทดสอบและอธบิ ายการทางานได้ถูกต้อง
รวมคะแนนภาคปฏิบตั ิ
หนว่ ยท่ี 9: การประยุกต์ใช้งานไมโครคอนโทรลเลอรก์ ับไอซีตรวจวดั อุณหภูมแิ ละโมดูลตรวจจบั สญั ญาณอินพุต
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 214
เฉลยแบบทดสอบก่อนเรียน
หนว่ ยที่ 9 การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กบั ไอซีตรวจวดั อุณหภมู ิ
และโมดลู ตรวจจบั สญั ญาณอนิ พุต
1. ค 2. ก 3. ง 4. ก 5. ข
6. ข 7. ก 8. ง 9. ง 10. ก
เฉลยแบบทดสอบหลงั เรยี น
หนว่ ยที่ 9 การประยุกต์ใช้งานไมโครคอนโทรลเลอรก์ บั ไอซตี รวจวดั อณุ หภมู ิ
และโมดลู ตรวจจับสญั ญาณอินพตุ
1. ง 2. ค 3. ข 4. ค 5. ก
6. ก 7. ง 8. ข 9. ก 10. ง
เฉลยแบบฝึกหัด
หนว่ ยที่ 9 การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กบั ไอซตี รวจวัดอณุ หภูมิ
และโมดลู ตรวจจบั สญั ญาณอนิ พตุ
ตอนท่ี 1 ให้ผเู้ รยี นกาเคร่ืองหมายถูก ( ) หน้าขอ้ ท่คี ิดวา่ ถกู และกาเครื่องหมายผิด ( )
ในข้อทคี่ ิดวา่ ผิด
โมดูล DHT22 สามารถวัดค่าอุณหภมู ไิ ด้ในชว่ ง -10 ถึง 80°C
โมดูล DHT22 มคี วามละเอียดในการวดั อุณหภูมแิ ละความช้นื คือ 0.5°C และ
0.1%RH
โมดูล DHT11 มคี วามละเอียดในการวัดอุณหภมู ิและความชืน้ คอื 1°C และ 1%RH
โมดลู DHT11 อา่ นข้อมูลแตล่ ะครงั้ จะอ่านข้อมูลทั้งหมด 40 บิต แบ่งเปน็ 16 บิต
สาหรับค่าความชน้ื 16 บิตสาหรบั ค่าอุณหภูมิ
dht.readTemperature(); คือคาสงั่ สาหรบั อ่านคา่ ความอุณหภูมิ
dht.readHumidity(); คอื คาส่งั สาหรับอา่ นคา่ ความชน้ื
โมดูล HC-SR04 มคี วามกวา้ งเชิงมมุ ในการวดั (measuring angle): 10 องศา
ความกว้างของมมุ เมื่อคล่ืนเสียงเดินทางออกไปจากตวั สง่ (เรียกวา่ Beam Angle)
การวัดความกว้างของสญั ญาณ Pulse ทเ่ี ปน็ อนิ พุตจากขา ECHO โดยใชค้ าส่ัง
pulseIn();
สาหรับโมดลู HC-SR04 สามารถวัดค่ามากกวา่ 4000 มลิ ลิเมตร
หน่วยท่ี 9: การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอรก์ บั ไอซตี รวจวัดอุณหภูมิและโมดลู ตรวจจบั สญั ญาณอนิ พุต
205
บรรณานกุ รม
ทีมงานสมารท์ เลริ น์ นง่ิ . (2550). PIC Microcontroller learning by doing ด้วยภาษา C
กรุงเทพฯ : สมาร์ทเลริ ์นน่งิ .
กิตตชิ ัย ชีวาสขุ ถาวร. (2550). ภาษาซี ทลี ะกา้ ว
กรุงเทพฯ : เคทพี .ี
ทมี งานสมารท์ เลิร์นนงิ่ . (2552). เรียนรไู้ มโครคอนโทรลเลอร์ MCS-51 ดว้ ยภาษา C พรอ้ ม
โครงงาน. กรุงเทพฯ : สมารท์ เลิรน์ น่งิ .
ดอนสนั ปงผาบ. (2553). ไมโครคอนโทรลเลอร์และการประยุกต์ใชง้ าน = Microcontroller &
กรงุ เทพฯ : สมาร์ทเลริ ์นนง่ิ .
อรพนิ ประวตั ิบรืสิ ทุ ธิ์. (2552). คู่มือเรียนภาษาซี ฉบบั สมบรู ณ์
กรุงเทพฯ : โปรวิชนั่ .
ทมี งานสมารท์ เลริ ์นน่งิ . (2553). เรยี นรูไ้ มโครคอนโทรลเลอร์ PIC ดว้ ยภาษา Basic
กรุงเทพฯ : สมาร์ทเลริ น์ นิง่ .
อ.สมบรู ณ์ เนยี มกลา่ . คู่มอื ใบงาน PIC BASIC PRO. กรงุ เทพฯ:
โรงพิมพช์ มุ นมุ สหกรณก์ ารเกษตรแห่งประเทศไทย.
เดชฤทธ์ิ มณีธรรม, สาเริง เต็มราม. (2548). คัมภีรไ์ มโครคอนโทรลเลอร์ PIC.
สานกั พิมพ์ เคทพี ี
ประภาส พมุ่ พวง. (2561). การเขียนและการประยุกตใ์ ชง้ านโปรแกรม Arduino.
ซีเอด็ ยูเคช่ัน, บมจ.
ผศ.ดร. เดชฤทธ์ิ มณีธรรม. (2560). คัมภีรก์ ารใชง้ าน ไมโครคอนโทรลเลอร์ Arduino
ซีเอ็ดยเู คชน่ั , บมจ.
จักรี รัศมฉี าย. (2558). ทดลองและใชง้ านบอรด์ Arduino Uno R3 ด้วยโปรแกรม NI LabVIEW.
ทรปิ เพล้ิ เอด็ ดเู คช่นั , บจก.
เดชฤทธิ์ มณีธรรม. (2559). คมั ภีรก์ ารใช้งาน ไมโครคอนโทรลเลอร์ MCS-51.
ซเี อ็ดยเู คชัน่ , บมจ.
ดอนสัน ปงผาบ. (2553). ไมโครคอนโทรลเลอรแ์ ละการประยุกตใ์ ชง้ าน 1.
กรุงเทพฯ : สมาคมสง่ เสรมิ และเทคโนโลย(ี ไทย-ญี่ปนุ่ ).
Enrique Ramos Melgar. (2013). Arduino and Kinect Projects. Apress
Brian Evans. (2012). Beginning Arduino Programming. Apress