Sadržaj:

Robotski automobil s Bluetoothom, kamerom i MIT App Inventor2: 12 koraka (sa slikama)
Robotski automobil s Bluetoothom, kamerom i MIT App Inventor2: 12 koraka (sa slikama)

Video: Robotski automobil s Bluetoothom, kamerom i MIT App Inventor2: 12 koraka (sa slikama)

Video: Robotski automobil s Bluetoothom, kamerom i MIT App Inventor2: 12 koraka (sa slikama)
Video: Лагуна 52 – 2000 морских миль, от Амстердама до Средиземного моря, бывший Большой круг. 2024, Studeni
Anonim
Image
Image
Dijelovi i softver
Dijelovi i softver

Jeste li ikada poželjeli napraviti vlastiti robotski automobil? Pa … ovo je tvoja prilika !!

U ovom Instructableu ću vas upoznati s načinom izrade robotskog automobila upravljanog putem Bluetootha i MIT App Inventor2. Imajte na umu da sam tek početnik i da mi je ovo prva instukcija, stoga budite nježni u komentarima.

Postoje mnoge instrukcije vani, ali u ovoj sam pokušao kombinirati mnoge značajke kao što su: strujanje kamere, izbjegavanje prepreka, ultrazvučni senzor dometa, Larsonov skener (s charlieplexingom) i nadzor baterije u Android aplikaciju !!

Pa počnimo i upoznajmo Frankieja (koristi ideje s mnogih mjesta …. Dakle Robo Frankenstein)

Korak 1: Dijelovi i softver

Dijelovi i softver
Dijelovi i softver
Dijelovi i softver
Dijelovi i softver

Ovdje, u mom rodnom gradu, teško je nabaviti sve dijelove, pa sam većinu uspjela nabaviti na www.aliexpress.com

Procjenjujem da se projekt može izgraditi za 25 - 30 USD bez obzira na stari mobitel.

  • Šasija automobila: 3 kotača, 2 motora 6V (9 USD)
  • Arduino Nano (2 USD)
  • Bluetooth HC-05 (3 do 4 USD)
  • Vozač motora L293D za pogon motora na kotačima (1,50 USD za lot od 5 komada)
  • Stari mobilni s kamerom i Wi-Fi-jem
  • Ultrazvučni senzor HC-SR04 za mjerenje prema obližnjem objektu (1 USD)
  • 6 LED dioda za Larson skener
  • ATtiny85 za Larsonov skener (1 USD)
  • Oglasna ploča (1 USD)
  • Žice
  • 100K ohmski otpornik (4)
  • Otpornik 1K Ohm (2)
  • 2K ohmski otpornik (1)
  • Otpor 270 Ohma (3)
  • Zvučni signal

Softver:

  • Arduino IDE
  • IP web kamera (za stari mobilni telefon sa sustavom Android)
  • MIT App Inventor2: Ova je aplikacija izvrsna, ali radi samo za Android operativni sustav (bez iPhonea … oprostite!)

Korak 2: Proces izgradnje

Proces izgradnje
Proces izgradnje
Proces izgradnje
Proces izgradnje
Proces izgradnje
Proces izgradnje
Proces izgradnje
Proces izgradnje

Šasija automobila vrlo se lako sastavlja; ima 2 motora 6V koji pokreću stražnje kotače i 4 baterije.

Automobilom Robot upravlja se putem Bluetootha i Wi-Fi-ja. Bluetooth kontrolira serijsku komunikaciju između automobila i izumitelja aplikacije MIT2, a Wi-Fi se koristi za komunikaciju s kamerom (starim mobitelom) instaliranom ispred automobila.

Za ovaj projekt koristio sam dva seta baterija: arduino se napaja baterijom od 9 V, a motore automobila pomoću 6 V (četiri baterije od 1,5 V AA).

Arduino Nano je mozak ovog projekta koji kontrolira automobil, zujalicu, ultrazvučni senzor raspona HC-SR04, Bluetooth HC-05, Larsonov skener (ATtiny85) i prati baterije. 9V baterija ide na Vin (pin 30), a Arduino pin 27 daje 5V regulirano napajanje matičnoj ploči. Potrebno je povezati sve osnove svih IC -ova i baterija zajedno.

U privitku je dijagram sklopa napravljen u Excelu (oprostite … sljedeći put ću pokušati s Fritzingom). Sve sam spojio pomoću matične ploče i mužjaka na muške žice, moj izgleda poput gnijezda štakora.

Korak 3: Vozač motora L293D

Vozač motora L293D
Vozač motora L293D
Vozač motora L293D
Vozač motora L293D

L293D je četverostruki visokotočni polu-H pogonski sklop dizajniran za pružanje dvosmjernih pogonskih struja do 600 mA pri naponima od 4,5 V do 36 V. Koristi se za pogon kotača automobila.

Napaja se iz 6V baterije (četiri 1,5V AA) za motore i koristi 5V za logiku koja dolazi iz reguliranih 5V (pin 27) u Arduino Nano. Priključci su prikazani na priloženoj shemi.

Nije bilo potrebe za ugradnjom u hladnjak.

