|
II. BOB. O’RNATILGAN TIZIMLARDA WIFI VA BLUETOOTH TEXNOLOGIYALARINI TADQIQ ETISH
|
bet | 6/8 | Sana | 30.05.2024 | Hajmi | 1,26 Mb. | | #257176 |
Bog'liq Kurs ishi newII. BOB. O’RNATILGAN TIZIMLARDA WIFI VA BLUETOOTH TEXNOLOGIYALARINI TADQIQ ETISH.
2.1 Bluetooth orqali Arduino Uno platasini simsiz dasturlash
Arduino Uno platasi mikrokontrollerlarni o'rganish va dasturlashda o'zini sinab ko'rmoqchi bo'lganlar uchun juda qulay vositadir. Ammo uning kamchiliklaridan biri shundaki, uni dasturlash uchun siz platani kompyuterga USB kabeli orqali ulashingiz kerak va bu har doim ham mumkin emas, masalan, plata allaqachon biron bir qurilma ichida "qadoqlangan" bo'lsa. yopiq ish. Bu holatda yagona mumkin bo'lgan yechim simsiz dasturlash yoki, shuningdek, "havo orqali dasturlash" (OTA - Over the Air) deb ataladi. Ushbu turdagi dasturlash ESP8266 va ESP32 kabi mikrokontrollerlarda juda oson amalga oshiriladi, chunki ular o'rnatilgan Wi-Fi boshqaruvchisiga ega. Ammo Arduino-da simsiz dasturlashni amalga oshirish uchun biz Bluetooth modulidan foydalanishimiz kerak - biz ushbu maqolada ushbu masalalarni ko'rib chiqamiz.
2.1.1-rasm. Arduino Unoda Bluetooth texnologiyasi asosidagi loyihaning umumiy ko’rinishi
Kerakli komponentlar
Arduino Uno platasi.
Bluetooth moduli HC05.
Rezistorlar 1 kOhm, 2,2 kOm.
Kondensator 0,1 µF.
Quvvat adapteri.
Maketli plata.
Ulan uchun simlar.
HC05 moduli qabul qilingan ma'lumotlarni ketma-ket port orqali uzatuvchi Bluetooth aloqa moduli bo'lib, mikrokontrollerlar o'rtasida simsiz aloqa uchun maxsus mo'ljallangan. HC05 Bluetooth moduli sizga asosiy va yordamchi rejimlarda ishlashga va bu rejimlar o'rtasida almashishga imkon beradi. U 9600 bodda ishlaydigan ketma-ket port yordamida ulanishi mumkin, bu esa uni eng zamonaviy mikrokontrollerlarga osongina ulash imkonini beradi. HC05 moduli 3,3 V kuchlanishli kuchlanishda ishlaydi, lekin biz uni to'g'ridan-to'g'ri 5 V kuchlanishga ulashimiz mumkin, chunki u 5 V dan 3,3 V gacha o'rnatilgan kuchlanish regulyatoriga ega.
Bluetooth texnologiyasi elektron qurilmalar o'rtasida simsiz aloqani tashkil etishning eng oddiy usullaridan biridir va bizning veb-saytimizda u ko'plab loyihalarda qo'llanilgan, ularning to'liq ro'yxatini quyidagi havolada ko'rish mumkin.
Bluetooth texnologiyasidan foydalangan holda Arduino platasini dasturlash
Arduino platasini simsiz dasturlash uchun birinchi navbatda Arduino platasini AT buyruqlariga javob berish uchun dastur yozishimiz kerak. Buning uchun Arduino platasini USB kabeli yordamida kompyuteringizga ulang va unga quyidagi dastur kodini yuklang:
#include
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());
}
Ushbu dastur kodining dastlabki ikki satrida SoftwareSerial seriyali aloqa kutubxonasi ulangan va uzatish va qabul qiluvchi kontaktlar ko'rsatilgan, ular orqali Bluetooth moduli bilan o'zaro ta'sir o'tkaziladi. SoftwareSerial kutubxonasi Arduino platasining istalgan ikkita raqamli pinlarida ketma-ket aloqani (seriyali port) tashkil qilish imkonini beradi. Bundan tashqari, ushbu kutubxonadan foydalanib, Arduino platasida bir vaqtning o'zida bir nechta ketma-ket portlarni tashkil qilishingiz mumkin.
#include
SoftwareSerial HC05(2,3);
Keyinchalik, sozlash funktsiyasida biz yaratilgan apparat va dasturiy ta'minot uchun ketma-ket ma'lumotlarni uzatish tezligini o'rnatamiz (SoftwareSerial kutubxonasi yordamida) ketma-ket portlar - mos ravishda 9600 va 38400 bod.
void setup()
{
Serial.begin(9600);
Serial.println("Enter AT commands:");
HC05.begin(38400);
}
Keyin loop funksiyasida ikkita shartdan foydalanamiz (if iborasi yordamida). Birinchi holatda, biz HC05 modulidan biron-bir ma'lumot kelayotgan yoki yo'qligini tekshiramiz - agar shunday bo'lsa, biz uni Arduino platasining apparat seriyali porti orqali uzatamiz. Ikkinchi holatda, biz Arduino Serial Monitor oynasidan biron-bir buyruq kelayotgan yoki yo'qligini tekshiramiz - agar shunday bo'lsa, biz ularni HC05 moduliga o'tkazamiz.
void loop()
{
if (HC05.available())
Serial.write(HC05.read());
if (Serial.available())
HC05.write(Serial.read());
}
Keyinchalik, HC05 modulini Arduino platasiga ulaymiz, shunda u AT buyruqlarini qabul qilish (va bajarish) rejimida ishlaydi. Ushbu ulanish diagrammasi quyidagi rasmda ko'rsatilgan:
Arduino platasini kompyuterga ulashdan oldin Bluetooth modulidagi tugmachani bosing va keyin platani kompyuterga ulang. Bluetooth modulidagi LED 2 soniya oraliqda miltillay boshlaguncha tugmachani bosib turing. Buyruqlar rejimida Bluetooth moduli LED normal ish rejimiga qaraganda sekinroq miltillaydi.
Endi ketma-ket monitorni oching va unda keltirilgan quyidagi buyruqlarni kiriting. Ushbu buyruqlarga javoban, agar buyruq muvaffaqiyatli bajarilgan bo'lsa, boshqaruv kengashi "OK" xabari bilan javob berishi kerak.
AT+ORGL
AT+ROLE=0
AT+POLAR=1,0
AT+UART=115200, 0, 0
AT+INIT
Agar taqdim etilgan barcha AT buyruqlari muvaffaqiyatli sinovdan o'tgan bo'lsa, sxemani qismlarga ajrating va quyidagi rasmda ko'rsatilgan yangi sxemani yig'ing:
Maket platasida yig'ilgan ushbu sxemaning ko'rinishi quyidagicha ko'rinadi:
Arduino platasini quvvat bilan ta'minlash uchun quvvat adapteri yoki 9V batareyadan foydalaning. Shundan so'ng, kompyuteringizning (noutbuk) "Qurilmalar" ga o'ting va Bluetooth-ni yoqing, so'ngra Bluetooth orqali HC05 moduliga ulang.
Qurilmalar o'rtasida Bluetooth aloqasi o'rnatilgandan so'ng, siz HC05 Bluetooth moduli ulangan kompyuter/noutbukning COM portini aniqlashingiz kerak. Buni amalga oshirish uchun Qurilma menejeriga o'ting va COM portlari orqali ulangan qurilmalarni tekshiring. U ikkita portni ko'rsatishi kerak: biri kiruvchi, ikkinchisi esa chiquvchi aloqa uchun. Bizga ushbu COM portlarining ikkinchi raqami kerak bo'ladi, chunki biz dastur kodini Arduino platasiga o'tkazmoqchimiz.
Endi Arduino IDE-ni oching va unda LED miltillovchi misol dasturini tanlang, so'ngra kerakli COM portini tanlang va yuklash tugmasini bosing. Agar hamma narsa yaxshi bo'lsa, Arduino platasiga o'rnatilgan LED 1 soniya oraliqda miltillay boshlaydi.
Dasturning manba kodi (eskiz)
#include
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());
}
|
| |