สารบัญ:

ประตูโรงรถควบคุมโดย Alexa ด้วย Arduino Esp8266: 6 ขั้นตอน
ประตูโรงรถควบคุมโดย Alexa ด้วย Arduino Esp8266: 6 ขั้นตอน

วีดีโอ: ประตูโรงรถควบคุมโดย Alexa ด้วย Arduino Esp8266: 6 ขั้นตอน

วีดีโอ: ประตูโรงรถควบคุมโดย Alexa ด้วย Arduino Esp8266: 6 ขั้นตอน
วีดีโอ: IOT Home Automation with Alexa Skills| Garage Door switch with ESP8266 Part 1| Tutorial # 8 2024, พฤศจิกายน
Anonim
ประตูโรงรถควบคุมของ Alexa ด้วย Arduino Esp8266
ประตูโรงรถควบคุมของ Alexa ด้วย Arduino Esp8266

แนวคิดสำหรับโปรเจ็กต์นี้มาจากโปรเจ็กต์เก่า ๆ ที่ฉันเคยทำงานมาระยะหนึ่งแล้ว ฉันต่อวงจรปุ่มกดธรรมดาที่จะเปิดไฟ LED เมื่อกดปุ่มที่ประตูโรงรถ วิธีนี้พิสูจน์แล้วว่าไม่น่าเชื่อถือและไม่มีประโยชน์เท่ากับอุปกรณ์ที่จะเปิดและปิดโรงรถของคุณผ่าน Alexa และแจ้งให้คุณทราบเมื่อโรงรถเปิด ดังนั้นฉันจึงเริ่มมองหาที่เปิดประตูโรงรถที่เปิดใช้งาน Wi-Fi ในขณะนั้นมีอยู่บ้าง แต่อาจมีราคาตั้งแต่ 50 ถึง 250 ดอลลาร์ ซึ่งเป็นวิธีที่ค่อนข้างแพง โดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่าฉันสามารถทำได้ประมาณ 10 ดอลลาร์ ดังนั้นฉันจึงตรวจสอบประตูโรงรถที่ควบคุมโดย Arduino ซึ่งไม่ได้ผลมากนัก เมื่อฉันคิดว่าทุกอย่างหายไป ฉันค้นพบ Sinric Pro ซึ่งช่วยให้คุณสร้างอุปกรณ์สมาร์ทโฮมที่หลากหลายด้วย Arduino IDE อย่างไรก็ตาม ยังไม่มีบทช่วยสอนเกี่ยวกับวิธีการใช้ Sinric Pro เพื่อสร้างที่เปิดประตูโรงรถ คุณเหลือเพียงรหัสตัวอย่างประตูโรงรถและคำแนะนำสองสามข้อเกี่ยวกับสิ่งที่มันทำ ขณะนี้มีบทช่วยสอนสองสามวิธีที่ใช้วิธีการที่แตกต่างกัน แต่วิธีนี้ง่ายกว่ามากเนื่องจากใช้รีโมทประตูโรงรถ ดังนั้นคุณจึงไม่ต้องทำอะไรกับที่เปิดประตูจริง ในที่สุด ฉันก็พบว่าโค้ดตัวอย่างทำงานอย่างไร และสามารถเปลี่ยนเป็นเครื่องเปิด/ตัวบ่งชี้ที่ประตูโรงรถได้ ซึ่งฉันจะแสดงวิธีทำด้วยตัวเองในคำแนะนำด้านล่าง

ขั้นตอนที่ 1: รายการชิ้นส่วน

