Šiame projekte sukūrę kelis populiarius robotų projektus, tokius kaip linijos sekimo robotas, roboto išvengimo robotas, DTMF robotas, gestais valdomas robotas ir kt., Mes sukursime „ Bluetooth“ valdomą roboto automobilį. Čia automobiliui valdyti naudojome „Bluetooth“ modulį, be to, tai yra „Android“ pagrįsta programa.
Komponentai
- „Arduino UNO“
- Nuolatinės srovės varikliai
- „Bluetooth“ modulis HC-05
- Variklio vairuotojas L293D
- 9 voltų baterija ir 6 voltų baterija
- Baterijos jungtis
- Žaislinė mašina
„Bluetooth“ valdomas automobilis valdomas naudojant „Android“ mobilųjį telefoną, o ne bet kurį kitą metodą, pvz., Mygtukus, gestus ir pan. Čia reikia paliesti tik „Android“ telefono mygtuką, kad galėtumėte valdyti automobilį pirmyn, atgal, kairėn ir dešinėn. Taigi čia „Android“ telefonas naudojamas kaip perdavimo prietaisas, o „Bluetooth“ modulis, įdėtas į automobilį, naudojamas kaip imtuvas. „Android“ telefonas perduos komandą naudodamas savo įmontuotą „Bluetooth“ automobiliui, kad jis galėtų judėti reikiama kryptimi, pavyzdžiui, judėti pirmyn, atbulai, pasukti į kairę, pasukti į dešinę ir sustoti.
„Bluetooth“ modulis
„HC Bluetooth“ modulį sudaro du dalykai: „Bluetooth“ nuosekliosios sąsajos modulis ir „Bluetooth“ adapteris. „Bluetooth“ nuoseklusis modulis naudojamas serijiniam prievadui konvertuoti į „Bluetooth“.
Kaip valdyti „Bluetooth“ modulį?
Įsigiję iš rinkos, „Bluetooth“ modulį galite naudoti tiesiogiai, nes nereikia keisti jokių „Bluetooth“ modulio nustatymų. Numatytasis „Bluetooth“ modulio perdavimo greitis yra 9600 bps. Jums tiesiog reikia prijungti rx ir tx prie valdiklio ar nuoseklaus keitiklio ir suteikti moduliui 5 voltų nuolatinės srovės reguliuojamą maitinimo šaltinį.
„Bluetooth“ modulis turi du režimus: vienas yra pagrindinis režimas, o antrasis - vergo režimas. Vartotojas gali nustatyti bet kurį režimą naudodamas kai kurias AT komandas. Net vartotojas gali nustatyti modulio nustatymus naudodamas AT komandą. Pateikiamos kelios komandos, kurias naudoja:
Pirmiausia vartotojas turi įeiti į AT režimą naudodamas 38400 bps perdavimo spartą, paspausdamas EN mygtuką „Bluetooth“ modulyje arba suteikdamas AUKŠTĄ lygį „EN“ kontakte. Pastaba: visos komandos turėtų baigtis \ r \ n (0x0d ir 0x0a) arba ENTER KEY iš klaviatūros.
Po to, jei siunčiate AT į modulį, modulis atsakys OK
AT → bandymo komanda
AT + ROLE = 0 → Pasirinkite vergo režimą
AT + ROLE = 1 → Pasirinkite pagrindinį režimą
AT + NAME = xyz → Nustatykite „Bluetooth“ pavadinimą
AT + PSWD = xyz → Nustatyti slaptažodį
AT + UART =
Pvz. AT + UART = 9600,0,0
Smeigtukas Akselerometro aprašymas
- VALSTYBĖ → Atidaryti
- Rx → nuoseklusis priėmimo kaištis
- Tx → nuoseklusis perdavimo kaištis
- BND → žemė
- Vcc → + 5 voltų nuolatinė srovė
- LT → įeiti į AT režimą
Darbinis paaiškinimas
Šiame projekte demonstravimui naudojome žaislinį automobilį. Čia mes pasirinkome RF žaislinį automobilį su judančia kairės ir dešinės vairavimo funkcija. Įsigiję šį automobilį, mes pakeitėme jo RF grandinę į mūsų „ Arduino“ grandinę. Šio automobilio priekyje ir gale yra du nuolatinės srovės varikliai. Priekinis šoninis variklis naudojamas automobilio krypčiai nurodyti - tai posūkis kairėn ar dešinėn (kaip ir tikra automobilio vairavimo funkcija). Ir galinis šoninis variklis naudojamas vairuoti automobilį pirmyn ir atgal. „Bluetooth“ modulis naudojamas komandoms gauti iš „Android“ telefono, o „Arduino UNO“ - visai sistemai valdyti.
„Bluetooth“ valdomas automobilis juda pagal „Android“ mobiliojoje programėlėje paliestą mygtuką. Norėdami pirmiausia įgyvendinti šį projektą, turime atsisiųsti „Bluetooth“ programos formą iš „Google Play“ parduotuvės. Mes galime naudoti bet kurią „Bluetooth“ programą, palaikančią arba galinčią siųsti duomenis. Štai keletas programų pavadinimų, kurie gali veikti tinkamai.
- „Bluetooth Spp pro“
- „Bluetooth“ valdiklis
Įdiegę programą, turite ją atidaryti, tada ieškoti „Bluetooth“ įrenginyje ir pasirinkti norimą „Bluetooth“ įrenginį. Tada sukonfigūruokite raktus. Šiame projekte mes naudojome „Bluetooth“ valdiklio programą.
- Atsisiųskite ir įdiekite „Bluetooth“ valdiklį.
- Įjungtas mobilusis „Bluetooth“ ryšys.
- Dabar atidarykite „Bluetooth“ valdiklio programą
- Paspauskite nuskaityti
- Pasirinkite norimą „Bluetooth“ įrenginį
- Dabar nustatykite klavišus paspausdami nustatymo mygtukus ekrane. Norėdami nustatyti raktus, turime paspausti mygtuką „Nustatyti“ ir nustatyti mygtuką pagal toliau pateiktą paveikslėlį:
Nustatę klavišus paspauskite ok.
Kai „Bluetooth“ valdiklio programoje paliečiame pirmyn mygtuką, automobilis pradeda judėti pirmyn ir juda toliau, kol ateis kita komanda.
Kai paliečiame „Bluetooth“ valdiklio programoje esantį mygtuką atgal, automobilis pradeda judėti atvirkštine kryptimi ir juda toliau atgal, kol ateis kita komanda.
Kai paliesime kairįjį mygtuką „Bluetooth“ valdiklio programoje, automobilis pradės judėti kaire kryptimi ir judės kairėn, kol ateis kita komanda. Esant tokiai būklei, priekinis šoninis variklis pasuka priekinius šoninius ratus į kairę, o galinis - į priekį.
Kai paliesime dešinį mygtuką „Bluetooth“ valdiklio programoje, automobilis pradės judėti teisinga kryptimi ir judės toliau, kol ateis kita komanda. Esant tokiai būklei, priekinis šoninis variklis pasuka priekinius šoninius ratus į dešinę, o galinis - į priekį.
Palietę sustabdymo mygtuką galime sustabdyti automobilį.
Grandinės schema ir paaiškinimas
„Bluetooth“ valdomo automobilio grandinės schema parodyta aukščiau esančiame paveiksle. Automobilio valdymui prie „arduino“ prijungtas variklio vairuotojas. Variklio vairuotojo įvesties kaiščiai 2, 7, 10 ir 15 yra prijungti prie „Arduino“ skaitmeninių kaiščių numerių atitinkamai 12, 11, 10 ir 9. Čia mes naudojome du nuolatinės srovės variklius vairuotojui, kuriame vienas variklis prijungtas prie 3 ir 6 variklio vairuotojo išvesties kaiščių, o kitas variklis prijungtas 11 ir 14 taškuose. 6 voltų baterija taip pat naudojama variklio varikliui varyti varant variklius.. „Bluetooth“ modulio „rx“ ir „tx“ kaiščiai yra tiesiogiai prijungti prie „Arduino“ tx ir rx. „Vcc“ ir „Bluetooth“ modulio įžemintas kaištis yra prijungtas prie „Arduino“ +5 voltų ir gnd. „Arduino Vin“ kaiščio grandinei maitinti naudojama 9 voltų baterija
Programos paaiškinimas
Pirmiausia programoje mes nustatėme variklių išvesties kaiščius.
#define m11 11 // galinis variklis #define m12 12 #define m21 10 // priekinis variklis #define m22 9
Tada nustatydami nurodėme, kaip prisegti.
negaliojanti sąranka () {Serial.begin (9600); pinMode (m11, OUTPUT); pinMode (m12, OUTPUT); pinMode (m21, OUTPUT); pinMode (m22, OUTPUT); }
Po to mes perskaitėme įvestį naudodamiesi nuosekliojo ryšio formos „Bluetooth“ moduliu ir atitinkamai atlikdami operaciją.
void loop () {while (Serial.available ()) {char ch = Serial.read (); str = ch; if (str == '1') {Serial.println ("Pirmyn"); Persiųsti(); i = 0; } else if (str == '2') {Serial.println ("Kairysis"); teisė (); i = 0; } else if (str == '3') {Serial.println ("Teisė"); kairė (); i = 0; }
Tada mes sukūrėme funkcijas skirtingoms automobilio kryptims. Šiam „ Bluetooth“ valdomam automobiliui yra penkios sąlygos, kurios naudojamos nurodant nurodymus:
Palietė mygtuką „Bluetooth“ valdiklio programoje |
Priekinio šoninio variklio išvestis nurodo kryptį |
Galinės pusės variklio išėjimas judėti pirmyn arba atgal |
|||
Mygtukas |
M11 |
M12 |
M21 |
M22 |
Kryptis |
Sustabdyti |
0 |
0 |
0 |
0 |
Sustabdyti |
Persiųsti |
0 |
0 |
0 |
1 |
Persiųsti |
Atgal |
0 |
0 |
1 |
0 |
Atgal |
Teisingai |
1 |
0 |
0 |
1 |
Teisingai |
paliko |
0 |
1 |
0 |
1 |
Kairėje |