- Reikalingi komponentai:
- Sąsajos kūrimas robotui naudojant „RemoteXY“ programą:
- Grandinės schema ir paaiškinimas:
- Kodo paaiškinimas:
- Kaip jį paleisti:
Šiame straipsnyje mes valdysime robotą automobilį per mūsų mobiliojo telefono G jutiklį ir galėsite pajudinti robotą tiesiog pakreipę telefoną. Šiam „G-Sensor“ valdomam robotui taip pat naudosime „ Arduino“ ir „RemoteXY“ programas. „RemoteXY“ programa naudojama norint sukurti sąsają išmaniajame telefone, kad būtų galima valdyti robotą. Sąsajoje pridėsime vairasvirtę, kad robotą būtų galima valdyti ir vairasvirte, ir pakreipiant telefoną.
„G-Sensor“ arba „Gravity“ jutiklis iš esmės yra „Smart Phone“ akselerometras, naudojamas telefono ekrano orientacijai valdyti. Akselerometras pajunta gravitacijos jėgos X, Y, Z kryptis ir pasuka ekraną pagal telefono išlygiavimą. Šiais laikais mobiliesiems telefonams naudojamas jautresnis ir tikslesnis žiroskopo jutiklis nustatant ekrano orientaciją. Mūsų projekte robotas automobilis judės, atsižvelgdamas į telefono pakreipimo kryptį, pavyzdžiui, kai mes pakreipsime telefoną į priekį, tada automobilis judės į priekį, o mes jį pakreipsime žemyn, tada automobilis judės atgal. Tai tas pats, kaip žaidžiant kai kuriuos automobilių žaidimus „Mobile“, jie taip pat naudoja „G“ jutiklį, kad atitinkamai pajudintų automobilį. Patikrinkite vaizdo įrašą pabaigoje, taip pat patikrinkite kitus mūsų robotikos projektus čia.
Reikalingi komponentai:
- Dviejų ratų roboto automobilio važiuoklė
- „Arduino UNO“
- L298N variklio valdiklis
- „HC-06“ „Bluetooth“ modulis (veiks ir HC-05)
- Maitinimo šaltinis arba elementai
- Jungiamieji laidai
Sąsajos kūrimas robotui naudojant „RemoteXY“ programą:
Norėdami sukurti sąsają, kad būtų galima valdyti robotą naudojant „RemoteXY“ programą, turėsite pereiti prie šios nuorodos
remotexy.com/en/editor/ Tinklalapis atrodys taip
Tada kairėje ekrano pusėje paimkite jungiklio mygtuką ir vairasvirtę ir padėkite ją į mobiliojo ryšio sąsają. Mygtukas įjungs šviesą ties 13 kaiščiu, kuris yra sujungtas „Arduino“ viduje, ir vairasvirtė pajudins robotą. Tinklalapis, įdėjus jungiklį ir vairasvirtę, atrodys taip.
Tada turėsime paspausti „G“ jutiklio įjungimo / išjungimo mygtuką kartu su vairasvirte, kad galėtume pajudinti robotą automobilį pakreipdami telefoną kairėn, dešinėn, aukštyn ir žemyn. Naudodami šį mygtuką galime įjungti ir išjungti G jutiklį, kai G jutiklis yra išjungtas. Automobilį galima valdyti perkeliant vairasvirtę. Taigi norėdami įdėti G jutiklio įjungimo / išjungimo mygtuką, spustelėkite vairasvirtę, kurią įdėjote į sąsają, o kairėje pusėje bus savybių skyrius, galų gale bus galimybė įdėti G jutiklio mygtuką šalia vairasvirtės, todėl įdėkite G jutiklio mygtuką ten, kur jums patiks. Po to tinklalapis atrodys taip.
Po to spustelėkite mygtuką „Gauti šaltinio kodą“ ir išsaugokite jį savo kompiuteryje. Atsisiųskite biblioteką iš čia ir išsaugokite ją „Arduino“ bibliotekos aplanke. Sudarykite atsisiųstą kodą ir patikrinkite, ar nėra klaidų. Tai nėra kodas, paleidžiantis robotą, tačiau jis padės naudoti programą su „Arduino“. Atsisiųskite programą iš čia arba eikite į „Play Store“ ir atsisiųskite „RemoteXY“ programą iš savo „Android“ išmaniojo telefono.
Grandinės schema ir paaiškinimas:
Visų pirma, mes sujungsime L298N variklio valdiklį su „Arduino“. Prijunkite variklio valdiklio ENA ir ENB kaiščius atitinkamai prie „Arduino“ kaiščių 12 ir 11. Šie du kaiščiai skirti variklio PWM valdymui. Naudodami tezes, galime padidinti arba sumažinti automobilio greitį. Tada prijunkite IN1, IN2, IN3 ir IN4 prie „Arduino“ kaiščių 10, 9, 8 ir 7. Šie kaiščiai pasuks variklius į abi puses (pagal ir prieš laikrodžio rodyklę).
Norėdami įjungti variklį, prijunkite teigiamą ir neigiamą akumuliatoriaus akumuliatorių prie 12 V įtampos ir variklio valdiklio įžeminimo. Tada prijunkite 5 V ir žemę nuo variklio valdiklio prie „Arduino Vin“ ir žemės.
Tada mes sujungsime „Bluetooth“ modulį HC-06 su „arduino“. Jei turite HC-05, jis taip pat veiks. Prijunkite VCC ir „Bluetooth“ modulio žemę prie 5 V ir „Arduino“ žemę. Tada prijunkite „Bluetooth“ modulio TX kaištį prie „Arduino“ 2 kaiščio, o „RX“ - prie „Arduino“ 3 kaiščio. Taip pat patikrinkite „Bluetooth“ valdomą žaislinį automobilį naudodami „Arduino“, kad sužinotumėte daugiau apie „Bluetooth“ naudojimą su „Arduino“.
Kodo paaiškinimas:
Pilnas šio mobiliojo valdomo roboto automobilio „Arduino“ kodas pateikiamas toliau skyriuje Kodas, čia mes suprasime, kaip veikia šis kodas.
Pirmiausia įtraukėme „Software Serial“ ir „RemoteXY“ bibliotekas. „RemoteXY“ biblioteka padės mums nustatyti programą su „Arduino“, per kurią valdysime robotą. Po to mes nustatėme „Bluetooth“ modulio kaiščius, TX iš „Bluetooth“ modulio yra prijungtas prie „Arduino“ 2 kaiščio, kuris yra „Arduino“ RX kaištis, o „RX“ iš „Bluetooth“ modulio yra prijungtas prie „Arduino“ 3 kaiščio, kuris yra „Arduino“ TX kaištis ir nustatykite „Bluetooth“ modulio perdavimo greitį 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL # įtraukti
Šis kodas padidins arba sumažins variklio greitį. Kai vairasvirtė bus centre, greitis bus lygus nuliui, o kai jis bus pirmyn, greitis padidės nuo nulio iki 100. Greitis sumažės nuo 0 iki -100, kai automobilis pajudės atvirkštine kryptimi. Automobilis taip pat gali būti perkeltas tam tikru greičiu, tai galima padaryti davus PWM signalą. Pwm signalas bus duotas varikliams pagal vairasvirtės sukimąsi.
jei (variklio greitis> 100) variklio greitis = 100; jei (variklio greitis <-100) variklio greitis = -100; if (motor_speed> 0) {digitalWrite (rodyklė, AUKŠTAS); „digitalWrite“ (rodyklė, LOW); „analogWrite“ (rodyklė, variklio greitis * 2,55); } else if (variklio greitis <0) {digitalWrite (pointer, LOW); „digitalWrite“ (rodyklė, AUKŠTAS); analogWrite (rodyklė, (-motor_speed) * 2,55); } else {digitalWrite (rodyklė, LOW); „digitalWrite“ (rodyklė, LOW); analogWrite (rodyklė, 0); }
Šiame kode mes apibrėžėme funkciją, kuri bus iškviesta kaskart, kai programoje perkelsime vairasvirtę. Kai įjungsime jungiklį programoje, 1 logika bus suteikta „Arduino“ kaiščiui 13, kuris įjungia LED kaištį. Judant robotą automobilį pirmyn ir atgal, bus iškviesta greičio funkcija.
void loop () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Greitis (pirmasis variklis, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Greitis (antrasis variklis, „RemoteXY.joystick_1_y“ + „RemoteXY.joystick_1_x“); }
Kaip jį paleisti:
Pridėkite „RemoteXY“ biblioteką prie „Arduino“ bibliotekų ir įkelkite kodą į „Arduino IDE“. Tada atsisiųskite programą į savo mobilųjį telefoną ir įjunkite „Bluetooth“. Programos sąsaja atrodys taip
Tada eikite į „Bluetooth“ ir ten įjunkite „Bluetooth“. Įjungus jis parodys „Bluetooth“ įrenginius. Iš ten pasirinkite savo „HC-06“ „Bluetooth“ modulį, jis pateks į sąsają, iš kurios galėsite valdyti robotą automobilį.
Taip mes galime naudoti gravitacijos jutiklį savo mobiliajame telefone, norėdami perkelti robotą. Galite toliau eksperimentuoti ir rasti įdomesnį G jutiklio naudojimą, kad valdytumėte išorinius dalykus, tarp jų sujungdami „Microcontorller “ (pvz., „Arduino“).