หนึ่งหน่วยมีราคาประมาณ 10 ดอลลาร์ แต่คุณต้องซื้อชิ้นส่วนจำนวนมากในแพ็กใหญ่ ดังนั้นราคารวมจะสูงขึ้น ซึ่งสามารถชดเชยได้หากคุณใช้ชิ้นส่วนที่เหลือสำหรับโครงการอื่นหรือถ้าคุณมีไว้อยู่แล้ว)

  1. บอร์ดพัฒนา ESP8266 (ฉันใช้สิ่งนี้)
  2. เขียงหั่นขนมแบบไม่มีบัดกรี (ใช้งานได้)
  3. สายจัมเปอร์เขียงหั่นขนม (สายสั้นแบบนี้และถ้าคุณต้องการบัดกรีให้น้อยลงก็รับสิ่งเหล่านี้ด้วย)
  4. แหล่งจ่ายไฟ 12 โวลต์พร้อมแจ็คแบบบาร์เรลหรือวิธีเชื่อมต่อกับเขียงหั่นขนม (มีโอกาสดีที่จะได้สำรองไว้ที่ไหนสักแห่ง หรืออาจจะได้อะไรประมาณนี้)
  5. ตัวควบคุม 12 ถึง 5 โวลต์ ฉันใช้ตัวควบคุมเชิงเส้น 5v กับฮีตซิงก์จำนวนมาก มันอาจจะถูกกว่าถ้าใช้ตัวแปลงบั๊ก ถ้าคุณยังไม่มีเรกูเลเตอร์ 5v และฮีตซิงก์อยู่ในมือ หรือคุณสามารถใช้แหล่งจ่ายไฟ 5 และ 12 โวลต์แยกต่างหากสำหรับรีโมทและวงจรเขียงหั่นขนม (การเดินสายไฟใหม่แบบนี้อาจจะง่ายที่สุด)
  6. ตัวต้านทาน 3 1.2kΩ
  7. ไฟ LED 2 ดวง
  8. 1 ออปโตคัปเปลอร์ (เหล่านี้)
  9. เครื่องตรวจจับความใกล้ชิด 1 เครื่อง (เหล่านี้)
  10. รีโมท 1 ตัวที่ใช้ได้กับโรงรถของคุณ
  11. ลวดจำนวนมาก
  12. อุปกรณ์ไฟฟ้าทั่วไป (เทปพันสายไฟ คีมปอกสายไฟ บัดกรี)
  13. ฮีทซิงค์และกาวเทอร์มอลหากคุณใช้เรกูเลเตอร์ 5v เพราะมันจะร้อน ฉันยังใส่แผ่นระบายความร้อนบน ESP8266 ด้วย แต่สิ่งนี้ไม่จำเป็นและไม่จำเป็นโดยสิ้นเชิง

ขั้นตอนที่ 2: ตั้งค่ารีโมทประตูโรงรถ

ตั้งค่ารีโมทประตูโรงรถ
ตั้งค่ารีโมทประตูโรงรถ

เพื่อให้แก้ไขปัญหาได้ง่ายขึ้น ตรวจสอบให้แน่ใจว่ารีโมทใดก็ตามที่คุณจะใช้สำหรับโครงการนี้ จะเปิดโรงรถของคุณก่อนที่จะแยกชิ้นส่วน วิธีนี้หากมีสิ่งใดใช้ไม่ได้ในภายหลัง คุณจะรู้ว่าการไม่จับคู่รีโมตไม่ใช่ปัญหา เมื่อคุณทำเสร็จแล้ว ให้ตรวจสอบแรงดันแบตเตอรี่ของรีโมท ส่วนใหญ่จะเป็น 12 โวลต์ ถ้าคุณเป็นแรงดันไฟฟ้าที่แตกต่างกัน คุณจะต้องปรับเปลี่ยนโครงการนี้เล็กน้อย หากเป็นแรงดันไฟฟ้าที่ต่ำกว่า คุณจะต้องหาวิธีจ่ายแรงดันไฟฟ้านั้นรวมถึง 5 โวลต์ให้กับ ESP8266 หากเป็นแบตเตอรี่นาฬิกา 3 โวลต์ คุณอาจใช้แหล่งจ่ายไฟหลัก 5 โวลต์และตัวควบคุม 3.3 โวลต์สำหรับรีโมตได้ หากรีโมตใช้แบตเตอรี่ 12v คุณสามารถทำตามคำแนะนำเหล่านี้ได้ตามปกติ

  1. เปิดรีโมทและถอดตัวเรือนทั้งหมดออกจนกว่าคุณจะมี PCB เปล่า ถอดแบตเตอรี่ออก
  2. ค้นหาผู้ติดต่อสำหรับปุ่มกด ซึ่งควรอยู่ฝั่งตรงข้ามของปุ่ม และน่าจะมี 4 อัน ใช้มัลติมิเตอร์ ค้นหาว่าผู้ติดต่อรายใดเชื่อมต่ออยู่ และผู้ติดต่อรายใดเชื่อมต่อและยกเลิกการเชื่อมต่อด้วยการกดปุ่ม หากคุณพบคู่สัมผัสที่ถูกต้อง ความต้านทานควรเปลี่ยนเมื่อคุณกดปุ่ม
  3. เมื่อคุณพบหน้าสัมผัสที่ถูกต้องสำหรับปุ่มกดแล้ว ให้บัดกรีลวดเข้ากับหน้าสัมผัสแต่ละอัน ซึ่งควรเป็นสายไฟที่คุณสามารถเสียบปลายอีกด้านเข้ากับเขียงหั่นขนม ใส่แบตเตอรี่ในรีโมท แล้วแตะสายไฟ 2 เส้นเข้าด้วยกัน หากคุณตั้งค่าอย่างถูกต้อง โรงรถควรเปิด/ปิดได้แล้ว ถอดแบตเตอรี่ออกหลังจากที่คุณยืนยันว่าใช้งานได้
  4. สายบัดกรี (ที่คุณสามารถเสียบปลายอีกด้านหนึ่งเข้ากับเขียงหั่นขนม) เข้ากับขั้วแบตเตอรี่บวกและลบของรีโมท สิ่งเหล่านี้จะถูกใช้เพื่อจ่ายไฟให้กับรีโมท ติดฉลากหรือจำว่าสายใดเป็นค่าบวกและสายใดเป็นกราวด์/ค่าลบ
  5. ต่อแบตเตอรี่เข้ากับสายไฟที่คุณบัดกรีและทดสอบว่าประตูยังเปิดอยู่หรือไม่ เพียงเพื่อให้แน่ใจว่าคุณได้ทำทุกอย่างถูกต้องแล้ว

