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, Novembar
Anonim
Image
Image
Dijelovi i softver
Dijelovi i softver

Jeste li ikada poželjeli napraviti vlastiti robot automobil? Pa … ovo je tvoja šansa !!

U ovom Instructableu ću vas upoznati sa načinom kako napraviti robotski automobil upravljan putem Bluetootha i MIT App Inventor2. Imajte na umu da sam tek početnik i da mi je ovo prva instuktiva pa vas molim da budete nježni u komentarima.

Postoje mnoge instrukcije vani, ali u ovoj sam pokušao kombinirati mnoge funkcije, 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 Frankie (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 uspio 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 točkovima (1,50 USD za lot od 5 komada)
  • Stari mobilni sa kamerom i Wi-Fi
  • Ultrazvučni senzor HC-SR04 za mjerenje na obližnjem objektu (1 USD)
  • 6 LED dioda za Larson skener
  • ATtiny85 za Larson skener (1 USD)
  • Oglasna ploča (1 USD)
  • Žice
  • 100K ohm otpornik (4)
  • Otpornik 1K Ohm (2)
  • 2K ohmski otpornik (1)
  • Otpor 270 Ohma (3)
  • Zujalica

Softver:

  • Arduino IDE
  • IP web kamera (za stari mobilni mobilni Android)
  • MIT App Inventor2: Ova aplikacija je odlična, ali radi samo za Android operativni sistem (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 se vrlo lako sastavlja; ima 2 motora 6V koji pokreću zadnje točkove 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 mobilnim telefonom) 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 nadzire 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 prilogu je dijagram sklopa napravljen u Excelu (oprostite … sljedeći put ću probati Fritzing). Sve sam spojio pomoću matične ploče i mužjaka na muške žičane konektore, moj izgleda kao gnijezdo štakora.

Korak 3: Upravljački program motora L293D

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

L293D je četverostruki visoko-strujni polu-H pogonski sklop dizajniran za pružanje dvosmjernih pogonskih struja do 600 mA pri naponima 4,5V do 36V. Koristi se za pogon točkova 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. Veze su prikazane 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čki nivo 3.3V, odnosno komunikacija (Tx i Rx) sa 3.3V. Zato Rx mora biti konfiguriran s maksimalnih 3,3 V što se može postići pretvaračem izmjenjivača razine 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 nivoe baterije, postavio sam razdjelnike napona kako bih nivo napona spustio ispod 5V (maksimalni raspon Arduina). Razdjelnik napona smanjuje napon koji se mjeri unutar raspona Arduino analognih ulaza.

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

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

Siguran sam da u ovom dijelu ima mnogo prostora za poboljšanja jer čitam s dva analogna pina, a unutarnji MUX se mijenja između njih. Ne dajem prosjek za 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. Ovo daje rezoluciju između očitanja od: 5 volti / 1024 jedinice ili, 0,0049 volti (4,9 mV) po jedinici.

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

VAŽNO: Siguran sam da postoji efikasniji način napajanja arduina od načina na koji to radim !! Kao početnik naučio sam na teži način. Arduino Vin pin koristi linearni regulator napona što znači da ćete uz bateriju od 9 V 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 senzor dometa

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

HC-SR04 je ultrazvučni senzor dometa. Ovaj senzor pruža mjerenje od 2 cm do 400 cm s preciznošću do 3 mm. U ovom projektu koristi se za izbjegavanje prepreka kada dosegne 20 cm ili manje, kao i za mjerenje udaljenosti do bilo kojeg objekta, koji se šalje na vaš mobitel.

Na ekranu vašeg mobilnog telefona postoji dugme koje morate kliknuti kako biste zatražili udaljenost do objekta u blizini.

Korak 7: Larson 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 Rider.

Za Larsonov skener koristio sam ATtiny85 sa charlieplexingom. Charlieplexing je tehnika upravljanja multipleksnim ekranom 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 efikasnost nad tradicionalnim multipleksiranjem.

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

Mogli biste upaliti "X" LED diode sa N pinova. Koristite sljedeću formulu da 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 prilogu možete pronaći 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: Kodirajte

Kod
Kod

Prilažem kôd koji treba prenijeti na ATtiny85 koji kontrolira Larson skener i kod za Arduino nano.

Što se tiče Arduino nano -a, koristio 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 Switch - Case.

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

Korak 9: Kamera

Kamera
Kamera
Kamera
Kamera

Aplikaciju IP web kamera potrebno je preuzeti iz play trgovine i instalirati na stari telefon. Provjerite video postavke, prilagodite rezoluciju u skladu s tim i na kraju se spustite na posljednju naredbu "Pokreni server" 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 aplikacija (samo za mobilne telefone zasnovane na Androidu) tada se 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đe prima signal iz baterija, obavještavajući nas o naponskom nivou.

Pomoću ovog koda moći ćemo primiti dva različita signala iz automobila: 1) udaljenost do obližnjeg objekta i 2) napon od motora i baterija arduina.

Da 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 "A" znak ispred niza. Kad god Arduino šalje nivoe baterije, šalje zastavicu sa "B" znakom. U kodu izumitelja aplikacije MIT -a 2 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 prosvijetliti na bolji način.

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

Korak 11: Povežite svoj mobitel sa svojim RC automobilom

Povežite svoj mobitel sa svojim RC automobilom
Povežite svoj mobitel sa svojim RC automobilom
Povežite svoj mobitel sa svojim RC automobilom
Povežite svoj mobitel sa svojim RC automobilom

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

U mobilnom telefonu vašeg kontrolera uključite wi-fi, Bluetooth i otvorite Arduino_Bluetooth_Car.apk koji ste upravo instalirali. Na kraju ekrana (pomaknite se prema dolje ako ga ne vidite) vidjet ćete dva gumba: Uređaji i CONNECT. 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 ekrana. 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 se emitira sa vašeg RC automobila.

Korak 12: Gotovi ste

Završio si!
Završio si!

Završio si! Počni se igrati s tim

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

Učestvovao sam na svom prvom takmičenju za instrukcije … zato glasajte;-)

Preporučuje se: