จะออกแบบระบบอัตโนมัติภายในบ้านที่ใช้ Arduino โดยใช้รีโมททีวีได้อย่างไร

Home Automation System เป็นแนวคิดที่เติบโตเร็วที่สุดในโลกสมัยใหม่ ระบบอัตโนมัติในบ้านอัจฉริยะเป็นแนวคิดที่ใช้อุปกรณ์เดียวในการควบคุมพารามิเตอร์อิเล็กทรอนิกส์ต่างๆของบ้านตัวอย่างเช่นการเปลี่ยนเครื่องใช้ในบ้านการตรวจสอบสัญญาณเตือนความปลอดภัยประตูโรงรถอัตโนมัติเป็นต้น



ระบบอัตโนมัติโดยใช้รีโมททีวี

ในโครงการนี้เราจะใช้รีโมททีวีธรรมดาเพื่อสร้างระบบอัตโนมัติภายในบ้านแบบง่ายๆ รีโมททีวีนี้จะควบคุมอุปกรณ์ทั้งหมดที่เชื่อมต่อกับบอร์ดไมโครคอนโทรลเลอร์



จะใช้รีโมททีวีเพื่อสร้างระบบโฮมอัตโนมัติได้อย่างไร?

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



ขั้นตอนที่ 1: รวบรวมส่วนประกอบ

แนวทางที่ดีที่สุดในการเริ่มต้นโครงการคือการจัดทำรายการส่วนประกอบและทำการศึกษาส่วนประกอบเหล่านี้โดยสังเขปเนื่องจากไม่มีใครต้องการยึดติดอยู่ตรงกลางของโครงการเพียงเพราะส่วนประกอบที่ขาดหายไป รายการส่วนประกอบที่เราจะใช้ในโครงการนี้มีดังต่อไปนี้:



  • TSOP 1738 ตัวรับสัญญาณ IR
  • รีโมท
  • เขียงหั่นขนม
  • สายจัมเปอร์

ขั้นตอนที่ 2: ศึกษาส่วนประกอบ

ตอนนี้เมื่อเราทราบแล้วว่าเราจะใช้ส่วนประกอบใดให้เราศึกษาสั้น ๆ เพื่อทำความเข้าใจให้ดีขึ้นว่าวงจรของเราทำงานอย่างไร

Arduino Nano เป็นบอร์ดไมโครคอนโทรลเลอร์ที่ดำเนินการต่างๆในวงจรต่างๆ ต้องใช้ไฟล์ รหัส C ที่บอกคณะกรรมการว่าต้องปฏิบัติงานอะไรและทำอย่างไร มีพิน I / O ดิจิทัล 13 พินซึ่งหมายความว่าเราสามารถใช้งานอุปกรณ์ต่างๆได้ 13 เครื่อง หากคุณต้องการควบคุมอุปกรณ์มากกว่า 13 เครื่องให้ใช้ Arduino Mega

Arduino นาโน



TSOP 1738 เป็นโมดูล IR สำหรับ Remote Controles มีความถี่ของผู้ให้บริการ 38kHz ประกอบด้วยเครื่องตรวจจับแสงที่ตรวจจับสัญญาณแล้วทำการ demodulate เอาต์พุตถูกใช้โดยตรงโดย Arduino หรือบอร์ดไมโครคอนโทรลเลอร์อื่น ๆ

TSOP เซนเซอร์

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

โมดูลรีเลย์

รีโมทคอนโทรลของทีวีมาตรฐานมีปุ่มเปิดปิดและปุ่มตัวเลขทั้งหมดอยู่ ปุ่มตัวเลขเหล่านี้จะใช้สำหรับการเปลี่ยนเครื่องใช้ไฟฟ้า

ขั้นตอนที่ 3: การสร้างวงจร

ตอนนี้เมื่อเรารู้ว่าส่วนประกอบทั้งหมดทำงานอย่างไรให้เราก้าวไปข้างหน้าและเริ่มสร้างวงจร

  1. ใช้เขียงหั่นขนมแล้วใส่ Arduino Nano และ TSOP 1738 เข้าไป
  2. เปิดโมดูล TSOP 1738 และโมดูลรีเลย์ผ่าน Arduino เชื่อมต่อ ออก พินของ TSOP1738 ถึงพิน 11 ของ Arduino และเชื่อมต่อไฟล์ ใน หมุดของโมดูลรีเลย์ไปยัง Arduino ฉันควบคุมเครื่องใช้ไฟฟ้าเพียงสองเครื่องดังนั้นฉันจึงใช้โมดูลรีเลย์ที่นี่เท่านั้น หากคุณต้องการควบคุมอุปกรณ์เพิ่มเติมให้เชื่อมต่อโมดูลรีเลย์เพิ่มเติมในทำนองเดียวกัน

    แผนภูมิวงจรรวม

ขั้นตอนที่ 4: เริ่มต้นกับ Arduino

