برای بارگذاری کد در آردوینو همیشه به اتصال کابل USB به کامپیوتر نیاز داریم. بنابراین ممکن است پروژه ای را طراحی کنیم که دسترسی با سیم به آن سخت باشد. هدف ما در این پروژه پروگرم کردن برنامه با استفاده از ماژول بلوتوث hc05 به صورت بی سیم است. تا انتهای مطلب همراه ما باشید تا پروگرم کردن آردوینو با ماژول بلوتوث را بخوانید.
آموزش پروگرم کردن آردوینو با ماژول بلوتوث
ابزار مورد نیاز
- آردوینو UNO
- ماژول بلوتوث HC05
- سیم اتصال
- مقاومت 1K ، 2.2K
- خازن (0.1uF)
- آداپتور برق
- برد بورد
توضیحات ماژول HC05
ماژول بلوتوث HC-05 یک ماژول سریال بلوتوث است. این ماژول برای تبدیل پورت سریال به بلوتوث مورد استفاده قرار می گیرد. به عبارتی با استفاده از این ماژول می توانیم از طریق بلوتوث یک ارتباط به صورت بی سیم بین دو دستگاه ایجاد کنیم .در این پروژه ماژول بلوتوث رابط دیتا بین آردوینو و لپ تاپ است.به منظور جلوگیری از آسیب دیدن ماژول ، باید از یک مدار تقسیم مقاومت (5V تا 3.3V) بین پین arduino TX و پین ماژول RX استفاده می کنیم.
ماژول HC05 دارای دو حالت عملکرد است ، یکی حالت Data است که در آن می تواند داده ها را از سایر دستگاه های بلوتوث ارسال و دریافت کند و دیگری حالت AT Command است که در آن تنظیمات پیش فرض دستگاه (آردوینو )قابل تغییر است.
کدنویسی
برای برنامه نویسی بی سیم Arduino ، ابتدا باید Arduino را طوری برنامه ریزی کنیم که به دستورات AT command که ماژول آن را میفرستد پاسخ بدهد. برای این کار ، Arduino را به پورت سریال لپ تاپ متصل کرده و کد زیر را بارگذاری می کنیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <SoftwareSerial.h> SoftwareSerial HC05(2,3); void setup() { Serial.begin(9600); Serial.println("Enter AT commands:"); HC05.begin(38400); } void loop() { if (HC05.available()) Serial.write(HC05.read()); if (Serial.available()) HC05.write(Serial.read()); } |
توضیحات کد
1 2 |
<span style="font-family: 'comic sans ms', sans-serif;">#include <S</span>oftwareSerial.h> SoftwareSerial HC05(2,3); |
دو خط اول کد کتابخانه SoftwareSerial و تعریف پین های فرستنده و گیرنده در محل اتصال بلوتوث است. از کتابخانه SoftwareSerial برای برقراری ارتباط سری با پین دیجیتالی غیر از پین های سخت افزار Tx و Rx آردوینو استفاده می شود.
1 2 3 4 5 6 |
void setup() { Serial.begin(9600); Serial.println("Enter AT commands:"); HC05.begin(38400); } |
اکنون در داخل void set up، بادریت (baud rate) را برای هر دو پورت سریال سخت افزار و نرم افزار تعریف می کنیم. بادریت برای پورت های سخت افزاری و نرم افزاری به ترتیب 9600 و 38400 است.
1 2 3 4 5 6 7 |
void loop() { if (HC05.available()) Serial.write(HC05.read()); if (Serial.available()) HC05.write(Serial.read()); } |
دو شرط if در تابع void استفاده می شود. شرط اول بررسی می کند که آیا دستور به HC05 داده شده است ، در صورت مثبت بودن ، آن را در Arduino Serial Monitor بنویسد. شرط دوم بررسی می کند که آیا دستور به Arduino Serial Monitor داده شده است ، اگر بله ، آن را به HC05 ارسال کند.
پس از امادگی برد آردوینو برای دریافت AT command حال ماژول را در حالت AT command قرار می دهیم .آردوینو را به ماژول HC05 وصل می کنیم و مدار را به صورت زیر می بندیم:
قبل از اتصال آردوینو به لپتاب کلید روی ماژول را فشار داده ونگه می داریم سپس آردوینو را به لپتاب وصل می کنیم LED در فاصله 2 ثانیه شروع به چشمک زدن می کند بدین صورت ماژول روی حالت AT command قرار می گیرد در حالت AT command کندتر از حالت عادی چشمک می زند.
حالا یک سریال مانیتور باز می کنیم و دستورات زیر را وارد می کنیم ، هر بار که دستور با موفقیت اجرا شود ، برد با “OK” پاسخ می دهد.
1 2 3 4 5 |
AT+ORGL AT+ROLE=0 AT+POLAR=1,0 AT+UART=115200, 0, 0 AT+INIT |
پس از تست موفقیت آمیز پاسخ اردوینو به AT command ، کافی است تمام اتصالات را حذف کرده و مطابق شکل زیر مدار را ببندیم.
برای تغذیه آردوینو از آداپتور یا باتری 9V استفاده می کنیم. به “devices” در لپ تاپ خود می رویم، بلوتوث را روشن کرده و سپس ماژول بلوتوث را به لپ تاپ خود وصل می کنیم.
پس از جفت شدن موفقیت آمیز دستگاه ، وظیفه بعدی یافتن پورت COM برای ماژول بلوتوث HC05 است. برای انجام این کار ، به ” Device Manager” می رویم و گزینه COM Ports را علامت می زنیم دو درگاه COM ، یکی برای ورودی و دیگری برای خروجی نمایش می دهد. هنگام بارگذاری برنامه ، باید شماره پورت COM دوم را انتخاب کنیم.
اکنون Arduino IDE را باز کرده و برنامه Blink را انتخاب می کنیم، پورت com مناسب را انتخاب کرده و دکمه بارگذاری را فشار می دهیم. اگر همه چیز درست بود ، LED داخلی Arduino در فاصله 1 ثانیه شروع به چشمک زدن می کند.
ارسال پاسخ