Page 41 - เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น
P. 41
เอกสารประกอบการเรียนวิชาไมโครคอนโทรลเลอร์เบื้องต้น 8
รูปที่ 10.4 โมดูล DHT22 / AM2302
(ที่มา www.Cpre.kmutnb.ac.th/esl/learning/index.php?article)
ในการอ่านข้อมูลจากไอซีนั้น จะใช้ขาสัญญาณเพียงเส้นเดียวคือ DATA (หรือ SDA) แบบสองทิศทาง และ
ในสถานะปรกติสัญญาณ DATA จะเป็น HIGH ในการอ่านข้อมูลแต่ละครั้ง ไมโครคอนโทรลเลอร์จะต้องก าหนดให้
ขา DATA เป็นเอาต์พุต และสร้างบิต START ซึ่งจะต้องเป็น LOW อย่างน้อย 800 usec จากนั้นจึงให้เป็น HIGH
อย่างน้อย 20 μsec หลังจากนั้นเป็นการรอการตอบกลับ (Response) และจากไอซีขา DATA จะถูกต้อง
เปลี่ยนเป็นอินพุต
เริ่มต้นของการตอบกลับไอซี จะดึงสัญญาณลงเป็น LOW และปล่อยให้เป็น HIGH ช่วงละ 80 μsec
โดยประมาณ (เรียกว่า Response Bit) จากนั้นจึงจะเป็นการส่งข้อมูลทีละบิต รวม 40 บิต (ช่วง LOW ตามด้วยช่วง
HIGH) ช่วง LOW ของแต่ละบิต จะกว้างเท่ากัน แต่จะต่างกันในช่วง HIGH ส าหรับบิตที่มีค่าเป็น 0 หรือ 1 (ใช้ความ
กว้างช่วง HIGH ในการจ าแนกค่าของบิต)
รูปที่ 10.5 แสดงล าดับของข้อมูลบิตในการอ่านค่าจากไอซีทั้งหมด
(ที่มา www.Cpre.kmutnb.ac.th/esl/learning/index.php?article)
สองไบต์แรกส าหรับความชื้น สองไบต์ต่อมาส าหรับอุณหภูมิ และไบต์สุดท้ายเป็น Checksum หรือ Parity Bits
รูปที่ 10.6 แสดงล าดับของข้อมูลบิตในการอ่านค่าจากไอซีและความกว้างของช่วง LOW และ HIGH
(ที่มา www.Cpre.kmutnb.ac.th/esl/learning/index.php?article)
โปรแกรมที่ 10.1 Arduino Sketch 1
การอ่านค่าจากโมดูล DHT22 / AM2302 ด้วยบอร์ด Arduino แล้วน าค่าที่ได้แสดงผลผ่านทาง Serial
หน่วยที่ 10 การใช้งาน Arduino กับไอซีวัดอุณภูมิและโมดูลตรวจจับสัญญาณอินพุต เรียบเรียงโดยครูทันพงษ์ ภู่รักษ์