หากคุณไม่เคยทำงานกับ Arduino IDE มาก่อนไม่ต้องกังวลเพราะขั้นตอนในการตั้งค่า Arduino IDE แสดงอยู่ด้านล่าง

  1. เชื่อมต่อบอร์ด Arduino ของคุณเข้ากับพีซีและเปิดแผงควบคุม คลิกที่ ฮาร์ดแวร์และเสียง. เปิดให้บริการแล้ว อุปกรณ์และเครื่องพิมพ์ และค้นหาพอร์ตที่บอร์ดของคุณเชื่อมต่ออยู่ ในกรณีของฉันมันคือ COM14 แต่คอมพิวเตอร์คนละเครื่องกัน

    กำลังค้นหาพอร์ต

  2. คลิกที่เมนูเครื่องมือและตั้งค่าบอร์ดเป็น Arduino นาโน (AT Mega 328P) .

    คณะกรรมการการตั้งค่า

  3. คลิกที่เมนูเครื่องมืออีกครั้งและตั้งค่าพอร์ตที่คุณสังเกตเห็นในแผงควบคุมก่อนหน้านี้

    การตั้งค่าพอร์ต

  4. ในเมนูเครื่องมือเดียวกันให้ตั้งโปรเซสเซอร์เป็น ATmega328p (Bootloader เก่า) .

    การตั้งค่าโปรเซสเซอร์

  5. ในการถอดรหัสข้อมูลที่ส่งโดยรีโมทคอนโทรลเราจำเป็นต้องมีไลบรารีพิเศษสำหรับ A code Arduino ห้องสมุดนี้แนบมาพร้อมกับรหัสในลิงค์ด้านล่าง หากต้องการเพิ่มห้องสมุด goto ร่าง> รวมไลบรารี> เพิ่มไลบรารี ZIP . กล่องจะปรากฏขึ้น ค้นหาโฟลเดอร์ ZIP ในคอมพิวเตอร์ของคุณและคลิกตกลงเพื่อรวมโฟลเดอร์

    รวมห้องสมุด

  6. ดาวน์โหลดโค้ดที่แนบด้านล่างและคลิกที่ปุ่มอัพโหลดเพื่อเบิร์นโค้ดในบอร์ด Arduino Nano ของคุณ

    ที่อัพโหลด

คลิกที่ ดาวน์โหลด เพื่อรับรหัส

ขั้นตอนที่ 5: รหัส

รหัสนี้เข้าใจง่ายมาก แต่ยังคงมีการอธิบายสั้น ๆ ไว้ด้านล่าง

1. การตั้งค่าเป็นโมฆะ () เป็นฟังก์ชั่นที่เราเตรียมใช้งานพิน INPUT หรือ OUTPUT ฟังก์ชันนี้ยังกำหนดอัตราการส่งข้อมูลโดยใช้ Serial.begin () คำสั่ง Baud Rate คือความเร็วในการสื่อสารของไมโครคอนโทรลเลอร์

2. ห่วงเป็นโมฆะ () เป็นฟังก์ชันที่ทำงานซ้ำ ๆ ในวง ในลูปนี้เราจะเขียนโค้ดเพื่อบอกบอร์ดไมโครคอนโทรลเลอร์ว่าต้องทำอะไรและทำอย่างไร

3. เมื่อเราส่งข้อมูลจากรีโมททีวี Arduino จำเป็นต้องถอดรหัสข้อมูลนี้ สำหรับสิ่งนี้เราได้รวมห้องสมุดพิเศษ #รวม <IRremote.h>. ฟังก์ชันในไลบรารีนี้จะใช้ในการถอดรหัสข้อมูลของแต่ละคีย์ซึ่งส่งมาจากรีโมต

# รวม int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); ผลลัพธ์ decode_results; การตั้งค่าเป็นโมฆะ () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } ล่าช้า (100); }

โค้ดด้านบนกำลังอ่านค่าที่ส่งจากรีโมตและถอดรหัสเป็นค่า HEX ที่สอดคล้องกัน รหัสนี้นำมาจากตัวอย่างของไลบรารี IRremote ใน Arduino IDE รหัสนี้แนบในลิงค์ดาวน์โหลดด้วยชื่อ test.ino ให้ไว้ข้างต้น ผลลัพธ์ของฟังก์ชันนี้เมื่อกดปุ่มตัวเลขทั้งหมดจะเป็น:

ถอดรหัส

4. ใน code.ino ที่แนบมาในลิงค์ดาวน์โหลดด้านบนพินของ Arduino ที่จะใช้จะเริ่มต้น ใน ห่วงเป็นโมฆะ () เมื่อกดปุ่มบนรีโมทในตอนแรก เท็จ เปลี่ยนสภาพเป็น จริง และรีเลย์ตามลำดับจะเปิดอยู่ หากกดปุ่มเดิมอีกครั้งระบบจะสลับเงื่อนไขบูลีนและปิดรีเลย์ ปุ่มเพาเวอร์จะเปิดหรือปิดรีเลย์ทั้งหมด

เป็นโมฆะ loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); ล่าช้า (100); ถ้า (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, ผม); } if (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, เจ); // ล่าช้า (200); } ถ้า (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, ม.); digitalWrite (IN2, ม.); digitalWrite (IN3, ม.); digitalWrite (IN4, ม.); // ล่าช้า (200); } irrecv.resume (); // รับค่าถัดไป // ล่าช้า (100); }}

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