Kazalo:

Robotski avto z Bluetooth, kamero in aplikacijo MIT Inventor 2: 12 korakov (s slikami)
Robotski avto z Bluetooth, kamero in aplikacijo MIT Inventor 2: 12 korakov (s slikami)

Video: Robotski avto z Bluetooth, kamero in aplikacijo MIT Inventor 2: 12 korakov (s slikami)

Video: Robotski avto z Bluetooth, kamero in aplikacijo MIT Inventor 2: 12 korakov (s slikami)
Video: Leap Motion SDK 2024, Julij
Anonim
Image
Image
Deli in programska oprema
Deli in programska oprema

Ste si kdaj želeli zgraditi svoj avtomobil? No … to je tvoja priložnost !!

V tem navodilu vas bom seznanil s tem, kako narediti avtomobil robota, ki ga upravlja Bluetooth in MIT App Inventor2. Zavedajte se, da sem novinec in da je to moja prva inštrukcija, zato bodite nežni v komentarjih.

Obstaja veliko navodil, vendar sem v tem poskusil združiti številne funkcije, kot so: pretakanje kamere, izogibanje oviram, ultrazvočni senzor dosega, Larsonov skener (s čarlipleksiranjem) in spremljanje baterije v aplikacijo za Android !!

Pa začnimo in spoznajmo Frankieja (uporablja ideje z mnogih krajev…. Zato Robo Frankenstein)

1. korak: Deli in programska oprema

Deli in programska oprema
Deli in programska oprema
Deli in programska oprema
Deli in programska oprema

Tukaj, v mojem domačem kraju, je težko dobiti vse dele, zato sem jih večino lahko dobil na www.aliexpress.com

Ocenjujem, da je projekt mogoče zgraditi za 25 - 30 USD brez upoštevanja starega mobilnega telefona.

  • Podvozje avtomobila: 3 kolesa, 2 motorja 6V (9 USD)
  • Arduino Nano (2 USD)
  • Bluetooth HC-05 (3 do 4 USD)
  • Gonilnik motorja L293D za pogon kolesnih motorjev (1,50 USD za 5 kosov)
  • Stari mobilni telefon s kamero in Wi-Fi
  • Ultrazvočni senzor HC-SR04 za merjenje na bližnji predmet (1 USD)
  • 6 LED za optični bralnik Larson
  • ATtiny85 za skener Larson (1 USD)
  • Ogledna plošča (1 USD)
  • Žice
  • 100K ohmski upor (4)
  • 1K ohmski upor (2)
  • 2K ohmski upor (1)
  • 270 ohmski upor (3)
  • Zvočni signal

Programska oprema:

  • Arduino IDE
  • IP spletna kamera (za stare mobilne telefone Android)
  • MIT App Inventor2: Ta aplikacija je odlična, vendar deluje samo za operacijski sistem Android (brez iPhone… žal!)

2. korak: Postopek gradnje

Gradbeni proces
Gradbeni proces
Gradbeni proces
Gradbeni proces
Gradbeni proces
Gradbeni proces
Gradbeni proces
Gradbeni proces

Avtomobilsko podvozje je zelo enostavno sestaviti; ima 2 motorja 6V za pogon zadnjih koles in 4 baterije.

Avto Robot se upravlja prek Bluetooth in Wi-Fi. Bluetooth nadzoruje serijsko komunikacijo med avtomobilom in izumiteljem aplikacije MIT2, Wi-Fi pa se uporablja za komunikacijo s kamero (starim mobilnim telefonom), nameščeno pred avtomobilom.

Za ta projekt sem uporabil dva kompleta baterij: arduino napaja 9V baterija, motorje avtomobila pa 6V (štiri baterije 1.5V AA).

Arduino Nano je možgani tega projekta, ki nadzoruje avtomobil, zvočni signal, ultrazvočni senzor območja HC-SR04, Bluetooth HC-05, Larsonov skener (ATtiny85) in spremlja baterije. 9V baterija gre na Vin (pin 30), Arduino pin 27 pa daje 5V regulirano napajanje na ploščo. Morate povezati vse podlage iz vseh IC -jev in baterij skupaj.

V prilogi je diagram vezja nastal v Excelu (oprosti … naslednjič bom poskusil s Fritzingom). Vse sem povezal s ploščico in samcem na moške žične konektorje, moj izgleda kot gnezdo podgan.

Korak: Gonilnik motorja L293D

Gonilnik motorja L293D
Gonilnik motorja L293D
Gonilnik motorja L293D
Gonilnik motorja L293D

L293D je štirikratni visokotokovni pol-H gonilnik, zasnovan za zagotavljanje dvosmernih pogonskih tokov do 600 mA pri napetostih 4,5V do 36V. Uporablja se za pogon koles avtomobila.

Napaja ga 6V baterija (štiri 1.5V AA) za motorje in uporablja 5V za logiko, ki prihaja iz reguliranih 5V (pin 27) v Arduino Nano. Povezave so prikazane na priloženi shemi.

Ni ga bilo treba namestiti v hladilnik.

