โปรเจกต์ Blynk garagedoor monitor/opener
เพื่อนร่วมงานของผมทำหลังคารถพังเพราะออกจาก garage เร็วเกินไป ผมจึงรับปากว่าจะทำระบบไฟ red, amber, green lights ใน garage ให้เขา
เพื่อนร่วมงานของผมทำหลังคารถพังเพราะออกจาก garage เร็วเกินไป ผมจึงรับปากว่าจะทำระบบไฟ red, amber, green lights ใน garage ให้เขา
อย่างที่เคยเกริ่นไว้ใน "pitchtalk" เพื่อนร่วมงานของผมขับรถชนหลังคากับประตูโรงรถของเขาเอง เขาถอยรถออกจากโรงรถเร็วเกินไปจนทำให้เสาอากาศวิทยุบนหลังคาถูกประตูโรงรถเกี่ยวหลุดออกมา...
ผมก็เลยบอกไปว่า: "เดี๋ยวผมจะสร้างตัวช่วยแก้ปัญหานี้ให้เอง!"
ขอบเขตของงาน: แสดงสถานะว่าประตูโรงรถเปิดสุดแล้วหรือไม่ และสามารถสั่งงานประตูบานเดิมได้จากภายในรถ (ไม่ว่าจะอยู่ในบ้านหรือจากหัวมุมถนน)
และนี่คือจุดเริ่มต้นของโปรเจกต์ Home automation/Iot/Blynk
เพื่อให้การพัฒนาซอฟต์แวร์เป็นเรื่องง่าย ผมจึงเลือกใช้โซลูชันของ Blynk
"อุปกรณ์" นี้ต้องตรวจจับได้ว่าประตูเปิดหรือปิดอยู่ เพื่อที่จะทำแบบนี้ได้ผมจึงเลือกใช้ Magnetic reed switches คุณสามารถติดตั้งสวิตช์เหล่านี้บน "รางโซ่" (chain-rail) และติดตั้งแม่เหล็กไว้ที่ "ชุดลาก" (wagon) (ดูรูปภาพประกอบ) หรือจะเลือกติดตั้ง Microswitches ก็ได้เช่นกัน


จะมีสวิตช์ตัวบนและสวิตช์ตัวล่าง เมื่อสวิตช์ตัวบนถูกปิด (วงจรต่อกัน) แสดงว่าประตูเปิดอยู่และจะแสดงไฟ LED สีเขียวในแอป Blynk เมื่อสวิตช์ตัวล่างถูกปิด แสดงว่าประตูปิดอยู่และจะแสดงไฟ LED สีแดงในแอป Blynk ส่วนในระหว่างนั้น (เมื่อสวิตช์ทั้งสองตัวเปิดวงจร) แสดงว่าประตูกำลังเคลื่อนที่ (จะแสดงไฟ LED สีส้ม)
เมื่อประตูเปิดจนสุด (ไฟ LED สีเขียว) ข้อความจะถูกบันทึกไว้ใน Blynk Terminal และเก็บข้อมูลเวลาเอาไว้ เวลานี้จะถูกนำไปตรวจสอบกับค่า "Open warning" ที่ตั้งค่าไว้ในแอป Blynk หากประตูเปิดทิ้งไว้นานเกินไป จะมีการส่งข้อความแจ้งเตือนไปยังแอป Blynk
ในการสั่งเปิดหรือปิดประตูโรงรถ จะมีการตั้งค่า Pins บน Arduino ให้มีสถานะ High เพื่อสั่งงาน Relay ในช่วงเวลาหนึ่ง มอเตอร์ประตูโรงรถจะทำงานเมื่อมีการเชื่อมต่อกันระหว่างสายไฟสองเส้น (ซึ่งต่อเข้ากับ Relay)
โปรเจกต์นี้ใช้ไฟเลี้ยงจากที่ชาร์จ Smartphone เครื่องเก่า โดยใช้สายไฟเชื่อมต่อเพียง 6 เส้นเท่านั้น
ทุกอย่างถูกติดตั้งลงบน Adafruit half protoboard และใส่ไว้ในเคสที่พิมพ์ออกมาโดยเฉพาะ (เพื่อให้สามารถติดตั้งลงบน Protoboard ได้ ผมต้องตัดขั้วต่อที่ไม่ได้ใช้งานของ Relay ออก)

ติดตั้ง Library ที่ถูกต้องสำหรับ Adafruit Huzzah และ Blynk เปลี่ยนการตั้งค่าการเชื่อมต่อสำหรับเครือข่าย WiFi ของคุณและ Blynk App Key ในโค้ด จากนั้น Upload ลงใน Arduino
มาสร้างโปรเจกต์ Blynk ให้มีหน้าตาคล้ายกับแบบนี้กันเถอะ:

สร้างโปรเจกต์ Blynk ใหม่บน Smartphone ของคุณ เลือก ESP8266 เป็น Hardware Model

เพิ่มไฟ LED สีเขียว (Input V2), สีแดง (Input V3) และสีส้ม (Input V4) ลงในโปรเจกต์

เพิ่ม Terminal Block ในโปรเจกต์ที่ Input V0 และปิดการใช้งาน "add new line" และ "input line"

เพิ่มปุ่ม "activate Door" ในโปรเจกต์ด้วย Output V4 และเลือกโหมด Push-button สิ่งนี้จะทำให้คุณสามารถเปิดหรือปิดประตูได้

เพิ่ม Numeric Input ลงในโปรเจกต์ ใช้สำหรับกำหนดเวลาที่ผ่านไปก่อนที่จะส่งการแจ้งเตือน โดยตั้งค่าไว้ที่ Output V5

เพิ่ม Realtime Clock ในโปรเจกต์ เพื่อใช้ในการแสดงเวลาบนหน้าจอ Terminal

เพิ่มการตั้งค่า Notifications ในโปรเจกต์ เพื่อให้โปรเจกต์สามารถส่งการแจ้งเตือน "open door" และแจ้งให้คุณทราบหากอุปกรณ์ออฟไลน์

เชื่อมต่อทุกอย่างเข้าด้วยกันและเริ่มการทำงานของแอปพร้อมกับ Arduino แล้วมันจะเริ่มทำงาน
ใน Blynk คุณสามารถแบ่งปันแอปให้กับผู้อื่นได้ ข้อควรระวัง: คุณสามารถรับโปรเจกต์ในโหมด Sharing ได้เพียงโปรเจกต์เดียวเท่านั้น ดังนั้นหากคุณสร้างสองโปรเจกต์และต้องการแบ่งปันให้คนกลุ่มเดียวกัน พวกเขาจะเห็นเฉพาะโปรเจกต์ล่าสุดที่ถูกโหลดเท่านั้น
คุณยังสามารถใช้ Webhooks เพื่อแชร์การเข้าถึง Blynk API ได้อีกด้วย การใช้สิ่งนี้ร่วมกับ IFTTT จะทำให้คุณสามารถใช้คำสั่งเสียงในการควบคุมประตูโรงรถได้
ขอให้สนุก!
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้