เราทุกคนคุ้นเคยกับคำว่า 'Automation' ซึ่งปฏิสัมพันธ์ของมนุษย์มีน้อยมากและสามารถควบคุมสิ่งต่างๆได้โดยอัตโนมัติหรือจากระยะไกล ระบบอัตโนมัติในบ้านเป็นแนวคิดที่ได้รับความนิยมและเป็นที่ต้องการอย่างมากในด้านอิเล็กทรอนิกส์และเรายังพยายามอย่างเต็มที่เพื่อให้แนวคิดนี้สามารถเข้าใจได้ง่ายและสามารถจัดการได้ในฐานะโครงการอิเล็กทรอนิกส์ ก่อนหน้านี้เราได้พัฒนาโครงการ Home Automationหลายประเภทด้วยวิดีโอและรหัสที่ใช้งานได้โปรดตรวจสอบ:
- ระบบอัตโนมัติภายในบ้านที่ใช้ DTMF
- ระบบอัตโนมัติในบ้านที่ใช้ GSM โดยใช้ Arduino
- พีซีควบคุมระบบอัตโนมัติในบ้านโดยใช้ Arduino
- ระบบอัตโนมัติภายในบ้านที่ควบคุมด้วยบลูทู ธ โดยใช้ 8051
- IR Remote Controlled Home Automation โดยใช้ Arduino
และในโครงการนี้เรากำลังจะสร้างโครงการระบบอัตโนมัติในบ้านต่อไปโดยใช้ MATLAB และ Arduinoซึ่งเป็นระบบอัตโนมัติในบ้านที่ใช้ GUI โดยใช้ Arduino และ MATLAB
ส่วนประกอบ:
- Arduino UNO
- สาย USB
- ULN2003
- รีเลย์ 5 โวลต์
- หลอดไฟพร้อมที่ยึด
- การเชื่อมต่อสายไฟ
- แล็ปท็อป
- แหล่งจ่ายไฟ
- PVT
คำอธิบายการทำงาน:
ในโครงการนี้เราจะใช้MATLAB กับ Arduino เพื่อควบคุมเครื่องใช้ในบ้านผ่านอินเตอร์เฟซผู้ใช้แบบกราฟิกในคอมพิวเตอร์ ที่นี่เราได้ใช้การสื่อสารแบบใช้สายเพื่อส่งข้อมูลจากคอมพิวเตอร์ (MATLAB) ไปยัง Arduino ในด้านคอมพิวเตอร์เราได้ใช้ GUI ใน MATLAB เพื่อสร้างปุ่มสำหรับควบคุมเครื่องใช้ภายในบ้าน สำหรับการสื่อสารระหว่าง Arduino และ MATLAB อันดับแรกเราต้องติดตั้ง“ MATLAB และ Simulink Support for Arduino ” หรือ“ Arduino IO Package ” โดยทำตามขั้นตอนด้านล่างหรือตรวจสอบวิดีโอด้านล่าง:
- ดาวน์โหลด Arduino IO Package จากที่นี่ คุณต้องลงทะเบียนก่อนดาวน์โหลด
- จากนั้นเบิร์น / อัปโหลดไฟล์ adioe.pde ไปยัง Arduino โดยใช้ Arduino IDE ไฟล์ adioe.pde นี้สามารถพบได้ใน Arduino IO Package - ArduinoIO \ pde \ adioe \ adioe.pde
- จากนั้นเปิดซอฟต์แวร์ MATLAB ไปที่โฟลเดอร์ Arduino IO เปิดไฟล์ install_arduino.m แล้วเรียกใช้ใน Matlab คุณจะเห็นข้อความ“ โฟลเดอร์ Arduino ที่เพิ่มไปยังเส้นทาง” ในหน้าต่างคำสั่งของ MATLAB หมายความว่าเส้นทาง MATLAB ได้รับการอัปเดตไปยังโฟลเดอร์ Arduino
นั่นคือวิธีที่เราสร้าง Arduino สื่อสารกับ MATLAB วิธีการด้านบนเหมาะสำหรับ“ MATLAB R2013b หรือเวอร์ชันก่อนหน้า” หากคุณใช้ MATLAB เวอร์ชันที่สูงกว่า (เช่น R2015b หรือ R2016a) คุณสามารถคลิกที่แท็บส่วนเสริมใน MATLAB ได้โดยตรงจากนั้นคลิก“ รับแพ็คเกจการสนับสนุนฮาร์ดแวร์” จากจุดที่คุณสามารถติดตั้งแพ็คเกจ Arduino สำหรับ MATLAB
หลังจากติดตั้งไฟล์ตอนนี้คุณสามารถสร้าง GUI สำหรับ Home Automation Project ได้แล้ว โดยทั่วไปใน GUI เรากำลังสร้างปุ่มกดสำหรับควบคุมเครื่องใช้ภายในบ้านจากคอมพิวเตอร์ สามารถสร้างปุ่มต่างๆได้โดยไปที่“ ส่วนต่อประสานผู้ใช้แบบกราฟิก” ในเมนู“ ใหม่” ใน MATLAB นอกจากนี้เรายังสามารถตั้งชื่อและสีของปุ่มเหล่านี้ได้เราได้สร้างปุ่มขึ้นมา 8 ปุ่มซึ่งหกถึงเปิดและปิดเครื่องใช้ไฟฟ้าภายในบ้านสามปุ่มและปุ่มสองปุ่มเพื่อเปิดและปิดเครื่องใช้ทั้งหมดพร้อมกัน
ตอนนี้หลังจากที่การสร้างปุ่มเมื่อคุณคลิกที่ปุ่มเรียกใช้ในหน้าต่าง GUI นั้นก็จะขอให้คุณบันทึกแฟ้ม GUI นี้ (กับ.fig ส่วนขยาย) ยังเป็นที่รู้จักกันในชื่อไฟล์มะเดื่อ ' ทันทีที่คุณบันทึกไฟล์ไฟล์จะสร้างไฟล์โค้ดโดยอัตโนมัติ (ที่มีนามสกุล. m) หรือที่เรียกว่า ' M file' (ดูภาพหน้าจอด้านล่าง) ซึ่งคุณสามารถใส่รหัส (ระบุในส่วนรหัสด้านล่าง) คุณสามารถดาวน์โหลดไฟล์ GUI และไฟล์ Code สำหรับโปรเจ็กต์นี้ได้จากที่นี่: Home_Automation_system.fig และ Home_Automation_system.m (คลิกขวาและเลือกบันทึกลิงก์เป็น…) หรือคุณสามารถสร้างขึ้นเองตามที่เราได้อธิบายไว้
หลังจากเขียนโค้ดแล้วคุณสามารถเรียกใช้ไฟล์. m จากหน้าต่างโค้ดได้ในที่สุดคุณจะเห็น“ กำลังพยายามเชื่อมต่อ.. ” ในหน้าต่างคำสั่ง จากนั้นข้อความ“ Arduino สำเร็จเชื่อมต่อ” จะปรากฏขึ้นหากทุกอย่างเป็นไปด้วยดี และในที่สุดคุณจะเห็น GUI (ปุ่ม) ที่สร้างไว้ก่อนหน้านี้ในหน้าต่าง GUI ซึ่งคุณสามารถควบคุมเครื่องใช้ภายในบ้านได้โดยคลิกที่ปุ่มในคอมพิวเตอร์ของคุณ ตรวจสอบให้แน่ใจว่า Arduino เชื่อมต่อกับ Arduino ผ่านสาย USB ในโครงการนี้เราได้ใช้หลอดไฟ 3 หลอดในการสาธิตซึ่งบ่งบอกถึงพัดลมไฟและทีวี
สามารถเข้าใจการทำงานของโครงการทั้งหมดตั้งแต่การติดตั้งแพคเกจการสนับสนุน Arduino MATLAB ไปจนถึงการเปิดหรือปิดอุปกรณ์สามารถเข้าใจได้ที่วิดีโอในตอนท้าย
คำอธิบายวงจร:
วงจรของโครงการนี้ง่ายมาก ที่นี่เราได้ใช้บอร์ด Arduino UNO และ Relay Driver ULN2003สำหรับรีเลย์การขับขี่ รีเลย์ SPDT 5 โวลต์สามตัวเชื่อมต่อกับขา Arduino หมายเลข 3, 4 และ 5 ผ่านไดรเวอร์รีเลย์ ULN2003 สำหรับควบคุม LIGHT, FAN และ TV ตามลำดับ
คำอธิบายการเขียนโปรแกรม:
เมื่อเรากดปุ่มใด ๆ จากหน้าต่าง GUI มันจะส่งคำสั่งบางอย่างไปยัง Arduino จากนั้น Arduino จะดำเนินการดังกล่าว หลังจากติดตั้งแพ็คเกจรองรับ Arduino MATLAB IO เราสามารถเข้าถึง Arduino จาก MATLAB ได้โดยใช้ฟังก์ชัน Arduino เดียวกันโดยมีรูปแบบเล็กน้อยเช่น:
สำหรับการสร้าง PIN HIGH ใน Arduino เราจะเขียนโค้ดเป็น digitalWrite (pin, HIGH)
ใน MATLAB เราจะใช้ฟังก์ชันนี้ด้วยความช่วยเหลือของวัตถุหรือตัวแปรเช่น
และในทำนองเดียวกัน
ก่อนที่จะทำสิ่งนี้เราต้องเริ่มต้นตัวแปรดังนี้:
ในโปรเจ็กต์นี้ไม่มีโค้ด Arduino ยกเว้นโค้ดหรือไฟล์แพ็คเกจสนับสนุน Arduino MATLAB ตามที่อธิบายไว้ก่อนหน้านี้ว่าไฟล์โค้ด (ไฟล์. m) ถูกสร้างขึ้นโดยอัตโนมัติในขณะที่บันทึกไฟล์ GUI (ไฟล์. fig) มีโค้ดบางส่วนที่เขียนไว้แล้วในไฟล์. m โดยพื้นฐานแล้วสิ่งเหล่านี้คือฟังก์ชัน Callback สำหรับปุ่ม Push ซึ่งหมายความว่าเราสามารถกำหนดสิ่งที่จะเกิดขึ้นเมื่อคลิกที่ปุ่ม Push เหล่านี้
ในรหัส MATLAB อันดับแรกเราเริ่มต้นพอร์ตอนุกรมและทำให้เป็นวัตถุโดยใช้ตัวแปร จากนั้นเราสามารถเริ่มการเขียนโปรแกรมเช่น Arduino โดยใช้ตัวแปร
ชัดเจน ar; ar ทั่วโลก; ar = arduino ('COM13'); ar.pinMode (3, 'เอาท์พุท'); ar.pinMode (4, 'เอาท์พุท'); ar.pinMode (5, 'เอาท์พุท'); ar.pinMode (13, 'เอาท์พุท');
ในฟังก์ชันเรียกกลับของแต่ละปุ่มเราได้เขียนโค้ดที่เกี่ยวข้องสำหรับเปิดหรือปิดเครื่องใช้ภายในบ้านที่เกี่ยวข้องซึ่งเชื่อมต่อกับ Arduino ผ่านรีเลย์ ตัวอย่างเช่นฟังก์ชัน Callback สำหรับ Light ON มีให้ด้านล่าง:
function light_on_Callback (hObject, eventdata, handles)% hObject handle ถึง light_on (ดู GCBO)% eventdata ที่สงวนไว้ - ที่จะกำหนดไว้ใน MATLAB% เวอร์ชันในอนาคตจะจัดการโครงสร้างพร้อมแฮนเดิลและข้อมูลผู้ใช้ (ดู GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
ในทำนองเดียวกันเราสามารถเขียนโค้ดในฟังก์ชัน Callback ของปุ่มทั้งหมดเพื่อควบคุมเครื่องใช้ในบ้านอื่น ๆ ที่เชื่อมต่อให้ตรวจสอบรหัส MATLAB เต็มด้านล่าง (ไฟล์. m)