ขั้นตอนที่ 3: ประกอบเขียงหั่นขนม

ประกอบเขียงหั่นขนม
ประกอบเขียงหั่นขนม
ประกอบเขียงหั่นขนม
ประกอบเขียงหั่นขนม

ทำตามแผนผังบนกระดาษและสร้างวงจรเขียงหั่นขนม ใช้สายจัมเปอร์ของปุ่มที่คุณต่อกับรีโมตก่อนหน้านี้ และเชื่อมต่อกับออปโตคัปเปลอร์ตามที่แสดงในแผนผัง สำคัญ ตรวจสอบให้แน่ใจว่าคุณรู้ว่าฉลากบน ESP8266 นั้นไม่เหมือนกับรหัสใน Arduino มีไดอะแกรมในหน้าวิกินี้ คุณจะต้องมีสายต่อสำหรับเครื่องตรวจจับความใกล้ชิด เมื่อคุณทำสิ่งนี้เสร็จแล้ว คุณจะต้องสร้างแหล่งจ่ายไฟ มีหลายวิธีในการทำเช่นนี้ขึ้นอยู่กับรีโมทโรงรถของคุณ เราจะให้คำแนะนำสำหรับการใช้งานกับรีโมท 12 โวลต์

  1. เสียบปลั๊กไฟ 12 โวลต์ไว้ที่เขียงหั่นขนมซึ่งจะให้ราง 12 โวลต์
  2. ใช้ตัวควบคุม 5 โวลต์ (พร้อมฮีทซิงค์จำนวนมาก) หรือตัวแปลงบั๊ก 5 โวลต์และสร้างราง 5 โวลต์ สิ่งนี้จะเชื่อมต่อกับรางไฟหลักบนเขียงหั่นขนมซึ่งแน่นอนว่าจะถูกนำมาใช้เพื่อจ่ายไฟให้กับ ESP8266
  3. ต่อกราวด์เข้ากับกราวด์ ESP8266 และต่อ 5 โวลต์เข้ากับ ESP8266 Vin

ขั้นตอนที่ 4: การติดตั้งพร็อกซิมิตีเซนเซอร์และไฟ LED เปิดโรงรถ

การติดตั้งพร็อกซิมิตีเซนเซอร์และไฟ LED แสดงสถานะเปิดโรงรถ
การติดตั้งพร็อกซิมิตีเซนเซอร์และไฟ LED แสดงสถานะเปิดโรงรถ
การติดตั้งพร็อกซิมิตีเซนเซอร์และไฟ LED แสดงสถานะเปิดโรงรถ
การติดตั้งพร็อกซิมิตีเซนเซอร์และไฟ LED แสดงสถานะเปิดโรงรถ