4. korak: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth napaja 5 V (arduino pin 27), vendar je pomembno razumeti, da je logična raven 3,3 V, torej komunikacije (Tx in Rx) s 3,3 V. Zato je treba Rx konfigurirati z največ 3,3 V, kar je mogoče doseči s pretvornikom nivojskega premika ali, kot v tem primeru, z delilnikom napetosti z uporabo uporov 1K in 2K, kot je prikazano v vezju.

5. korak: Monitor baterije

Za spremljanje ravni baterije sem nastavil delilnike napetosti, da znižam napetost pod 5 V (največje območje Arduina). Delitelj napetosti zmanjša napetost, ki se meri v območju analognih vhodov Arduino.

Uporabljajo se analogni vhodi A4 in A6 in visoki upori (100K ohmov), da se v procesu merjenja ne bi preveč izpraznile baterije. Moramo narediti kompromis, če so upori prenizki (10K ohmov), manj obremenitvenega učinka, je odčitavanje napetosti natančnejše, a bolj trenutna risba; če so previsoke (1M ohmov), učinek obremenitve je večji, je odčitavanje napetosti manj natančno, vendar je manjši tok.

Nadzor baterije se izvaja vsakih 10 sekund in je prikazan neposredno v mobilnem telefonu vašega regulatorja.

Prepričan sem, da je v tem delu veliko prostora za izboljšave, saj berem z dveh analognih zatičev in med njima se zamenja notranji MUX. Ne povprečim več meritev in morda bi to moral storiti.

Naj razložim naslednjo formulo:

// Odčitajte napetost z analognega zatiča A4 in izvedite kalibracijo za Arduino:

napetost1 = (analogno branje (A4)*5,0/1024,0)*2,0; //8.0V

Nano plošča Arduino vsebuje 8-kanalni, 10-bitni analogno-digitalni pretvornik. Funkcija analogRead () vrne številko med 0 in 1023, ki je sorazmerna količini napetosti, ki se nanaša na pin. Tako dobimo ločljivost med odčitki: 5 voltov / 1024 enot ali 0,0049 voltov (4,9 mV) na enoto.

Delilnik napetosti prepolovi napetost in, da bi dobili pravo napetost, morate pomnožiti z 2 !!

POMEMBNO: Prepričan sem, da obstaja učinkovitejši način za napajanje arduina kot jaz! Kot novinec sem se naučil na težji način. Arduino Vin pin uporablja linearni regulator napetosti, kar pomeni, da boste z 9V baterijo porabili velik del energije v samem linearnem regulatorju! Slabo. To sem storil tako, ker je bil hiter in samo zato, ker nisem vedel bolje … ampak prepričan sem, da bom v različici Robo Frankie 2.0 zagotovo naredil drugače.

Razmišljam (na glas), da bi bil DC DC Step up stikalni napajalnik in Li-ion baterija za ponovno polnjenje lahko boljši način. Vaš prijazen predlog bo več kot dobrodošel …

Korak 6: Ultrazvočni senzor območja HC-SR04

HC-SR04 Ultrazvočni senzor dosega
HC-SR04 Ultrazvočni senzor dosega

HC-SR04 je ultrazvočni senzor dosega. Ta senzor omogoča meritve od 2 cm do 400 cm z natančnostjo do 3 mm. V tem projektu se uporablja za izogibanje oviram, ko doseže 20 cm ali manj, pa tudi za merjenje razdalje do katerega koli predmeta, ki se pošlje nazaj na vaš mobilni telefon.

Na zaslonu vašega mobilnega telefona je gumb, ki ga morate klikniti, da zahtevate razdaljo do bližnjega predmeta.

7. korak: Larson skener

Skener Larson
Skener Larson
Skener Larson
Skener Larson
Skener Larson
Skener Larson

Hotel sem vključiti nekaj zabavnega, zato sem vključil Larsonov skener, ki spominja na K. I. T. T. od Knight Rider.

Za skener Larson sem uporabil ATtiny85 s charlieplexingom. Charlieplexing je tehnika za upravljanje multipleksiranega zaslona, pri kateri se relativno malo V/I zatičev na mikrokrmilniku uporablja za pogon niza LED. Metoda uporablja logične zmožnosti treh stanj mikrokrmilnikov za povečanje učinkovitosti v primerjavi s tradicionalnim multipleksiranjem.

V tem primeru uporabljam 3 zatiči iz ATtiny85 za prižig 6 LED diod !!

Lučke "X" lahko prižgete z N zatiči. Uporabite naslednjo formulo, da ugotovite, koliko LED diod lahko poganjate:

X = N (N-1) LED z N zatiči:

3 zatiči: 6 LED;

4 zatiči: 12 LED;

5 zatičev: 20 LED … razumete idejo;-)

Tok teče iz pozitivnega (anoda) v negativnega (katoda). Konica puščice je katodna.

Pomembno je omeniti, da se pin 1 (v Arduino IDE kodi) nanaša na fizični pin 6 v ATtiny85 (glejte priložen pinout).

V priponki najdete kodo, ki jo je treba naložiti v ATtiny85, ki upravlja skener Larson. Ne opisujem, kako naložiti kodo v ATtiny85, ker obstaja veliko navodil, ki to počnejo, kot je ta.

