در شماتیک بالا نحوه اتصال ماژول بلوتوث و آردوینو نشان داده شده است.
بلوتوث سادهترین و محبوبترین پروتکل ارتباطی بیسیم برد کوتاه در سیستمهای مخابراتی محسوب میشود. این پروتکل نه تنها برای انتقال دادهها از یک دستگاه به دستگاه دیگر بلکه برای کنترل بیسیم دستگاهها نیز مورد استفاده قرار میگیرد. در حال حاضر تقریباً هر ابزار الکترونیکی از بلوتوث پشتیبانی میکند. بنابراین کنترل تجهیزات توسط بلوتوث روشی مفید است.
در این آموزش نحوهی استفاده از بلوتوث در متلب برای برقراری ارتباط بی سیم مورد بررسی قرار گرفته است. ازبلوتوث داخلی رایانه و متلب در یک طرف و ماژول بلوتوث HC-05 و آردوینو در طرف دیگر استفاده خواهد شد. دو روش برای برقراری ارتباط بین متلب و آردوینو از طریق بلوتوث وجود دارد. یکی استفاده از پنجره دستورات (Command Window) و دیگری استفاده از رابط گرافیکی (GUI) است. کد آردوینو برای هر دو روش یکسان است.
# | عنوان | تعداد | لینک |
---|---|---|---|
0 | بورد آردوینو | 1 | لینک خرید |
1 | ماژول بلوتوث HC-05 | 1 | لینک خرید |
2 | برد بورد | 1 | لینک خرید |
3 | سیم جامپر | 1 | لینک خرید |
در شماتیک بالا نحوه اتصال ماژول بلوتوث و آردوینو نشان داده شده است.
استفاده از پنجره دستورات متلب (Command Window) سادهترین روش برای ارتباط بلوتوث بین آردوینو و متلب است. در اینجا متلب از بلوتوث لپتاپ برای اتصال به ماژول HC-05 متصلشده به آردوینو استفاده میکند. دادههای دریافتی از متلب به منظور کنترل تجهیزات متصل شده به آردوینو میتواند استفاده شود. در این آموزش هدف کنترل یک LED توسط متلب است. در گام اول برنامه زیر در آردوینو بارگذاری میشود.
#include <SoftwareSerial.h>
int TxD;
int RxD;
int data;
SoftwareSerial bluetooth(TxD, RxD);
void setup() {
Serial.begin(9600);
bluetooth.begin(9600);
}
void loop()
{
if(bluetooth.available() > 0)
{
data = bluetooth.read();
Serial.print(data);
Serial.print("\n");
if(data == '1')
{
digitalWrite(11, HIGH);
}
else if(data == '0')
{
digitalWrite(11, LOW);
}
}
}
در گام بعدی کد زیر در Command Window متلب اجرا میشود.
instrhwinfo('Bluetooth','HC-05');
bt = Bluetooth('HC-05', 1);
fopen(bt);
در کد زیر دستور(’fprintf(bt,‘0 با ارسال '0' برای خاموش کردن LED استفاده میشود. برای روشن کردن LED از همین دستور نیز استفاده شده، با این تفاوت که به جای '0' ، '1' ارسال میشود.
fprintf(bt,'1');
برای بررسی اطلاعات مربوط به سخت افزار موجود ، از دستور زیر استفاده شده است.
instrhwinfo('type','Name of device');
برای باز کردن پورت بلوتوث دستور زیر استفاده شده است.
fopen(bt);
برای درک روند کامل ارسال داده از MATLAB به آردوینو با استفاده از بلوتوث ، فیلم زیر را مشاهده کنید.