วิธีการออกแบบระบบอัตโนมัติในบ้านที่เปิดใช้งานด้วยเสียง

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



ระบบอัตโนมัติภายในบ้านที่ควบคุมด้วยเสียง

วิธีทำให้เครื่องใช้ในบ้านอัตโนมัติโดยใช้ Arduino

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



ขั้นตอนที่ 1: ส่วนประกอบที่ใช้ (ฮาร์ดแวร์)

  • Arduino uno
  • โมดูลบลูทู ธ HC-05
  • 2N2222 NPN ทรานซิสเตอร์
  • โมดูลรีเลย์ 12V
  • ตัวต้านทาน 1k-ohm
  • อะแดปเตอร์ 12V AC เป็น DC
  • 1N4007 PN Junction Diode
  • สายจัมเปอร์

ขั้นตอนที่ 2: ส่วนประกอบที่ใช้ (ซอฟต์แวร์)

  • Proteus 8 Professional (สามารถดาวน์โหลดได้จาก ที่นี่ )

หลังจากดาวน์โหลด Proteus 8 Professional แล้วให้ออกแบบวงจรบนนั้น เราได้รวมการจำลองซอฟต์แวร์ไว้ที่นี่เพื่อให้ผู้เริ่มต้นออกแบบวงจรและทำการเชื่อมต่อกับฮาร์ดแวร์ได้อย่างเหมาะสม



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

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



  1. Arduino UNO: Arduino UNO เป็นบอร์ดไมโครคอนโทรลเลอร์ซึ่งประกอบด้วยไมโครชิป ATMega 328P และพัฒนาโดย Arduino.cc บอร์ดนี้มีชุดพินข้อมูลดิจิตอลและอนาล็อกที่สามารถเชื่อมต่อกับบอร์ดหรือวงจรส่วนขยายอื่น ๆ บอร์ดนี้มีพินดิจิตอล 14 พินอนาล็อก 6 พินและสามารถตั้งโปรแกรมได้ด้วย Arduino IDE (Integrated Development Environment) ผ่านสาย USB ประเภท B ต้องใช้ไฟ 5V บน และก รหัส C เพื่อดำเนินการ

    Arduino UNO

  2. HC-05 Wireless Bluetooth Serial Transceiver : เราต้องการการสื่อสารแบบไร้สายในโครงการนี้ดังนั้นเราจะใช้เทคโนโลยีบลูทู ธ และสำหรับโมดูลนั้นที่จะใช้คือ HC-05 โมดูลนี้มีอัตราบอดที่ตั้งโปรแกรมได้หลายแบบ แต่อัตราการส่งข้อมูลเริ่มต้นคือ 9600 bps สามารถกำหนดค่าเป็น master หรือ slave ได้ในขณะที่โมดูลอื่น HC-06 สามารถทำงานได้เฉพาะในโหมด Slave เท่านั้น โมดูลนี้มีหมุดสี่ขา หนึ่งสำหรับ VCC (5V) และอีกสามรายการสำหรับ GND, TX และ RX รหัสผ่านเริ่มต้นของโมดูลนี้คือ 1234 หรือ 0000 . หากเราต้องการสื่อสารระหว่างไมโครคอนโทรลเลอร์สองตัวหรือสื่อสารกับอุปกรณ์ใด ๆ ที่มีฟังก์ชันบลูทู ธ เช่นโทรศัพท์หรือแล็ปท็อป HC-05 ช่วยให้เราทำเช่นนั้นได้ แอปพลิเคชั่น Android หลายตัวพร้อมใช้งานแล้วซึ่งทำให้กระบวนการนี้ง่ายขึ้นมาก

    โมดูลบลูทู ธ HC-05

  3. การควบคุมด้วยเสียง Bluetooth สำหรับ Arduino : แอพนี้พัฒนาโดย SimpleLabsIN สำหรับโปรเจ็กต์ Arduino ที่ใช้เสียง แอปพลิเคชัน Android นี้จะใช้คุณสมบัติการจดจำเสียงของโทรศัพท์และจะแปลงคำสั่งเสียงเป็นข้อความและโอนสายผ่านบลูทู ธ สามารถดาวน์โหลดแอปพลิเคชันได้จาก ที่นี่

    แอพ BT Voice Control



  4. โมดูลรีเลย์ 12 V: หากใครต้องการสลับโหลดไฟฟ้าแรงสูงจากไมโครคอนโทรลเลอร์บอร์ดรีเลย์ 12V นี้ก็สามารถทำได้ ประกอบด้วยรีเลย์ 8 x 12V ที่พิกัด 10A / 250V AC (DC 30V / 10A) โมดูลรีเลย์แต่ละชุดจะเปิด / ปิดโดยอินพุตดิจิตอลที่แยกออปโตซึ่งสามารถเชื่อมต่อโดยตรงกับขาเอาต์พุตของไมโครคอนโทรลเลอร์ ต้องใช้แรงดันไฟฟ้าประมาณ 1.0V ในการเปิดอินพุต แต่สามารถรองรับแรงดันไฟฟ้าอินพุตได้สูงสุด 12V ทำให้เหมาะสำหรับทั้งอุปกรณ์ 5V และ 3.3V คุณสามารถซื้อโมดูลรีเลย์ตามจำนวนอุปกรณ์ที่คุณต้องการควบคุม ตัวอย่างเช่นหากคุณต้องการควบคุมเครื่องใช้ไฟฟ้า 4 ชิ้นคุณควรซื้อโมดูลรีเลย์ 4 ตัว

    โมดูลรีเลย์ 12V