8. korak: Koda

Koda
Koda

Prilagam kodo, ki jo je treba naložiti v ATtiny85, ki nadzoruje Larsonov skener in kodo za Arduino nano.

Kar zadeva Arduino nano, sem uporabil del kod iz drugih navodil (tukaj) in naredil spremembe, ki ustrezajo mojim potrebam. Vključil sem diagram poteka (tudi v besedi za jasnejšo sliko) kode, da bi bolje razumeli, kako deluje stikalo.

Pomembno: Če želite naložiti kodo CarBluetooth v Arduino nano, morate odklopiti Rx in Tx od modula Bluetooth HC-05!

9. korak: Kamera

Kamera
Kamera
Kamera
Kamera

Aplikacijo IP Webcam morate prenesti iz trgovine Play in jo namestiti v svoj stari mobilni telefon. Preverite nastavitve videa, ustrezno prilagodite ločljivost in se na koncu spustite na zadnji ukaz »Začni strežnik«, da začnete prenos. Ne pozabite vklopiti Wi-Fi v mobilnem telefonu !!

10. korak: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 je orodje v oblaku, ki pomaga pri izdelavi aplikacij v spletnem brskalniku. To aplikacijo (samo za mobilne telefone, ki temelji na androidu) lahko nato naložite v svojo celico in nadzirate avtomobil robota.

Prilagam kodo.apk in.aia, da vidite, kaj sem naredil, in jo lahko po želji spremenite. Uporabil sem kodo iz interneta (MIT App) in naredil lastne spremembe. Ta koda nadzoruje gibanje robotskega avtomobila, sprejema signal iz ultrazvočnega senzorja, prižge luči in piska. Prejema tudi signal iz baterij, ki nam sporoča raven napetosti.

S to kodo bomo lahko prejeli dva različna signala iz avtomobila: 1) razdaljo do bližnjega predmeta in 2) napetost iz motornih in arduinovih baterij.

Za identifikacijo prejetega serijskega niza sem v Arduinovo kodo vključil zastavo, ki določa vrsto poslanega niza. Če Arduino pošlje razdaljo, izmerjeno od ultrazvočnega senzorja, pošlje znak "A" pred nizom. Kadar koli Arduino pošlje ravni baterije, pošlje zastavico z znakom "B". V kodi izumiteljev aplikacije MIT2 sem razčlenil serijski niz, ki prihaja iz Arduina, in preveril te zastavice. Kot sem rekel, sem novinec in prepričan sem, da obstajajo učinkovitejši načini za to, in upam, da me bo kdo razsvetlil na boljši način.

Pošljite Arduino_Bluetooth_Car.apk na svoj mobilni telefon (po e -pošti ali Google Drive) in ga namestite.

11. korak: Priključite mobilni telefon na avtomobil z daljinskim upravljalnikom

Mobilni telefon priključite na avtomobil z daljinskim upravljalnikom
Mobilni telefon priključite na avtomobil z daljinskim upravljalnikom
Mobilni telefon priključite na avtomobil z daljinskim upravljalnikom
Mobilni telefon priključite na avtomobil z daljinskim upravljalnikom

Najprej vklopite wi-fi v starem mobilnem telefonu (tistem v RC robotu).

V mobilnem telefonu krmilnika vklopite wi-fi, Bluetooth in odprite Arduino_Bluetooth_Car.apk, ki ste ga pravkar namestili. Na koncu zaslona (pomaknite se navzdol, če ga ne vidite) boste videli dva gumba: Naprave in POVEŽI. Kliknite Naprave in izberite Bluetooth v svojem avtomobilu RC (mora biti nekaj HC 05), nato kliknite POVEŽI in na levem dnu zaslona bi morali videti sporočilo POVEZANO. Prvič boste morali vnesti geslo (vnesite 0000 ali 1234).

Obstaja polje, kjer morate vnesti naslov IP svoje stare celice (mobilni telefon, ki je v vašem avtomobilu RC), v mojem primeru je

To številko IP lahko zaznate v usmerjevalniku Wi-Fi. Vstopiti morate v konfiguracijo usmerjevalnika, izbrati seznam naprav (ali kaj podobnega, odvisno od blagovne znamke usmerjevalnika) in videti boste morali svojo staro mobilno napravo, kliknite nanjo in v to polje vnesite to številko IP.

Nato izberite CAMERA in začnite gledati kamero, ki se pretaka iz vašega RC avtomobila.

12. korak: Končali ste

Končali ste!
Končali ste!

Končali ste! Začni se igrati z njim

Prihodnje spremembe: 9V baterijo bom zamenjal z Li-ion baterijami, da jih napolnim in uporabim DC-DC povečevalni regulator napetosti, prav tako pa želim izboljšati monitor baterije z vključitvijo glajenja (povprečenja) analognih odčitkov. Ne nameravam vključiti A. I. še…;-)

Udeležil sem se svojega prvega tekmovanja, ki ga je mogoče poučiti … zato vas prosim, da glasujete;-)

Priporočena: