สภาพอากาศในห้อง: อุณหภูมิและความชื้นบนจอ LCD
โปรเจกต์ Temperature and Humidity LCD เป็นเหมือนพิธีเริ่มต้นสำหรับผู้เริ่มต้น Arduino ทุกคน มันช่วยให้ผู้สร้างเปลี่ยนจากการส่งข้อมูลดิบไปยัง Serial Monitor ที่มองไม่เห็น ไปเป็นการแสดงผลบนจอแสดงผลจริงแบบสแตนด์อะโลนที่สามารถวางบนโต๊ะได้

โปรโตคอลแบบสายเดี่ยว
DHT11 (หรือ DHT22 ที่แม่นยำกว่า) ดูเหมือนเป็นส่วนประกอบ 3-pin ที่เรียบง่าย แต่มันมีไมโครโปรเซสเซอร์ขนาดเล็กของตัวเองอยู่ภายใน!
- ต่างจาก Analog probe ที่ส่งออกแรงดันไฟฟ้าแบบแปรผัน DHT ใช้ Digital pulse train ที่เป็นกรรมสิทธิ์ของตัวเอง
- เมื่อใช้ไลบรารี
<DHT.h>Arduino จะส่งคำสั่งว่า "Send me the data." - เซ็นเซอร์ DHT จะส่งข้อมูลกลับมาเป็น Binary bits 40 บิต อย่างรวดเร็ว ซึ่งเข้ารหัสอุณหภูมิและความชื้นที่แม่นยำ ไลบรารีจะแยกวิเคราะห์ข้อมูลนี้ให้เป็น Floating-point numbers สองค่า:
24.5Cและ60.0%
การจัดรูปแบบจอแสดงผล LiquidCrystal
จอ LCD ขนาด 16x2 มาตรฐานต้องใช้ 6 Data pins (RS, EN, D4, D5, D6, D7) ขอแนะนำอย่างยิ่งให้ใช้ I2C backpack เพื่อลดจำนวนสายไฟเหลือเพียง 2 wiring pins!
- Arduino จะต้องจัดรูปแบบหน้าจออย่างแม่นยำเพื่อป้องกันการเกิด Ghosting
- แถวที่ 1:
lcd.setCursor(0,0); lcd.print("Temp: 24.5 C"); - แถวที่ 2:
lcd.setCursor(0,1); lcd.print("Humidity: 60 %"); - เคล็ดลับสำคัญ: คุณต้องอัปเดตหน้าจอทุกๆ 2000 มิลลิวินาทีเท่านั้น (
delay(2000);) เซ็นเซอร์ DHT11 ทางกายภาพทำงานช้ามาก และจะ Crash หากคุณเรียกขอข้อมูลอุณหภูมิมันหลายล้านครั้งต่อวินาที
สิ่งที่ต้องใช้
- Arduino Uno/Nano
- DHT11 or DHT22 Sensor
- 16x2 LCD Display (แนะนำอย่างยิ่งให้มี I2C Module)