ขั้นตอนที่ 4: ทำความเข้าใจเกี่ยวกับการออกแบบวงจรด้วยแผนภาพวงจร

ประการแรกเราต้องเชื่อมต่อ HC-05 กับ Arduino UNO เนื่องจากบลูทู ธ ใช้โปรโตคอล UART เราจึงต้องใช้พิน RX และ TX ของ Arduino เราจะใช้ไลบรารี“ SoftwareSerial” เพื่อกำหนดพิน RX และ TX ของเราเอง (พิน 2 คือ RX และพิน 3 คือ TX) ขา RX ของโมดูลบลูทู ธ และพิน TX ของ Arduino จะถูกตัดการเชื่อมต่อ ประการที่สองเราจะเชื่อมต่อรีเลย์กับ Arduino เราใช้บอร์ดรีเลย์สำเร็จรูปที่มี 4 ช่องดังนั้นเราต้องเชื่อมต่ออินพุตของรีเลย์แต่ละตัวเข้ากับ Arduino สำหรับการเชื่อมต่อโหลดกับโมดูลรีเลย์โปรดดูแผนภาพด้านล่าง:

การประกอบวงจรโมดูลรีเลย์

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

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

ขั้นตอนที่ 5: หลักการทำงานของโครงการ

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

ตอนนี้เชื่อมต่อโทรศัพท์กับโมดูลบลูทู ธ คลิกที่ตัวเลือก“ เชื่อมต่อ Robot ” และเลือกอุปกรณ์ Bluetooth ที่เหมาะสม หากอุปกรณ์ไม่ได้จับคู่ก่อนหน้านี้ให้จับคู่ทันทีโดยป้อนพิน 0000 หรือ 1234.

การจับคู่สมาร์ทโฟน

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

จดจำเสียง

เมื่อแอปพลิเคชันรู้จักสตริงแอปพลิเคชันจะส่งสตริงเป็น 'เปิดไฟ #' และข้อความจริงที่ได้รับจากโมดูลบลูทู ธ จะมีรูปแบบประเภทนี้ ( “ * ข้อความ #” ). เหตุผลในการเติมเครื่องหมาย '*' และ '#' ที่คำขอร้องและจุดสิ้นสุดของสตริงคือการระบุจุดเริ่มต้นและจุดสิ้นสุดของข้อความ ข้อความที่ได้รับจะถูกเปรียบเทียบกับสตริงที่กำหนดไว้ล่วงหน้าและหากข้อความตรงกับข้อความเหล่านั้นการดำเนินการที่เกี่ยวข้องเช่น 'เปิด' และปิดจะเกิดขึ้น

ในโครงการนี้เราได้ใช้คำสั่งต่อไปนี้:“ เปิด AC”,“ ปิด AC”,“ เปิดไฟ”,“ ปิดไฟ”,“ เปิดทีวี”,“ ปิดทีวี”,“ เปิดพัดลม ”,“ เปิดทั้งหมด” และ“ ปิดทั้งหมด”

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

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

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

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

2). ตอนนี้เปิด Arduino IDE จาก Tools ให้ตั้งค่าบอร์ด Arduino เป็น Arduino / Genuino UNO

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

3). จากเมนูเครื่องมือเดียวกันตั้งค่าหมายเลขพอร์ตที่คุณเห็นในแผงควบคุม

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

4). ในการใช้แอพที่ควบคุมด้วยเสียงนี้เราจำเป็นต้องมีไลบรารีพิเศษเพื่อรวมอยู่ใน Arduino IDE ไลบรารีนี้แนบมาในลิงค์ด้านล่างพร้อมกับรหัส หากต้องการรวมไลบรารีให้ไปที่ Sketch> รวมไลบรารี> เพิ่ม ZIP ห้องสมุด .

รวมห้องสมุด

5). ดาวน์โหลดรหัสที่แนบด้านล่างและคัดลอกไปยัง IDE ของคุณ ในการอัปโหลดรหัสคลิกที่ปุ่มอัปโหลด

คุณสามารถดาวน์โหลดรหัสได้โดย คลิกที่นี่

ขั้นตอนที่ 7: ทำความเข้าใจรหัส

จรรยาบรรณยังไม่ซับซ้อนนัก แต่ถึงกระนั้นบางส่วนมีการอธิบายสั้น ๆ ไว้ด้านล่าง

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

# รวม const int rxPin = 2; // เริ่มต้น pisns สำหรับโมดูลบลูทู ธ const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // เริ่มต้นพินสำหรับเครื่องใช้ในบ้าน int light = 5; แฟน int = 6; int ทีวี = 7; ข้อมูลสตริง;

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

การตั้งค่าเป็นโมฆะ () {Serial.begin (9600); mySerial.begin (9600); PinMode (ac, เอาท์พุท); PinMode (แสง, เอาท์พุท); PinMode (พัดลมเอาท์พุท); PinMode (ทีวี, เอาท์พุท); digitalWrite (ac ต่ำ); digitalWrite (แสงต่ำ); digitalWrite (พัดลม LOW); digitalWrite (ทีวี, LOW); }

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

ในขณะที่ (1) // รับอินพุตแบบอนุกรม {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

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

ถ้า (ข้อมูล == '* เปิด AC') {digitalWrite (ac, HIGH); Serial.println ('ac บน'); } else if (data == '* ปิด AC') {digitalWrite (ac, LOW); Serial.println ('ปิด ac'); } else if (data == '* เปิดไฟ') {digitalWrite (light, HIGH); Serial.println ('เปิดไฟ'); } else if (data == '* ปิดไฟ') {digitalWrite (light, LOW); Serial.println ('ปิดไฟ'); } else if (data == '* เปิดพัดลม') {digitalWrite (พัดลมสูง); Serial.println ('เปิดพัดลม'); } else if (data == '* turn off fan') {digitalWrite (fan, LOW); Serial.println ('ปิดพัดลม'); } else if (data == '* เปิดทีวี') {digitalWrite (ทีวีสูง); Serial.println ('ทีวีเปิด'); } else if (data == '* เปิดทีวี') {digitalWrite (ทีวี, LOW); Serial.println ('ปิดทีวี'); } else if (data == '* เปิดทั้งหมด') {digitalWrite (ac, HIGH); digitalWrite (แสงสูง); digitalWrite (พัดลมสูง); digitalWrite (ทีวีสูง); Serial.println ('เปิดทั้งหมด'); } else if (data == '* ปิดทั้งหมด') {digitalWrite (ac, LOW); digitalWrite (แสงต่ำ); digitalWrite (พัดลม LOW); digitalWrite (ทีวี, LOW); Serial.println ('ปิดทั้งหมด'); }}

การใช้งาน

  1. ระบบ Home Automation ที่เปิดใช้งานด้วยเสียงจะช่วยให้เราควบคุมโหลดต่างๆ (เครื่องใช้ไฟฟ้า) ด้วยคำสั่งเสียงง่ายๆ
  2. คนพิการจะได้รับประโยชน์มากมายจากโครงการนี้หากพวกเขาไม่สามารถเดินไปมาได้สามารถสั่งงานด้วยเสียงและเลี้ยว บน หรือ ปิด เครื่องใช้
  3. โครงการนี้ยังสามารถขยายได้โดยการเพิ่มเซ็นเซอร์ต่างๆ (แสงควัน ฯลฯ )