สวัสดีครับ มีพี่ จากจังหวัด อุบลราชธานี เข้ามาปรึกษา เกี่ยวกับการวัดอุณหภูมิ ด้วย Sensor DHT22 ต้องการแสดงบนหน้าจอแบบ Real Time และต้องการเก็บข้อมูลลง Database ทางร้านก็เลยเขียนบทความเกี่ยวกับการวัดอุณหภูมิ ความชื้น มาแสดงบนหน้าจอ LCD I2C แล้วกันน่ะครับ
ในโปรเจคนี้จะพูดถึงสอนการใช้งาน Nodemcu DHT22 แสดงค่าบน จอ LCD น่ะครับ โปรเจคนี้สามารถใช้ร่วมกับ Arduino ได้ทุกรุ่น ด้วยน่ะครับ
อุปกรณ์ชุดที่ 1 ใช้เป็น Nodemcu esp8266 V3
- Nodemcu (ทางร้านเลือก Nodemcu V3 + Shield 1.0 เพื่อให้เสียบสายไฟได้ง่าย)
- Sensor DHT22
- จอ แสดงข้อมูล LCD I2C 1602
- สายไฟ แบบ Female to Female
การต่อใช้งาน โดยใช้ Nodemcu V.3 + Shield 1.0
อุปกรณ์ชุดที่ 2 ใช้เป็น Arduino Uno R3
- Arduino Uno R3 พร้อมสาย USB
- Sensor DHT22
- จอ แสดงข้อมูล LCD I2C 1602
- สายไฟ แบบ Male to Female
การต่อใช้งาน โดยใช้ Arduino Uno R3
มาดู Code ตัวอย่างกันเลย
Download Library LCD I2C : //download.ab.in.th/download.php?file=Arduino-LiquidCrystal-I2C-library-master.zip
4.จะเห็นได้ว่า หัวข้อให้เลือกเยอะแยะไปหมด แต่ให้เลือก DHT sensor Library by Adafruit ตามรูปแล้วกด Install
5.เมื่อติดตั้งเสร็จแล้วกราฟด้านล่างจะหายไป
6.จากนั้นปิดหน้าต่าง Manager Library ลงไป และไปยังหน้าหลัก
7.จากนั้นเลือก File จากโปรแกรม Arduino IDE >> Example >> DHT sensor library
จะได้โปรแกรมดังภาพ
8. หลังจากนั้นไปแก้ไข โปรแกรม 2 จุดคือ
1. แก้ DHTPIN จาก 2 เป็น 32
2. แก้ DHTTYPE ให้เป็น DHT 11
9. หลังจากนั้น ก็โหลดโปรแกรมลงไปกันเลย โดยต้องเลือก Board ให้ตรงกับ ESP32 และ Comport ให้ตรงกับที่ใช้งาน
DHT11 และ DHT22 คือเซนเซอร์วัดความชื้นและอุณหภูมิในอากาศ สามารถนำไปประยุกต์ใช้งานได้หลากหลาย เช่น ตู้ฟักไข่ โรงเรือนปลูกผัก โรงเพาะเห็ด เป็นต้น นำไปใช้งานได้ง่าย รองรับแรงดันไฟฟ้า 3.3 และ 5V
DHT11
- อุณหภูมิ 0 ถึง 50 °C ความผิดพลาด ±2 °C
- ความชื้น 20 ถึง 80 % ความผิดพลาด ±5 %
DHT22
- อุณหภูมิ -40 ถึง 80 °C ความผิดพลาด ±0.5 °C
- ความชื้น 0 ถึง 100 % ความผิดพลาด ±5 %
เอกสารเพิ่มเติม
- DHT22 Datasheet
- DHT11 Datasheet
Library ที่ใช้งาน
- //github.com/adafruit/DHT-sensor-library
ตัวอย่างที่ 1
รายการอุปกรณ์
- Aduino UNO R3
- โมดูล DHT22 AM2302
- สายจั้มเปอร์
- Breadboard 400 holes
- 5mm LED Pack (เขียว,เหลือง,แดง)
- 330 Ohm
วิธีการต่อใช้งาน DHT22 AM2302 > Arduino UNO R3
- VCC(แดง) > 5V
- GND(ดำ) > GND
- DATA(เหลือง) > 4
***หากเป็นตัวธรรมดาให้ต่อความต้านทาน 10K Ohm ระหว่าง ขา 5V และ data
LED1 > Arduino UNO R3
- Anode(+) > 330R -> 2
- Cathode(-) > Gnd
LED2 > Arduino UNO R3
- Anode(+) > 330R -> 3
- Cathode(-) > Gnd
ตัวอย่างการใช้งาน
1.เปิด Serial monitor
2.เมื่อเซนเซอร์วัดค่าอุณหภูมิได้ 30 องศา หรือมากกว่า 30 องศา LED สีส้มสว่าง
3.เมื่อเซนเซอร์วัดค่าอุณหภูมิได้น้อยกว่า 30 องศา LED สีน้ำเงินสว่าง