ต้องติดตั้งเซ็นเซอร์ความใกล้ชิดในลักษณะที่จะเรียกใช้เมื่อโรงรถเปิด ในกรณีของฉัน ฉันสามารถขันสกรูเข้ากับคานไม้ใกล้กับจุดที่ประตูโรงรถจะหยุดเมื่อเปิดจนสุด ก่อนติดตั้ง ให้เปิดโรงรถของคุณและใช้แหล่งจ่ายไฟ 5 หรือ 3.3v เพื่อจ่ายไฟให้กับเซ็นเซอร์ความใกล้ชิด ไฟ LED ในตัวจะเปิดและปิดให้คุณทราบเมื่อตรวจพบบางสิ่ง วางตำแหน่งตามที่คุณต้องการและตรวจสอบให้แน่ใจว่าใช้งานได้ คุณสามารถใช้ไขควงที่มีโพเทนชิออมิเตอร์ในตัวเพื่อเปลี่ยนความไว เมื่อคุณกำหนดความไวในการวางตำแหน่งเซ็นเซอร์แล้ว คุณสามารถตรวจสอบอีกครั้งว่าทุกสิ่งทำงานอย่างถูกต้อง และลองเปิดและปิดโรงรถของคุณสองสามครั้ง สุดท้าย ติดตั้งเข้าที่อย่างปลอดภัย (หมายเหตุด้านข้างที่สำคัญ ฉันมีขั้วต่อบาลานซ์แบตเตอรี 3 พิน ซึ่งบังเอิญมีขนาดที่เหมาะสม ดังนั้นฉันจึงใช้หนึ่งในนั้นเพื่อเชื่อมต่อเซ็นเซอร์ความใกล้ชิด คุณสามารถใช้จัมเปอร์เขียงหั่นขนมจากตัวเมียกับตัวผู้ได้) ตอนนี้สำหรับ ตัวบ่งชี้นำ

ไฟ LED แสดงสถานะเป็นอุปกรณ์เสริม และจะแตกต่างกันมากขึ้นอยู่กับรูปแบบบ้านของคุณ เพียงใช้สายไฟที่ยาวมากๆ และวิ่งจากโรงรถไปยังทุกที่ที่คุณต้องการไฟ LED แสดงสถานะ ไม่ว่าจะจีบ LED ลงบนสายไฟหรือบัดกรี ลวดไม่จำเป็นต้องใหญ่มาก ฉันใช้ลวดขนาด 22 เกจที่ฉันพันไว้ แล้วลากผ่านห้องใต้หลังคา

ขั้นตอนที่ 5: ตั้งโปรแกรม ESP8266

ตั้งโปรแกรม ESP8266
ตั้งโปรแกรม ESP8266
ตั้งโปรแกรม ESP8266
ตั้งโปรแกรม ESP8266

ส่วนนี้ค่อนข้างเรียบง่าย ฉันจะไม่อธิบายมากจนเกินไป เนื่องจากคุณสามารถค้นหาวิดีโอออนไลน์หลายล้านรายการสำหรับขั้นตอนส่วนใหญ่ในขั้นตอนนี้

  1. ดาวน์โหลดและติดตั้ง Arduino IDE, ไดรเวอร์สำหรับ ESP8266 และไลบรารี Arduino สำหรับ ESP8266 ข้อมูลทั้งหมดนี้อยู่ในหน้าวิกิสำหรับบอร์ด ES8266 dev ที่ใช้ในบทช่วยสอนนี้
  2. ลงชื่อสมัครใช้บัญชีกับ sinric pro ไม่ต้องกังวล คุณจะได้รับอุปกรณ์ฟรี 5 เครื่อง คุณสามารถชำระเงินเพื่อรับอุปกรณ์เพิ่มเติมได้หากต้องการ
  3. ติดตั้งไลบรารี Sinric pro Arduino หากคุณต้องการความช่วยเหลือ มีบทเรียนออนไลน์มากมายเกี่ยวกับการติดตั้งไลบรารี Arduino
  4. ลงทะเบียนอุปกรณ์ใหม่กับ Sinric pro เมื่อคุณลงชื่อเข้าใช้บัญชีของคุณ คุณจะเข้าสู่แดชบอร์ดของคุณ จากนั้น คลิกที่ห้องในเมนูด้านซ้ายมือ จากนั้นคลิกเพิ่มห้อง และสร้างห้องที่เรียกว่าโรงรถ จากนั้นคลิกที่อุปกรณ์ในเมนูด้านซ้ายมือ คลิกเพิ่มอุปกรณ์และกรอกข้อมูลตามภาพ คลิกถัดไป และตรวจสอบการแจ้งเตือนที่คุณต้องการรับ ถัดไปอีกครั้ง จากนั้นคลิกบันทึก ตอนนี้ในแดชบอร์ดของคุณภายใต้อุปกรณ์ คุณจะมีโรงรถ

