- ส่วนประกอบที่จำเป็น
- แผนภูมิวงจรรวม
- การสื่อสารบลูทู ธ โดยใช้หน้าต่างคำสั่ง MATLAB
- การสื่อสาร Bluetooth โดยใช้ MATLAB GUI
บลูทู ธ เป็นโปรโตคอลที่ง่ายที่สุดและเป็นที่นิยมมากที่สุดสำหรับการสื่อสารไร้สายระยะสั้นในระบบฝังตัว บลูทู ธ ไม่ได้ใช้สำหรับการถ่ายโอนข้อมูลจากอุปกรณ์หนึ่งไปยังอีกเครื่องหนึ่งเท่านั้น แต่ยังใช้เพื่อควบคุมอุปกรณ์แบบไร้สายด้วย อุปกรณ์อิเล็กทรอนิกส์เกือบทุกชิ้นรองรับบลูทู ธ ในปัจจุบันดังนั้นจึงเป็นทางเลือกที่ชาญฉลาดที่จะมีตัวเลือกการควบคุมบลูทู ธ ในแอปพลิเคชันที่ฝังไว้
ในบทช่วยสอนนี้เราจะเรียนรู้วิธีใช้บลูทู ธ ใน MATLAB เพื่อสื่อสารแบบไร้สาย เราจะใช้บลูทู ธ ในตัวของคอมพิวเตอร์กับ MATLAB ที่ด้านหนึ่งและ HC-05 กับ Arduino ที่ด้านอื่น ๆ มีสองวิธีในการตั้งค่าการสื่อสารระหว่าง MATLAB และ Arduino ผ่านบลูทู ธ วิธีหนึ่งคือการใช้หน้าต่างคำสั่งและอีกวิธีหนึ่งคือการใช้ MATLAB GUI รหัส Arduino สำหรับทั้งสองวิธีจะยังคงเหมือนเดิม หากคุณยังใหม่กับ MATLAB ขอแนะนำให้เริ่มต้นด้วยโปรแกรม LED กะพริบอย่างง่ายด้วย MATLAB และเรียนรู้คำศัพท์พื้นฐานที่ใช้ใน MATLAB คุณสามารถสำรวจโครงการ MATLAB เพิ่มเติมได้:
- การสื่อสารแบบอนุกรมระหว่าง MATLAB และ Arduino
- การควบคุมมอเตอร์ DC โดยใช้ MATLAB และ Arduino
- Stepper Motor Control โดยใช้ MATLAB และ Arduino
- เริ่มต้นกับการประมวลผลภาพโดยใช้ MATLAB
ส่วนประกอบที่จำเป็น
- MATLAB ติดตั้งแล็ปท็อป (ค่ากำหนด: R2016a ขึ้นไป)
- Arduino UNO
- โมดูลบลูทู ธ (HC-05)
- LED (สีใดก็ได้)
- ตัวต้านทาน (330 โอห์ม)
- สายจัมเปอร์
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับHC-05 และการเชื่อมต่อกับ Arduinoโปรดดูบทความต่อไปนี้
- เซอร์โวมอเตอร์ที่ควบคุมด้วยบลูทู ธ โดยใช้ Arduino
- ไฟ LED ที่ควบคุมด้วยเสียงโดยใช้ Arduino และ Bluetooth
- โทรศัพท์มือถือควบคุม AC โดยใช้ Arduino และ Bluetooth
แผนภูมิวงจรรวม
แผนงานสำหรับ การสื่อสารบลูทู ธ ระหว่าง MATLAB และ Arduino มีดังต่อไปนี้:
การสื่อสารบลูทู ธ โดยใช้หน้าต่างคำสั่ง MATLAB
นี่เป็นวิธีง่ายๆในการตั้งค่าการสื่อสารบลูทู ธ ระหว่าง Arduino และ MATLAB ที่นี่MATLAB ใช้บลูทู ธ ของแล็ปท็อปเพื่อเชื่อมต่อ HC-05 ที่เชื่อมต่อกับ Arduino ก่อนอื่นเราต้องเขียนโค้ด Arduino เพื่ออ่านข้อมูลขาเข้าแบบอนุกรมที่มาจาก MATLAB (โดยใช้ Bluetooth ของแล็ปท็อป)
จากนั้นบลูทู ธ ที่ส่งข้อมูลจาก MATLAB นี้สามารถใช้เพื่อควบคุมทุกสิ่งที่เชื่อมต่อกับ Arduino ที่นี่เราได้เชื่อมต่อ LED กับ Arduinoที่สามารถควบคุมได้จาก LAPTOP โดยใช้ MATLAB
ขั้นแรกอัปโหลดรหัส Arduino ที่กำหนดใน Arduino UNOจากนั้นเริ่มการเข้ารหัสในหน้าต่างคำสั่ง MATLAB
# รวม
จากนั้นคัดลอกและวางโค้ด MATLAB ด้านล่างในหน้าต่างคำสั่งสำหรับการสื่อสารบลูทู ธ ระหว่าง MATLAB และ Arduino
instrhwinfo ('บลูทู ธ ', 'HC-05'); bt = บลูทู ธ ('HC-05', 1); fopen (bt);
ในโค้ดด้านล่างคำสั่ง fprintf (bt, '0') ใช้เพื่อปิด LED โดยส่ง '0' ไปยัง Arduino ตอนนี้ถ้าคุณต้องการเปิดไฟ LED ให้ส่ง '1' แทน '0' โดยใช้คำสั่งด้านล่าง
fprintf (bt, '1');
ในการตรวจสอบข้อมูลเกี่ยวกับฮาร์ดแวร์ที่มีให้ใช้คำสั่งด้านล่าง
instrhwinfo ('type', 'ชื่ออุปกรณ์');
หากต้องการเปิดพอร์ตบลูทู ธ ให้ใช้คำสั่งด้านล่าง
fopen (bt);
ตรวจสอบวิดีโอด้านล่างเพื่อเข้าใจกระบวนการที่สมบูรณ์ของ การส่งข้อมูลจาก MATLAB เพื่อ Arduino ใช้บลูทู ธ
การสื่อสาร Bluetooth โดยใช้ MATLAB GUI
สำหรับการสาธิตการสื่อสารบลูทู ธ โดยใช้ MATLAB GUI เราจะสร้างปุ่มกราฟิกสามปุ่มใน MATLABเพื่อเปิดปิดและกะพริบ LED ที่เชื่อมต่อกับ Arduino ข้อมูลจะถูกส่งผ่านบลูทู ธ จาก MATLAB ไปยัง HC-05 เมื่อคลิกที่ปุ่มกราฟิกเหล่านั้น Arduino มีรหัสเพื่อรับข้อมูลที่ส่งผ่าน Bluetooth จาก MATLAB ไปยัง HC-05 และควบคุม LED ตามข้อมูลที่ได้รับ รหัส Arduino จะยังคงเหมือนเดิมมีข้อแตกต่างเพียงอย่างเดียวคือก่อนหน้านี้เราส่งข้อมูล '1' และ '0' ผ่านหน้าต่างคำสั่งของ MATLAB และตอนนี้ข้อมูลเดียวกันจะถูกส่งเมื่อคลิกที่ปุ่มกราฟิกสามปุ่ม
ในการเปิดใช้งาน GUI ให้พิมพ์คำสั่งด้านล่างใน หน้าต่างคำสั่ง
คู่มือ
หน้าต่างป๊อปอัปจะเปิดขึ้นจากนั้นเลือก GUI เปล่า ใหม่ดังที่แสดงในภาพด้านล่าง
ตอนนี้เลือกปุ่มกดสามปุ่มสำหรับเปิดปิดและกะพริบ LEDดังที่แสดงด้านล่าง
หากต้องการปรับขนาดหรือเปลี่ยนรูปร่างของปุ่มกดเพียงแค่คลิกที่ปุ่มแล้วคุณจะสามารถลากมุมของปุ่มได้ การดับเบิลคลิกที่ปุ่มกดคุณสามารถเปลี่ยนสีสตริงและแท็กของปุ่มนั้น ๆ ได้ เราได้ปรับแต่งปุ่มกดสามปุ่มตามที่แสดงในภาพด้านล่าง
คุณสามารถปรับแต่งปุ่มตามที่คุณเลือก ตอนนี้เมื่อคุณบันทึกรหัสจะถูกสร้างขึ้นใน หน้าต่างตัวแก้ไข ของ MATLAB แก้ไขรหัสนี้ตามงานที่คุณต้องการทำโดย Arduino ของคุณในการรับข้อมูลบลูทู ธ โดยใช้ MATLAB GUI ด้านล่างเราได้แก้ไขโค้ด MATLAB คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับหน้าต่างคำสั่งหน้าต่างตัวแก้ไขและอื่น ๆ ในการเริ่มต้นใช้งานบทช่วยสอน MATLAB
กรอกรหัส MATLABสำหรับการควบคุม LED จาก MATLAB ผ่านบลูทู ธ ในตอนท้ายของโครงการนี้ นอกจากนี้เรายังรวมไฟล์ GUI (.fig) และไฟล์โค้ด (.m) ไว้ที่นี่เพื่อดาวน์โหลดซึ่งคุณสามารถปรับแต่งปุ่มได้ตามความต้องการของคุณ ด้านล่างนี้เป็นการปรับแต่งบางอย่างที่เราทำเพื่อควบคุม LED ที่เชื่อมต่อกับ Arduino
คัดลอกและวางโค้ดด้านล่างในบรรทัดที่ 74 เพื่อตั้งค่าหรือเชื่อมต่อ MATLAB กับ Bluetooth ของแล็ปท็อป
ลบทั้งหมด; bt ทั่วโลก; instrhwinfo ('บลูทู ธ ', 'HC-05'); bt = บลูทู ธ ('HC-05', 1); fopen (bt);
โดยที่ fopen (bt) ใช้เพื่อเปิดพอร์ตบลูทู ธ สำหรับการส่งข้อมูล
ตอนนี้เมื่อคุณเลื่อนลงคุณจะเห็นว่ามีสามฟังก์ชันที่สร้างขึ้นสำหรับปุ่มกดสามปุ่มใน GUI ตอนนี้เขียนโค้ดในฟังก์ชั่นตามงานที่คุณต้องการทำเมื่อคลิก
ในฟังก์ชั่นปุ่ม LED ON ให้คัดลอกและวางโค้ดด้านล่างก่อนสิ้นสุดฟังก์ชันเพื่อเปิด LED ในโค้ดด้านล่างนี้ fprintf (bt, '1') ใช้สำหรับส่ง '1' จาก MATLAB ไปยัง HC-05 โดยใช้บลูทู ธ ของแล็ปท็อป Arduino จะได้รับข้อมูลนี้ '1' ผ่าน HC-05 และเรืองแสง LED โดยการทำให้มัน 11 TH HIGH ขา
bt ทั่วโลก; fprintf (bt, '1');
ในฟังก์ชันของปุ่ม LED OFF ให้คัดลอกและวางโค้ดด้านล่างก่อนสิ้นสุดฟังก์ชันเพื่อปิดไฟ LED ในโค้ดด้านล่างนี้ fprintf (bt, '0') ใช้สำหรับการส่ง '0' จาก MATLAB ไปยัง HC-05 โดยใช้บลูทู ธ ของแล็ปท็อป Arduino จะรับ '0' ผ่าน HC-05 และปิด LED โดยทำให้ 11 th pin LOW
bt ทั่วโลก; fprintf (bt, '0');
ในฟังก์ชั่นของปุ่ม BLINK ให้ใช้รหัสด้านล่างเพื่อกะพริบ LED A for loop ใช้เพื่อกะพริบ LED 10 ครั้ง
bt ทั่วโลก; สำหรับ i = 1:10 fprintf (bt, '1'); หยุดชั่วคราว (0.5); fprintf (bt, '0'); หยุดชั่วคราว (0.5); จบ
หลังจากเสร็จสิ้นการเข้ารหัส MATLAB GUI และตั้งค่าฮาร์ดแวร์ตามแผนภาพวงจรแล้วเพียงคลิกที่ปุ่มเรียกใช้เพื่อเรียกใช้โค้ดที่แก้ไขในไฟล์. m
MATLAB อาจใช้เวลาไม่กี่วินาทีในการตอบสนองอย่าคลิกที่ปุ่ม GUI ใด ๆ จนกว่า MATLAB จะแสดงการบ่งชี้ไม่ว่างซึ่งคุณสามารถเห็นได้ที่มุมล่างซ้ายของหน้าจอดังที่แสดงด้านล่าง
เมื่อทุกอย่างพร้อมคลิก LED-ON, LED ปิดและปุ่ม BLINK เพื่อเปิด, ปิดและการกะพริบไฟ LED ตามลำดับ คุณสามารถดาวน์โหลดไฟล์โค้ดทั้งหมดสำหรับโปรเจ็กต์นี้ได้จากที่นี่หรือใช้โค้ดที่ระบุด้านล่าง
ตรวจสอบวิดีโอด้านล่างเพื่อเข้าใจกระบวนการที่สมบูรณ์ของ การส่งข้อมูลจาก MATLAB เพื่อ Arduino ผ่านทางบลูทู ธ โดยใช้ MATLAB GUI