- Anyag szükséges
- HC-06 Bluetooth modul
- Kördiagramm
- A Roboremo alkalmazás beállítása a szervo vezérléséhez:
- Kód és magyarázat
- A szervomotor vezérlésének működése Bluetooth segítségével:
A szervomotor használata a robotikában a pontos irányítás érdekében. Itt, ebben az oktatóanyagban bemutatjuk, hogyan lehet vezeték nélkül használni a szervomotort Arduino UNO-val és Android-eszközzel Bluetooth-kapcsolaton keresztül. A szervót már irányítottuk az Arduino-val, ezúttal a Servo Motor vezérlését használjuk Arduino és Bluetooth segítségével.
Anyag szükséges
- Arduino UNO
- HC-05 vagy HC-06 Bluetooth modul
- Szervómotor
- Roboremo App a Playstore-ból
- Kenyérlemez
- Csatlakozó vezeték
HC-06 Bluetooth modul
A Bluetooth a következő két módban működhet:
- Parancs mód
- Működési mód
A Command Mode képesek leszünk, hogy konfigurálja a Bluetooth tulajdonságok, mint a neve a Bluetooth jel, annak a jelszót, az operációs adatátviteli sebesség stb üzemmód az, ahol leszünk képesek adatokat küldeni és fogadni a PIC mikrokontroller és a Bluetooth modult. Ezért ebben az oktatóanyagban csak az Üzemmóddal fogunk játszani. A Parancs mód az alapértelmezett beállításokra marad. Az eszköz neve HC-05 lesz (én HC-06-ot használok), a jelszó pedig 0000 vagy 1234 lesz, és ami a legfontosabb: az összes Bluetooth modul alapértelmezett átviteli sebessége 9600 lesz.
A modul 5 V-os tápfeszültségen működik, és a jelcsapok 3,3 V-on működnek, ezért magában a modulban van egy 3,3 V-os szabályozó. Ezért nem kell aggódnunk miatta. A hat csap közül csak négyet használunk Üzemmódban. A tűcsatlakozási táblázat az alábbiakban látható
S.No | Tű a HC-05 / HC-06-ra | PIN-kód rögzítése az MCU-n | PIN szám a PIC-ben |
1 | Vcc | Vdd | 31 st pin |
2 | Vcc | Gnd | 32 ND pin |
3 | Tx | RC6 / Tx / CK | 25 th pin |
4 | Rx | RC7 / Rx / DT | 26 th pin |
5. | Állapot | NC | NC |
6. | EN (engedélyezés) | NC | NC |
Nézze meg más projektjeinket, hogy többet tudjon meg a HC-05 Bluetooth modulról más mikrovezérlőkkel:
- Bluetooth vezérlésű játékautó Arduino használatával
- Bluetooth vezérlésű otthoni automatizálási rendszer a 8051 használatával
- Hangvezérelt fények Raspberry Pi használatával
- Intelligens telefon által vezérelt FM rádió Arduino és Processing használatával
- A HC-06 Bluetooth modul összekapcsolása PIC mikrovezérlővel
Itt ellenőrizheti az összes, a Bluetooth-hoz kapcsolódó projektet is.
Kördiagramm
Az Arduino Bluetooth szervo motorvezérlő projekt kapcsolási rajza az alábbiakban látható:
A Roboremo alkalmazás beállítása a szervo vezérléséhez:
1. lépés: - Töltse le a Roboremo alkalmazást az Android Play Áruházból, és telepítse okostelefonjára. Telepítése után megjelenik az alkalmazás ablaka az 1. ábrán látható módon, és a „Menü” gombra kattintva az alábbi 2. ábrán látható ablak jelenik meg:
2. lépés: - Ezután kattintson a Csatlakozás gombra, és meglátja az alábbi 3. ábrán látható ablakot, majd ki kell választania a „ Bluetooth RFCOMM” elemet, majd csatlakoztathatja a HC-06 bluetooth modulját a „Roboremo” androidos alkalmazáshoz.
3. lépés: - Miután csatlakozott a HC-06 bluetooth modulhoz, térjen vissza az ábra 2 ablakba, majd kattintson a " edit ui " gombra a felhasználói felület igény szerinti létrehozásához.
Ha rákattint az „edit ui” gombra, ismét megjelenik az 1. ábrán látható ablak, majd a képernyőn bárhová kattintva megjelenik az alkalmazásablak, például a 4. ábra, és a gombszerkezet megszerzéséhez válassza a „ Gomb ” lehetőséget.
4. lépés: - A gomb kiválasztása után megjelenik egy gombszerkezet a képernyőn a szerkesztéshez. Átméretezheti és áthelyezheti a szerkezetet a képernyőn bárhová. Most, hogy beállítsa a Bluetooth-on keresztül történő kattintással küldendő értéket, be kell állítania a „ sajtóműveletet ” (a 6. ábrán látható módon), és be kell írnia az elküldendő értéket az adott gombból. Hasonlóképpen, a szervo forgatásához "1" -t küldünk a "Start" gomb megnyomásával a Roboremo android alkalmazásban.
A későbbi szakaszban található táblázatban ellenőrizheti az összes értéket, amelyet a különböző gombokra kattintva küldenek.
5. lépés: - Végül van egy felhasználói felületünk a szervomotor vezérléséhez az okostelefon segítségével.
Kód és magyarázat
A végén megadjuk az Arduino Control Servo Motor teljes kódját Bluetooth-on keresztül.
Az Arduino rendelkezik a Servo Motors könyvtárával, és kezeli az összes PWM-rel kapcsolatos dolgot a szervo forgatásához, csak meg kell adnia azt a szöget, amelyre el akarja forgatni, és ott van a servo1.write (szög) funkció ; amely a szervót a kívánt szögbe forgatja.
Tehát itt kezdjük azzal, hogy meghatározzuk a Servo motor könyvtárát, és a Software soros könyvtárat használjuk az Rx és Tx pin meghatározásához.
#include
Az alábbi kódban inicializáljuk az Arduino csapokat az Rx és a Tx számára, meghatározva a szervo és egyéb dolgok változóit .
Servo myServo; int TxD = 11; int RxD = 10; int servoposition; int servopos; int új1; SoftwareSerial bluetooth (TxD, RxD);
Most állítsa be az összes változót és összetevőt a kezdeti szakaszba. Itt van csatolva a szervo 9 -én pin a Arduino és a kezdeti helyzetben a szervo, 0 °. A soros és a Bluetooth kommunikáció átviteli sebességét szintén 9600-ra állították.
void setup () { int pos = 0; myServo.attach (9); myServo.write (0); Serial.begin (9600); // soros kommunikáció indítása 9600 bps sebességgel bluetooth.begin (9600); }
A void loop funkció, Arduino ellenőrizni fogja a bejövő értékek minden alkalommal, és forgassa el a szervo szerint kapott értéket okostelefonnal. Az összes értéket a soros kommunikáció segítségével kapja meg.
Ha az érték 0, a szervo 0 fokra fordul. Hasonlóképpen, ha 45, 90, 135 és 180-at küldünk a Bluetooth alkalmazásból, a szervo 45, 90, 135 és 180 fokos szögre fordul.
void loop () { if (bluetooth.available ()) { String value = bluetooth.readString (); szervopozíció = érték.toInt (); if (érték.toInt () == 0) { Soros.println (szervopozíció); myServo.write (0); } if (value.toInt () == 45) { Soros.println (szervopozíció); myServo.write (45); } if (value.toInt () == 90) { Soros.println (szervopozíció); myServo.write (90); } if (value.toInt () == 135) { Soros.println (szervopozíció); myServo.write (135); } if (value.toInt () == 180) { Soros.println (szervopozíció); myServo.write (180); }
Ha a Start gomb megnyomásával elküldjük az '1' értéket, akkor a szervo folyamatosan forog, amíg le nem nyomjuk a stop gombot. Itt a „2” -t küldjük a stop gomb megnyomásakor, amelyet az Arduino beolvas és megszakítja a while ciklust és a szervo leáll.
while (value.toInt () == 1) {if (bluetooth.available ()) {value = bluetooth.readString (); Soros.println (érték); if (érték.toInt () == 2) {Sor.println ("ÉÉÉ"); szünet; }} servopos ++; késés (30); Soros.println (servopos); myServo.write (servopos); if (servopos == 180) {servopos = 0; törés;}}}}
A szervomotor vezérlésének működése Bluetooth segítségével:
Ebben a projektben egy „Roboremo” Android alkalmazás segítségével irányítjuk a szervomotort. Az alkalmazás felületén hoztunk létre 5 gombot a szervomotor vezérléséhez, amint azt korábban kifejtettük. Minden gomb működését az alábbi táblázat tartalmazza:
S.No. |
Gomb neve |
Érték küldése |
Leírás |
1. |
Rajt |
1 |
Ezzel a gombbal kezdhetjük el a szervót 0 és 180 fok között. |
2. |
Álljon meg |
2 |
Ezzel a gombbal bármikor leállíthatja a szervót. |
3. |
0⁰ |
0 |
Ezzel a gombbal a szervót 0 ° -ra lehet forgatni. |
4. |
90⁰ |
90 |
Ezzel a gombbal a szervót 90 ° -ra lehet forgatni. |
5. |
180⁰ |
180 |
Ezzel a gombbal a szervót 180⁰-ra lehet forgatni. |
Tehát a Roboremo Android-alkalmazás ezen gombjainak megnyomásával az adatokat az okostelefon Bluetooth- ján keresztül elküldjük a HC-06 Bluetooth-modulba. Ebből a HC-06 modulból az adatokat az Arduino fogadja, és az Arduino elforgatja a szervót az adott gomb kódjában meghatározott szögben. Kódoltuk a 45 és a 135 szöget is, de a Roboremo alkalmazás korlátozottsága miatt csak 5 gombot hozhat létre, ezért két gombot kihagytunk.
Tehát így küldheti el az adatokat Smartphone-ról az Arduino-ra Bluetooth segítségével a szervo vezeték nélküli vezérléséhez. Ez számos alkalmazásban használható, például játékautókban, robotokban stb.