Korak 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth napaja 5V (arduino pin 27), ali važno je razumjeti da je logička razina 3.3V, tj. Komunikacija (Tx i Rx) s 3.3V. Zato se Rx mora konfigurirati s maksimalnih 3,3 V što se može postići s pretvaračem razine nivoa ili, kao u ovom slučaju, s razdjelnikom napona pomoću 1K i 2K otpornika kako se vidi u krugu.

Korak 5: Monitor baterije

Kako bih nadzirao razine baterije, postavio sam razdjelnike napona kako bi se razine napona spustile ispod 5 V (Arduinov maksimalni raspon). Razdjelnik napona smanjuje izmjereni napon unutar raspona Arduino analognih ulaza.

Koriste se analogni ulazi A4 i A6, a koriste se visoki otpornici (100K ohma) kako se baterije ne bi previše ispraznile u procesu mjerenja. Moramo napraviti kompromis, ako su otpornici preniski (10K ohma), manji učinak opterećenja, očitanje napona je točnije, ali više struje; ako su previsoke (1M ohma), veći učinak opterećenja, očitanje napona je manje točno, ali manje struje.

Praćenje baterije vrši se svakih 10 sekundi i prikazuje se izravno u mobilnom telefonu vašeg kontrolera.

Siguran sam da u ovom dijelu postoji mnogo prostora za poboljšanja jer čitam s dva analogna pina, a unutarnji MUX se mijenja između njih. Ne izračunujem u prosjeku više mjerenja i možda bih to trebao učiniti.

Dopustite mi da objasnim sljedeću formulu:

// Očitajte napon s analognog pina A4 i izvršite kalibraciju za Arduino:

napon1 = (analogno čitanje (A4)*5,0/1024,0)*2,0; //8.0V

Arduino nano ploča sadrži 8-kanalni, 10-bitni analogno-digitalni pretvarač. Funkcija analogRead () vraća broj između 0 i 1023 koji je proporcionalan količini napona koji se primjenjuje na pin. Time se dobiva razlučivost između očitanja od: 5 volti / 1024 jedinice ili, 0,0049 volti (4,9 mV) po jedinici.

Razdjelnik napona prepolovljuje napon, a da bi se dobio pravi napon, potrebno je pomnožiti s 2 !!

VAŽNO: Siguran sam da postoji učinkovitiji način napajanja arduina od načina na koji to radim !! Kao novak naučio sam na teži način. Arduino Vin pin koristi linearni regulator napona što znači da ćete s 9V baterijom sagorjeti veliki dio energije u samom linearnom regulatoru! Nije dobro. Učinio sam to na ovaj način jer je bio brz i samo zato što nisam znao bolje … ali budite sigurni da ću u Robo Frankie verziji 2.0 to sigurno učiniti drugačije.

Razmišljam (naglas) da bi DC DC Step up Switching napajanje i Li-ion punjiva baterija mogli biti bolji način. Vaš ljubazni prijedlog bit će više nego dobrodošao …

Korak 6: HC-SR04 ultrazvučni osjetnik dometa

HC-SR04 Ultrazvučni senzor dometa
HC-SR04 Ultrazvučni senzor dometa

HC-SR04 je ultrazvučni senzor raspona. Ovaj senzor omogućuje mjerenje od 2 cm do 400 cm s preciznošću do 3 mm. U ovom se projektu koristi za izbjegavanje prepreka kada dosegne 20 cm ili manje, a također za mjerenje udaljenosti do bilo kojeg objekta, koji se šalje natrag na vaš mobitel.

Na zaslonu vašeg mobitela nalazi se gumb koji morate kliknuti kako biste zatražili udaljenost do objekta u blizini.

Korak 7: Larsonov skener

Larson skener
Larson skener
Larson skener
Larson skener
Larson skener
Larson skener

Htio sam uključiti nešto zabavno pa sam uključio Larsonov skener koji podsjeća na K. I. T. T. od Knight Ridera.

Za Larsonov skener koristio sam ATtiny85 sa charlieplexingom. Charlieplexing je tehnika za upravljanje multipleksiranim zaslonom u kojoj se relativno malo I/O pinova na mikrokontroleru koristi za pogon niza LED dioda. Metoda koristi logičke sposobnosti tri stanja mikrokontrolera kako bi se povećala učinkovitost nad tradicionalnim multipleksiranjem.

U ovom slučaju koristim 3 pina iz ATtiny85 za osvjetljavanje 6 LED dioda !!

"X" LED diode možete upaliti s N pinova. Pomoću sljedeće formule odredite koliko LED dioda možete pokrenuti:

X = N (N-1) LED sa N pinova:

3 pina: 6 LED dioda;

4 pina: 12 LED dioda;

5 pinova: 20 LED dioda … shvatili ste;-)

Struja teče od pozitivne (anoda) do negativne (katoda). Vrh strelice je katodni.

Važno je napomenuti da se pin 1 (u Arduino IDE kodu) odnosi na fizički pin 6 u ATtiny85 (pogledajte priloženi pinout).

