หน้าแรก ดูโปรเจกต์ทั้งหมด
Intermediate

โปรเจกต์ ESP8266 Blynk Garage door และ climate sensor, wifi, phone app

ระบบ Garage door และ climate sensor ที่เชื่อมต่อกับ wifi โดยจะส่ง phone notifications เมื่อประตูเปิดหรือปิด

โปรเจกต์ ESP8266 Blynk Garage door และ climate sensor, wifi, phone app

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

รายการอุปกรณ์และเครื่องมือ

1x DHT22 Temperature Sensor
🛒 สั่งซื้อ
1x Soldering iron (generic)
-
1x Reed Switch, SPST-NO
🛒 สั่งซื้อ
1x Adafruit HUZZAH ESP8266 Breakout
-
1x Jumper wires (generic)
🛒 สั่งซื้อ
1x Cable, USB to TTL Level
🛒 สั่งซื้อ

รายละเอียดและวิธีทำ

นี่คือโปรเจกต์แรกของผม ไอเดียเริ่มแรกคือการทำ Sensor สำหรับประตูโรงรถที่สามารถดูสถานะผ่าน App บนมือถือได้ และยังสามารถส่งการแจ้งเตือน (Notifications) เมื่อประตูเปิดและปิดได้ด้วย

จากนั้นพวกเราซื้อ DHT22 มา ผมจึงเพิ่มมันเข้าไปเพื่อวัดอุณหภูมิและความชื้นในโรงรถ ผมใช้ Adafruit ESP8266 รุ่น Breakout เพราะมีบอร์ด Wifi ในตัว และใช้ Reed switch เพื่อตรวจวัดว่าแม่เหล็ก (ที่ติดอยู่ที่ประตู) อยู่ใกล้หรือไม่

ในที่นี้ผมจะพยายามอธิบายโปรเจกต์ทีละขั้นตอน:

Circuit. ขั้นแรกผมต่อวงจรเข้าด้วยกันตามที่แสดงในรูปด้านล่าง

Circuit schematic with annotations

DHT wiring. สามารถดู Pinout ของ DHT ได้ที่นี่: https://components101.com/sensors/dht22-pinout-specs-datasheet. ผมวางมันไว้ข้างๆ ESP8266 บน Breadboard ขนาดเล็ก ต่อ DHT Ground Pin เข้ากับ Ground ของบอร์ดด้วยสายไฟสีดำ ต่อ DHT Signal Pin เข้ากับ Pin 13 ของบอร์ดด้วยสายไฟสีน้ำเงิน ส่วน DHT Power Pin ผมต้องต่อตรงเข้ากับเอาต์พุต USB 5V ด้วยสายไฟสีแดง เหตุผลคือ Adafruit ESP8266 ไม่มีเอาต์พุต 5V ผมได้ทดสอบใช้เอาต์พุต 3.3V เพื่อจ่ายไฟให้ DHT22 แต่ไฟไม่พอ ทำให้ไม่มี Signal ออกมา ผมจึงต้องบัดกรีสายสีแดงเข้ากับพอร์ต USB 5V สำหรับบอร์ด Huzzah Breakout ที่จ่ายไฟผ่านสาย USB to TTL นั้นทำได้ง่ายเพราะคุณจะเห็นจุดเชื่อมต่อได้โดยตรง

Reed switch wiring. Magnetic Reed switch ถูกต่ออยู่ระหว่าง Pin 12 และ Ground โดยใน Code กำหนดให้ Pin 12 เป็น Input Pullup ซึ่งหมายความว่ามี Resistor ภายในอยู่ระหว่างแหล่งจ่ายไฟ 3.3V และ Pin ในกรณีนี้ เมื่อสวิตช์เปิดอยู่ (ไม่นำไฟฟ้า, แม่เหล็กอยู่ห่าง, ประตูรถปิด) Pin จะมีสถานะเป็น High เมื่อสวิตช์ปิด (นำไฟฟ้า, แม่เหล็กอยู่ใกล้, ประตูรถเปิด) จะมีกระแสไหลผ่าน Resistor ภายในและ Pin จะมีสถานะเป็น Low เนื่องจากถูกดึงลง Ground

Blynk App. หลังจากนี้ผมได้ตั้งค่าบัญชีด้วย Blynk App https://blynk.io/ หลังจากค้นหาข้อมูลออนไลน์ ผมพบว่ามันเป็นหนึ่งในวิธีที่ง่ายที่สุดในการตั้งค่าการแจ้งเตือนบนมือถือด้วยบอร์ด Wifi โดย Blynk จะให้ Token สำหรับแต่ละโปรเจกต์ ซึ่งคุณจำเป็นต้องใส่ลงไปใน Code ของคุณเพื่อให้สามารถสื่อสารกันได้ (ดูใน Code) ภาพหน้าจอของโปรเจกต์ Blynk แสดงอยู่ในรูปด้านล่าง

Blynk phone app screen shots.

ในโปรเจกต์ Blynk (Panel 1) ผมได้ตั้งค่า "Gauges" สองอันสำหรับอุณหภูมิโรงรถ (ตั้งเป็น Virtual Pin V6, Panel 2 เป็นหน่วย Celsius ซึ่งปกติเราใช้ที่บ้าน) และความชื้น (ตั้งเป็น Virtual Pin V5, Panel 3) จากนั้นผมตั้งค่า LED เพื่อแสดงผลว่า Reed switch เปิดหรือปิด (Panel 4) ใน Code กำหนดไว้ว่าเมื่อแม่เหล็กอยู่ใกล้ (ประตูเปิด) LED จะติด มิฉะนั้นจะดับ หลังจากนี้ผมยังได้เพิ่มการแจ้งเตือน (Notifications) ลงในโปรเจกต์ Blynk โดยใน Code ตัว App จะส่งการแจ้งเตือนทุกครั้งที่สถานะของประตูเปลี่ยนไป



วิดีโอทดสอบก่อนการติดตั้ง

Mounting. ขั้นตอนสุดท้ายคือการติดตั้ง ผมติด Breadboard เข้ากับรางมอเตอร์โรงรถโดยตรง ผมไขน็อตยึดชิ้นส่วนโลหะเข้ากับส่วนต่อขยายของประตูและวางแม่เหล็กไว้บนนั้น ในรูปด้านล่าง ประตูจะปิดอยู่ทางด้านซ้ายและเปิดอยู่ทางด้านขวา:

Garage door closed (left) open (right)

นี่คือวิดีโอของ Sensor ขณะทำงาน:

การแจ้งเตือนจะส่งมาเมื่อประตูโรงรถเปิด และแจ้งเตือนอีกครั้งเมื่อประตูโรงรถปิด
หน้าจอ Blynk แสดงอุณหภูมิและความชื้นในโรงรถ ตัวบ่งชี้แสดงสถานะของประตู

เพียงเท่านี้ครับ ตอนนี้ผมสามารถรู้ได้ว่าประตูโรงรถของผมเปิดหรือปิดเมื่อไหร่โดยไม่ต้องเดินไปดูด้วยตัวเอง

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: esp8266-blynk-garage-door-climate-sensor-wifi-phone-app-149367
2450 บาท
PromptPay QR Code