เมื่อคุณติดตั้งทุกอย่างเรียบร้อยแล้ว คุณก็พร้อมที่จะตั้งโปรแกรม ESP8266 จริงๆ รหัสสามารถพบได้บน GitHub ที่นี่ คุณจะต้องแก้ไขส่วนพื้นฐานของรหัสเพื่อลงทะเบียนอุปกรณ์ของคุณ

#define WIFI_SSID "ชื่อ Wifi"

#กำหนด WIFI_PASS "รหัสผ่าน Wifi" #กำหนด APP_KEY "รับจาก https://sinric.pro" #กำหนด APP_SECRET "รับจาก https://sinric.pro" #กำหนด GARAGEDOOR_ID "รับจาก

นี่เป็นรหัสเดียวที่คุณควรแก้ไข เพียงใส่ Wi-Fi SSID ลงในเครื่องหมายคำพูด จากนั้นทำเช่นเดียวกันกับรหัสผ่าน รหัสประตูโรงรถจะอยู่ในหน้าอุปกรณ์ภายใต้ชื่ออุปกรณ์ ในกรณีนี้คือ "โรงรถ" จะมีป้ายกำกับว่า ID:. สามารถดูรหัสแอปและความลับของแอปได้ในแดชบอร์ด Sinric pro ของคุณภายใต้ข้อมูลรับรอง เก็บสิ่งเหล่านี้ไว้เป็นความลับเพราะเป็นสิ่งที่ลงทะเบียนอุปกรณ์ของคุณกับบัญชีของคุณ เมื่อคุณคัดลอกและวางข้อมูลรับรองทั้งหมดลงในโค้ดแล้ว แสดงว่าคุณทำเสร็จแล้ว อัปโหลดภาพสเก็ตช์ของคุณไปยัง Arduino ของคุณ (มองหาบทช่วยสอนเกี่ยวกับการอัปโหลดโค้ดไปยัง Arduino หากคุณต้องการความช่วยเหลือในเรื่องนี้) และเตรียมพร้อมสำหรับการทดสอบ

ขั้นตอนที่ 6: ประกอบทุกอย่างและเสร็จสิ้น

ตอนนี้ ESP8266 ของคุณได้รับการตั้งโปรแกรมและเขียงหั่นขนมของคุณถูกสร้างขึ้นแล้ว เสียบทุกอย่างเข้ากับตำแหน่งที่ถูกต้อง และหวังว่าจะใช้งานได้ โดยมีการแก้ไขปัญหาเล็กน้อยและทดสอบว่าการเชื่อมต่อสายไฟของคุณถูกต้อง เมื่อเสียบปลั๊กและเปิดเครื่องทุกอย่างแล้ว คุณควรจะสามารถเปิดแดชบอร์ด Sinric pro ของคุณและเห็นว่าอุปกรณ์ของคุณเชื่อมต่ออยู่ หากไม่ลองคลิกเปิดหรือปิดต่อไปและดูว่ามีการรีเฟรชหรือไม่ หากไม่เป็นเช่นนั้น ให้รีเฟรชหน้า และหากไม่ได้ผล กลับไปที่การแก้ไขปัญหา ตรวจสอบให้แน่ใจว่าทุกที่ที่คุณอยู่ได้รับสัญญาณ Wi-Fi ที่ดีที่ ESP8266 จะสามารถรับได้ เมื่อคุณได้ประตูโรงรถเพื่อเปิดเว็บไซต์แล้ว คุณสามารถเชื่อมต่อกับ Alexa ได้แล้ว ในขณะที่เขียนสิ่งนี้ ไม่สามารถใช้งานกับ google home หรือ IFTTT ได้ แต่จะใช้ได้ในอนาคต ใช้แอป Alexa เพื่อเปิดใช้งานทักษะ Sinric Pro Alexa กระบวนการนี้เป็นมาตรฐานและเหมือนกับการเปิดใช้งานทักษะบ้านอัจฉริยะอื่นๆ กับ Alexa สุดท้ายคุณต้องตั้งหมุดเพื่อเปิดประตูด้วย น่าเสียดายที่ไม่มีวิธีแก้ไขปัญหานี้ เว้นแต่ว่า Amazon จะตัดสินใจเปลี่ยนแปลง ต้องใช้หมุดเพื่อเปิดโรงรถเท่านั้น คุณจึงสามารถปิดได้โดยไม่ต้องจำหมุด ตอนนี้คุณควรมีประตูโรงรถอัจฉริยะ DIY ของคุณเองพร้อมไฟแสดงสถานะ ฉันหวังว่าคู่มือนี้จะเป็นประโยชน์สำหรับคนจำนวนมาก

แนะนำ: