![](https://duino4projects.com/wp-content/uploads/2019/09/Connecting-stuff-Via-Bluetooth-Android-Arduino.jpg)
یک شبکه محلی بی سیم بسیار خوب (و شخصی) بدون شک بلوتوث (BT) است. امروزه در روز مرسوم است که ما را با استفاده از تلفن های همراه، استریو، دوربین ها و غیره که به کمک معروف "نور کوچک آبی" به هم متصل شده اند، بیابند.
در دنیای اینترنت اشیا و به طور کلی اتوماسیون، یافتن کنترل از راه دور از طریق تلفن های همراه با استفاده از فناوری BT بسیار رایج است. این به دلیل دو جزء اساسی است، اما بسیار مهم است:
- پلتفرم های توسعه ساده برای برنامه های ANDROID (مانند MIT AppInventor2) و
- ماژول های BT مقرون به صرفه (مانند HC-06)
در این آموزش، من ایده هایی را در مورد کنترل خروجی های آردوینو از طریق یک دستگاه تلفن همراه به منظور حرکت ربات، روشن کردن لامپ ها در خانه و غیره توسعه خواهم داد.
مرحله 1: ماژول بلوتوث و آردوینو
![](https://duino4projects.com/wp-content/uploads/2021/12/The-Bluetooth-Module-and-the-Arduino.jpg)
در بازار یافتن ماژول های "Master-Slave" BT 3.0 به عنوان HC-05 و "Slave" به عنوان HC-06 بسیار رایج است. اخیراً، HC-08 و HC-10 ظاهر شدند که با فناوری BT 4.0 یا BLE ("بلوتوث کم انرژی") کار می کردند. ماژول های BLE تنها ماژول هایی هستند که می توانند به آیفون متصل شوند، زیرا متأسفانه اپل از BT 3.0 پشتیبانی نمی کند.
برای پروژه های مورد بحث در اینجا، من از یک HC-06 استفاده می کنم که بسیار محبوب و ارزان است (بای، بای، آی فون! اندرویدها اینجا پادشاه هستند!). ماژول BT با 5 ولت تغذیه می شود که باعث می شود به عنوان مثال به راحتی به Arduino UNO متصل شود. پایه های انتقال (Tx) و دریافت (Rx) او را می توان مستقیماً به UNO متصل کرد، بدون نیاز به تقسیم کننده ولتاژ همانطور که در مورد ESP8266 می بینیم. معمولاً HC-06 باید مستقیماً به پین های 0 و 1 آردوینو ("سریال 0") وصل شود:
- پین HC06-Tx به آردوینو 0 (Rx)
- پین 1 HC06-Rx به آردوینو (Tx)
هنگام استفاده از ورودی های «سریال 0» (تنها پورت سریال HW در UNO)، بسیار مهم است که به خاطر داشته باشید که HC-06 ممکن است به صورت فیزیکی به پین های 0 و 1 در حین بارگذاری برنامه متصل نباشد، زیرا درگاه USB نیز از همان سریال یک راه ساده برای دور زدن این مشکل کوچک (اگر پروژه شما از GPIO های UNO زیادی استفاده نمی کند) استفاده از "پورت سریال SW" از طریق کتابخانه SoftwareSerial است. در مورد ما در اینجا، از پین های 10 و 11 UNO (به ترتیب Tx، Rx) استفاده خواهیم کرد.
مرحله 2: آزمایش و پیکربندی HC-06
گام بعدی نوشتن یک کد ساده به منظور آزمایش، برنامه ریزی و مقداردهی اولیه HC-O6 است:
برای شروع، مجموعه نرم افزار کتابخانه را اضافه کنید و متغیر "BT" را روی پورت سریال جدید تنظیم کنید.
#include <SoftwareSerial.h> SoftwareSerial BT (10, 11); // RX, TX String command = ""; // Stores response of bluetooth device void setup () { Serial.begin (9600); Serial.println ("Type AT commands"); BT.begin (9600); // HC-06 Usually default baud-rate }
سپس بخش اصلی کد می آید که به سادگی منتظر داده هایی است که از BT می آید. پس از رسیدن، داده ها در مانیتور سریال نوشته می شوند. به همین ترتیب، دستورات AT را می توان از مانیتور سریال به ماژول HC-06 ارسال کرد.
void loop () { if (BT.available ()) // receive data if available. { while (BT.available ()) // "keep receiving". { delay (10); // Delay added to make thing stable char c = BT.read (); // Conduct serial read command + = c; // Build the string. } Serial.println (command); command = ""; // No repeats } if (Serial.available ()) { delay (10); BT.write (Serial.read ()); } }
هنگامی که برنامه بارگذاری شد، با استفاده از مانیتور سریال چند آزمایش اساسی را انجام دهید، به عنوان مثال:
- "AT" را ارسال کنید، ماژول باید "OK" را پاسخ دهد.
- نسخه سفتافزار را بپرسید: ”AT + VERSION”، ماژول باید پاسخگو باشد، برای مثال: ”linvorV1.8”.
- با HC-06 می توانید یک نام برای ماژول تعریف کنید: "T + NAMEMJRoBot_BT_HC06". اما بر خلاف ماژول های دیگر، نمی توانید بدانید نامی که برای ماژول تنظیم شده است چیست. هنگام ارسال فرمان قبلی، HC-06 به سادگی پاسخ می دهد: "OKsetname".
به طور کلی، HC-O6 به طور استاندارد با رمز عبور (یا پین): 1234 ارائه می شود. می توانید رمز عبور جدیدی را با دستور AT تنظیم کنید:
- AT + PIN xxxx که در آن "xxxx" 4 عدد خواهد بود.
در زیر کد آردوینو برای تست HC-06:
مرحله 3: دستگاه Android
![](https://duino4projects.com/wp-content/uploads/2019/09/The-Android-Device.jpg)