Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์(Microcontroller)

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์(Microcontroller)

Published by narumon.rup, 2021-05-28 13:31:05

Description: เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์(Microcontroller) รหัสวิชา 3105-2007

Search

Read the Text Version

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 176 ตวั อย่างโปรแกรมท่ี 8.4 รปู ท่ี 8.13 โปรแกรมการอา่ นคา่ ข้อมูลจาก RTC แสดงคา่ ออกทางจอแสดงผล LCD ผลการรันโปรแกรมอ่านค่าข้อมลู จาก RTC แสดงคา่ ปี เดือน และวัน แปลงค่าเปน็ เลขฐานสิบ ออกทางจอแสดงผล LCD หนว่ ยที่ 8 : การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี รา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 177 แบบทดสอบหลงั เรียน หน่วยท่ี 8 การประยุกต์ใช้งานไมโครคอนโทรลเลอร์ กับจอแสดงผลและไอซีสรา้ งฐานเวลาจรงิ คำสงั่ จงเลอื กคาตอบท่ีถกู ที่สดุ เพียงขอ้ เดยี ว 1. LCD ย่อมาจาก? ก. Light Crystal Display ข. Light Cathode Display ค. Liquid Crystal Diode ง. Liquid Crystal Display จ. Liquid Format Display 2. RTC ย่อมาจาก? ก. Real Timer Clock ข. Real Time Clock ค. Right Timer Cycle ง. Right Time Cycle จ. Right To Cover 3. จอแสดงผล LCD มกี ารสง่ ขอ้ มลู ออกทางบสั 2 แบบคือ? ก. แบบ 8 บติ และ แบบ 4 บิต ข. แบบ 4 บิต และ แบบ 4 บิต ค. แบบ 2 บิต และ แบบ 4 บิต ง. แบบ 1 บติ และ แบบ 4 บิต จ. แบบ 2 บติ และ แบบ 8 บิต 4. จอแสดงผล LCD ขา 7-14 (D0-D7) เป็นขาสาหรบั ? ก. จ่ายไฟเลยี้ งให้กบั จอ ข. เขยี น/อา่ นข้อมลู ระหวา่ งจอกับอุปกรณ์ภายนอก ค. แสดงสถานะการอา่ นของข้อมลู ง. แสดงสถานการณเ์ ขียนของขอ้ มูล จ. แสดงการนาเข้าข้อมูล 5. จอแสดงผล LCD ขนาด 16x2 หมายความว่า? ก. จอมขี นาด 16 x 2 เซนตเิ มตร ข. จอมีขนาด 16 x 2 นิว้ ค. จอมขี นาด 16 บรรทดั 2 ตวั อักษร ง. จอมีขนาด 16 ตวั อกั ษร 2 บรรทดั จ. ไม่มขี อ้ ใดถูก หนว่ ยท่ี 8 : การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี รา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 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


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook