- Zahtevane komponente:
- Ustvarjanje vmesnika za robota z aplikacijo RemoteXY:
- Shema vezja in razlaga:
- Razlaga kode:
- Kako ga zagnati:
V tem članku bomo nadzorovali robotski avto prek senzorja G našega mobilnega telefona in robota boste lahko premikali samo tako, da nagnete telefon. Za tega robota, ki ga nadzoruje G-senzor, bomo uporabili tudi Arduino in RemoteXY. Aplikacija RemoteXY se uporablja za ustvarjanje vmesnika v pametnem telefonu za nadzor robota. V vmesnik bomo dodali krmilno palčko, tako da bo Robot lahko krmiljen tudi s krmilno palčko in z nagibanjem telefona.
G-senzor ali senzor gravitacije je v bistvu merilec pospeška v pametnem telefonu, ki se uporablja za nadzor usmerjenosti zaslona telefona. Merilec pospeška zazna X, Y, Z smeri gravitacijske sile in zaslon zasuka glede na poravnavo telefona. Zdaj se v mobilnih telefonih za določanje usmerjenosti zaslona uporablja bolj občutljiv in natančen giroskopski senzor. V našem projektu se bo Robot avtomobil premikal glede na smer, v katero se nagiba telefon, tako kot takrat, ko telefon nagnemo naprej, nato se bo avto premaknil naprej in ga nagnili navzdol, nato pa se bo avto premaknil nazaj. To je podobno kot pri igranju nekaterih avtomobilskih iger v mobilni napravi, ki za premikanje avtomobila uporabljajo tudi senzor G. Na koncu si oglejte video, tukaj pa tudi druge naše projekte robotike.
Zahtevane komponente:
- Dvokolesno robotsko podvozje
- Arduino UNO
- Krmilnik motorja L298N
- Modul Bluetooth HC-06 (tudi HC-05 bo deloval)
- Napajanje ali celice
- Priključne žice
Ustvarjanje vmesnika za robota z aplikacijo RemoteXY:
Če želite ustvariti vmesnik za nadzor Robot Car z aplikacijo RemoteXY, boste morali odpreti naslednjo povezavo
remotexy.com/en/editor/ Spletna stran bo videti tako
Nato na levi strani zaslona dvignite gumb za preklop in krmilno palčko in ga postavite v mobilni vmesnik. Gumb prižge luč na zatiču 13, ki je povezan z Arduino, krmilna palica pa premakne robotski avto. Spletna stran po namestitvi stikala in krmilne palice bo videti tako.
Nato bomo morali skupaj s krmilno palico postaviti gumb za omogočanje / onemogočanje senzorja G, tako da bomo lahko Robot Car premikali tako, da nagnemo telefon v levo, desno, gor in dol. S tem gumbom lahko omogočimo in onemogočimo G-senzor, ko je G-senzor onemogočen. Torej, da postavite gumb za vklop / izklop senzorja G, kliknite krmilno palčko, ki ste jo postavili v vmesnik, na levi strani pa bo razdelek z lastnostmi, na koncu bo možnost, da gumb senzorja G postavite blizu krmilne palice tako da gumb G senzorja postavite kamor koli želite. Spletna stran po tem bo videti tako.
Po tem kliknite gumb »Pridobi izvorno kodo« in jo shranite v računalnik. Prenesite knjižnico od tukaj in jo shranite v mapo knjižnice Arduino. Prenesite preneseno kodo, da preverite, ali ni napak. To ni koda, ki bo zagnala Robota, vendar bo pomagala pri uporabi aplikacije z Arduinom. Prenesite aplikacijo od tukaj ali pojdite v Trgovino Play in od tam prenesite aplikacijo RemoteXY za svoj pametni telefon Android.
Shema vezja in razlaga:
Najprej bomo povezali krmilnik motorja L298N z Arduinom. Povežite zatiča ENA in ENB krmilnika motorja z zatičem Arduino 12 oziroma 11. Ta dva zatiča sta namenjena krmiljenju PWM motorja. Z uporabo tezov je mogoče povečati ali zmanjšati hitrost avtomobila. Nato IN1, IN2, IN3 in IN4 povežite z zatiči Arduino 10, 9, 8 in 7. Ti zatiči bodo vrteli motorje v obe smeri (v smeri urnega kazalca in v nasprotni smeri urnega kazalca).
Za napajanje motorja priključite pozitivno in negativno stran akumulatorja na 12 V in maso krmilnika motorja. Nato 5V in maso povežite s krmilnikom motorja na Arduino Vin in ozemljitev.
Nato bomo modul Bluetooth HC-06 povezali z arduino. Če imate HC-05, bo tudi to delovalo. Priključite VCC in maso modula Bluetooth na 5 V in ozemljitev Arduina. Nato priključite TX-pin modula Bluetooth na pin 2 Arduino in RX-pin na pin 3 Arduino. Če želite izvedeti več o uporabi Bluetootha z Arduinom, preverite tudi avtomobil z nadzorom Bluetooth, ki uporablja Arduino.
Razlaga kode:
Popolna koda Arduino za ta mobilni nadzorovani robotski avto je podana spodaj v odseku kode, tukaj bomo razumeli, kako ta koda deluje.
Najprej smo vključili knjižnici za programsko opremo Serial in RemoteXY. Knjižnica RemoteXY nam bo pomagala pri nastavljanju aplikacije z Arduino, s pomočjo katere bomo nadzorovali robotski avto. Po tem smo definirali nožice za modul Bluetooth, TX iz modula Bluetooth je povezan z zatičem 2 Arduina, ki je RX zatič Arduino, RX iz modula Bluetooth pa je povezan z zatičem 3 Arduina, ki je TX zatič Arduino in nastavite hitrost prenosa podatkov modula Bluetooth na 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
Naslednja koda bo povečala ali zmanjšala hitrost motorja. Ko bo krmilna palica v središču, bo hitrost enaka nič, ko pa bo v smeri naprej, se bo hitrost povečala z nič na 100. Hitrost se bo zmanjšala z 0 na -100, ko se bo avto premikal v obratna smer. Avto lahko premikate tudi z določeno hitrostjo, kar lahko storite tako, da oddate signal PWM. Pwm signal bo motorjem dobil glede na vrtenje krmilne palice.
če (hitrost motorja> 100) hitrost motorja = 100; če je (hitrost motorja <-100) hitrost motorja = -100; if (motor_speed> 0) {digitalWrite (kazalec, VISOKO); digitalWrite (kazalec, LOW); analogWrite (kazalec, hitrost motorja * 2,55); } else if (motor_speed <0) {digitalWrite (kazalec, LOW); digitalWrite (kazalec, VISOKO); analogWrite (kazalec, (-motor_speed) * 2,55); } else {digitalWrite (kazalec, LOW); digitalWrite (kazalec, LOW); analogWrite (kazalec, 0); }
V naslednji kodi smo določili funkcijo, ki bo poklicana vsakič, ko bomo premikali krmilno palčko v aplikaciji. Ko bomo vklopili stikalo v aplikaciji, bo logika 1 dana na zatič 13 Arduina, ki vklopi LED-zatič. Med premikanjem robotskega avtomobila v smeri naprej in nazaj bo poklicana funkcija hitrosti .
void loop () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Hitrost (prvi_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Hitrost (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Kako ga zagnati:
Dodajte knjižnico RemoteXY v knjižnice Arduino in naložite kodo v Arduino IDE. Nato prenesite aplikacijo v svoj mobilni telefon in nato vklopite Bluetooth. Vmesnik aplikacije bo videti tako
Nato pojdite na Bluetooth in tam vklopite Bluetooth. Po vklopu vam prikaže naprave Bluetooth. Od tam izberite svoj modul Bluetooth HC-06, pripeljal vas bo do vmesnika, od koder lahko nadzirate Robot Car.
Tako lahko s pomočjo senzorja gravitacije v mobilnem telefonu premikamo robota. Nadalje lahko eksperimentirate in najdete bolj zanimivo uporabo senzorja G za nadzor zunanjih stvari tako, da vmes povežete mikrokrmilnik (na primer Arduino).