U privitku pronađite kôd koji je potrebno učitati na ATtiny85 koji kontrolira Larson skener. Ne opisujem kako učitati kôd u ATtiny85 jer postoji mnogo instrukcija koje to rade poput ovog.

Korak 8: Kodiranje

Kodirati
Kodirati

Prilažem kôd koji je potrebno učitati na ATtiny85 koji kontrolira Larsonov skener i kod za Arduino nano.

Što se tiče Arduino nano, iskoristio sam dio kodova iz drugih instrukcija (ovdje) i napravio izmjene koje odgovaraju mojim potrebama. Uključio sam dijagram toka (također u riječi za jasniju sliku) koda kako bih bolje razumio kako funkcionira prekidač.

Važno: Da biste učitali CarBluetooth kod u Arduino nano, morate odspojiti Rx i Tx s HC-05 Bluetooth modula!

Korak 9: Kamera

Fotoaparat
Fotoaparat
Fotoaparat
Fotoaparat

Aplikaciju IP web kamera potrebno je preuzeti iz play trgovine i instalirati na stari telefon. Provjerite video postavke, prilagodite razlučivost u skladu s tim i na kraju se spustite na posljednju naredbu "Pokreni poslužitelj" kako biste započeli prijenos. Ne zaboravite uključiti Wi-Fi na mobitelu !!

Korak 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 je alat zasnovan na oblaku koji pomaže u izgradnji aplikacija u vašem web pregledniku. Ova se aplikacija (samo za mobilne telefone sa sustavom Android) može prenijeti u vašu ćeliju i upravljati vašim robotskim automobilom.

Prilažem.apk i.aia kôd tako da možete vidjeti što sam učinio i možete ga izmijeniti kako želite. Koristio sam kôd s interneta (MIT App) i napravio vlastite izmjene. Ovaj kod kontrolira kretanje robotskog automobila, prima signal od ultrazvučnog senzora, uključuje svjetla i oglašava zvučni signal. Također prima signal iz baterija dajući nam do znanja razinu napona.

Pomoću ovog koda moći ćemo primati dva različita signala iz automobila: 1) udaljenost do objekta u blizini i 2) napon iz motora i baterija arduina.

Kako bih identificirao primljeni serijski niz, u Arduino kôd sam uključio zastavicu koja specificira vrstu niza koji je poslan. Ako Arduino šalje udaljenost izmjerenu od ultrazvučnog senzora, tada šalje znak "A" ispred niza. Kad god Arduino šalje razine baterije, šalje zastavicu s "B" znakom. U kodu izumitelja aplikacije MIT -a analizirao sam serijski niz koji dolazi iz Arduina i provjerio postoje li te zastavice. Kao što sam rekao, tek sam početnik i siguran sam da postoje učinkovitiji načini za to, a nadam se da će me netko moći prosvijetliti na bolji način.

Pošaljite Arduino_Bluetooth_Car.apk na svoj mobitel (putem e -pošte ili Google diska) i instalirajte ga.

Korak 11: Spojite svoj mobitel na svoj RC automobil

Spojite svoj mobitel na vaš RC automobil
Spojite svoj mobitel na vaš RC automobil
Spojite svoj mobitel na vaš RC automobil
Spojite svoj mobitel na vaš RC automobil

Prije svega, uključite wi-fi na starom mobitelu (onom u RC robotu).

U mobilnom telefonu kontrolera uključite wi-fi, Bluetooth i otvorite Arduino_Bluetooth_Car.apk koji ste upravo instalirali. Na kraju zaslona (pomaknite se prema dolje ako ga ne vidite) vidjet ćete dva gumba: Uređaji i POVEŽI. Pritisnite Uređaji i odaberite Bluetooth sa svog RC automobila (trebalo bi biti nešto HC 05), zatim kliknite POVEŽI i trebali biste vidjeti poruku POVEZANO na lijevom dnu zaslona. Prvi put će se od vas tražiti lozinka (unesite 0000 ili 1234).

Postoji okvir u koji trebate upisati IP adresu svoje stare ćelije (mobitel koji se nalazi u vašem RC automobilu), u mom slučaju to je

Ovaj IP broj može se otkriti u vašem Wi-Fi usmjerivaču. Morate ući u konfiguraciju usmjerivača, odabrati Popis uređaja (ili nešto slično ovisno o marki usmjerivača) i trebali biste moći vidjeti svoj stari mobilni uređaj, kliknuti na njega i unijeti ovaj IP broj u ovaj okvir.

Zatim odaberite CAMERA i trebali biste početi gledati kameru koja struji s vašeg RC automobila.

Korak 12: Gotovi ste

Ti si gotov!
Ti si gotov!

Ti si gotov! Počni se igrati s tim

Buduće promjene: Promijenit ću 9V bateriju s Li-ionskim baterijama kako bih ih napunio i upotrijebio DC-DC pojačavač napona, također želim poboljšati monitor baterije uključivanjem zaglađivanja (usrednjavanja) analognih očitanja. Ne planira uključiti A. I. ipak …;-)

Pristupio sam svom prvom instrukcijskom natječaju … stoga glasajte;-)

Preporučeni: