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

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

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

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

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

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

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

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

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

  1. Arduino UNO: Arduino UNO เป็นบอร์ดไมโครคอนโทรลเลอร์ซึ่งประกอบด้วยไมโครชิป ATMega 328P และพัฒนาโดย Arduino.cc บอร์ดนี้มีชุดพินข้อมูลดิจิทัลและแอนะล็อกที่สามารถเชื่อมต่อกับบอร์ดขยายหรือวงจรอื่นๆ ได้ บอร์ดนี้มี 14 Digital pins, 6 Analog pins และสามารถตั้งโปรแกรมด้วย Arduino IDE (Integrated Development Environment) ผ่านสาย USB Type B ต้องใช้พลังงาน 5V บน และก รหัส Cในการดำเนินการ
  2. HC-05 Wireless Bluetooth Serial Transceiver: เราต้องการการสื่อสารแบบไร้สายในโครงการนี้ดังนั้นเราจะใช้เทคโนโลยีบลูทู ธ และสำหรับโมดูลนั้นที่จะใช้คือ HC-05 โมดูลนี้มีอัตราบอดที่ตั้งโปรแกรมได้หลายแบบ แต่อัตราการส่งข้อมูลเริ่มต้นคือ 9600 bps สามารถกำหนดค่าเป็นมาสเตอร์หรือทาสในขณะที่โมดูลอื่น HC-06 สามารถทำงานได้ในโหมดทาสเท่านั้น โมดูลนี้มีหมุดสี่ขา หนึ่งสำหรับ VCC (5V) และอีกสามรายการที่เหลือสำหรับ GND, TX และ RX รหัสผ่านเริ่มต้นของโมดูลนี้คือ 1234 หรือ 0000. หากเราต้องการสื่อสารระหว่างไมโครคอนโทรลเลอร์สองตัวหรือสื่อสารกับอุปกรณ์ใด ๆ ที่มีฟังก์ชันบลูทู ธ เช่นโทรศัพท์หรือแล็ปท็อป HC-05 ช่วยให้เราทำเช่นนั้นได้ แอปพลิเคชั่น Android หลายตัวพร้อมใช้งานแล้วซึ่งทำให้กระบวนการนี้ง่ายขึ้นมาก

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4). ในการใช้แอพที่ควบคุมด้วยเสียงนี้เราจำเป็นต้องมีไลบรารีพิเศษเพื่อรวมอยู่ใน Arduino IDE ไลบรารีนี้แนบมาในลิงก์ด้านล่างพร้อมกับรหัส หากต้องการรวมไลบรารีให้ไปที่ ร่าง> รวมไลบรารี> เพิ่ม 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 (ทีวี, เอาท์พุท); digitalWrite (ac, ต่ำ); digitalWrite (เบา ต่ำ); digitalWrite (พัดลม LOW); digitalWrite (ทีวีต่ำ); }

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

 ในขณะที่ (1) // รับอินพุตแบบอนุกรม {while (mySerial.available () <= 0); ch = mySerial.read (); ถ้า (ch == '#') ทำลาย; ข้อมูล+=ch; }

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

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

แอพพลิเคชั่น

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