มาเล่น ESP8266 DHT22 และจอ OLED กัน

เมื่อวานได้ลองเล่น DW.miniESP กับจอ OLED กันไปแล้ว ครั้งนี้ขอมัดรวมพ่วงกับ DHT22 เพื่อวัดอุณหภูมิและความชื้นด้วย ยังไม่ได้ส่งข้อมูลไปไหนนะครับ แค่ใช้อ่านและแสดงผลผ่านจอเท่านั้น เราสามารถใช้ library DHT22 ของ Adafruit ได้ เพียงแก้ไขตอน init dht เท่านั้นเอง

Continue reading มาเล่น ESP8266 DHT22 และจอ OLED กัน

มาเล่น NodeMCU กับ DHT22 กัน

ครั้งที่แล้วพาเล่น NodeMCU Devkit เบื้องต้นไปแล้ว ครั้งนี้มาลองต่อ sensor กันบ้าง เท่าที่หา sensor ได้มี DHT22 เอาไว้หากิน 1 ตัว DHT22 เป็น temperature sensor และ humidity sensor แบบดิจิตอลสามารถนำมาใช้งานร่วมกับ Devkit ได้ ซึ่งมีนักพัฒนาเขียน lua module เอาไว้ให้แล้ว มาต่อ DHT22 กับ NodeMCU ดังรูป

จากครั้งที่แล้ว NodeMCU จะเริ่มทำงานที่ไฟล์ init.lua ก่อนใช้เพื่อเชื่อมต่อ wifi เมื่อเชื่อมต่อได้แล้วจึงจะเรียก list.lua และ script.lua ทำงาน ถ้าไม่ใช้ wifi ก็เปลี่ยนชื่อไฟล์จาก script.lua เป็น init.lua ก็ได้
Continue reading มาเล่น NodeMCU กับ DHT22 กัน

มาเล่น Raspberry Pi กับ DHT22 กัน

ครั้งที่แล้ว blog เรื่อง Raspberry Pi B+ ที่ซื้อมากองไว้ แต่ช่วงนี้คงได้หยิบเอามาเล่นบ่อยมากขึ้น เพราะเด็กฝึกงานที่สำนักงานฯ ทำโครงงานสหกิจศึกษาเกี่ยวกับ Raspberry Pi ก็เลยมีแรงสนใจขึ้นมาบ้าง โดยส่วนตัวแล้วไม่ค่อยชอบ Raspberry Pi นัก เพราะมันเป็น computer ขนาดเล็กมากกว่า เอาเป็นว่าหยิบมาเล่นแล้วก็ลองมาทำอะไรสนุกๆ กันดูบ้าง ผมมี DHT22 เป็น temperature + humid sensor ในตัวเดียวกัน และที่สำคัญเป็น digital sensor ใช้งานกับ Raspberry Pi ได้โดยตรง ไม่ต้องแปลงข้อมูลอะไรมากนัก เรามาลองอ่านค่าจาก DHT22 กัน
DHT22 ใช้ไฟ 3.3-5V DC มี 4 ขา เราจะใช้ ขาที่ 1,2 และ 4 โดยต่อวงจรดังภาพ

จากภาพเราจะอ่านค่า temperature จาก GPIO4 ของ Raspberry Pi และเราจะใช้ Python Module สำหรับอ่านค่าจาก DHT22 ไว้ของ Adafruit Industry ก่อนอื่น compile python module นี้กันก่อน
apt-get update
sudo apt-get install build-essential python-dev
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python setup.py install
จากนั้นลองทดสอบ อ่านค่าอุณหภูมิดู
cd example
sudo ./AdafruitDHT.py 22 4
เราจะได้ค่าอุณหภูมิและความชื้นมา
Temp=30.8*C Humidity=66.7%
ลองเขียน code กันดูบ้าง

จากนั้นลอง run ดูจะได้ผลลัพท์ดังนี้