Sisukord:

Robotiauto Bluetoothi, kaamera ja MIT App Inventoriga 2: 12 sammu (piltidega)
Robotiauto Bluetoothi, kaamera ja MIT App Inventoriga 2: 12 sammu (piltidega)

Video: Robotiauto Bluetoothi, kaamera ja MIT App Inventoriga 2: 12 sammu (piltidega)

Video: Robotiauto Bluetoothi, kaamera ja MIT App Inventoriga 2: 12 sammu (piltidega)
Video: Porsche Taycan Turbo и Turbo S - технология, все функции, все особенности подробно описаны 2024, November
Anonim
Image
Image
Osad ja tarkvara
Osad ja tarkvara

Kas olete kunagi tahtnud oma robotiautot ehitada? Noh … see on sinu võimalus !!

Selles juhendis tutvustan teile, kuidas teha Bluetooth -i ja MIT App Inventor2 abil juhitavat robotautot. Pidage meeles, et olen algaja ja see on minu esimene instuctable, nii et palun olge oma kommentaarides õrn.

Seal on palju juhiseid, kuid selles olen proovinud ühendada Androidi rakendusega palju funktsioone, nagu kaamera voogesitus, takistuste vältimine, ultraheli kaugusandur, Larsoni skanner (koos charlieplexinguga) ja aku jälgimine !!

Nii et alustame ja kohtume Frankiega (see kasutab ideid paljudest kohtadest…. Siit siis Robo Frankenstein)

Samm: osad ja tarkvara

Osad ja tarkvara
Osad ja tarkvara
Osad ja tarkvara
Osad ja tarkvara

Siin, minu kodulinnas, on raske kõiki osi hankida, seetõttu sain enamiku neist hankida saidilt www.aliexpress.com

Ma arvan, et projekti saab ehitada 25–30 USA dollari eest, arvestamata vana mobiiltelefoni.

  • Auto šassii: 3 ratast, 2 mootorit 6V (9 USD)
  • Arduino Nano (2 USD)
  • Bluetooth HC-05 (3–4 USD)
  • L293D mootorijuht veoratta mootoritele (1,50 USD 5 tk partii kohta)
  • Vana mobiiltelefon koos kaamera ja WiFi-ga
  • Ultraheliandur HC-SR04 lähedal asuva objekti mõõtmiseks (1 USD)
  • 6 LED -i Larsoni skannerile
  • ATtiny85 Larsoni skanneri jaoks (1 USD)
  • Leivalaud (1 USD)
  • Juhtmed
  • 100K oomi takisti (4)
  • 1K oomi takisti (2)
  • 2K oomi takisti (1)
  • 270 oomi takisti (3)
  • Sumin

Tarkvara:

  • Arduino IDE
  • IP -veebikaamera (vana mobiilse Androidi jaoks)
  • MIT App Inventor2: see rakendus on suurepärane, kuid töötab ainult Androidi operatsioonisüsteemi jaoks (pole iPhone'i … vabandust!)

2. etapp: ehitusprotsess

Ehitusprotsess
Ehitusprotsess
Ehitusprotsess
Ehitusprotsess
Ehitusprotsess
Ehitusprotsess
Ehitusprotsess
Ehitusprotsess

Auto šassii on väga lihtne kokku panna; sellel on 2 6V mootorit, mis toidavad tagarattaid, ja 4 akut.

Robotiautot juhitakse Bluetoothi ja WiFi kaudu. Bluetooth juhib jadaühendust auto ja MIT rakenduse leiutaja2 vahel ning Wi-Fi-d kasutatakse auto ette paigaldatud kaameraga (vana mobiiltelefon) suhtlemiseks.

Selle projekti jaoks olen kasutanud kahte patareide komplekti: arduino toiteallikaks on 9 V aku ja auto mootorid 6 V (neli 1,5 V AA patareid).

Arduino Nano on selle projekti aju, mis juhib autot, suminat, ultraheli kaugusandurit HC-SR04, Bluetooth HC-05, Larsoni skannerit (ATtiny85) ja jälgib akusid. 9 V aku läheb Vinile (tihvt 30) ja Arduino tihvt 27 annab leivaplaadile 5 V reguleeritud toite. Vaja siduda kõik IC -de ja akude alused kokku.

Lisatud on skeem Excelis (vabandust…. Järgmine kord proovin Fritzingi). Olen ühendanud kõik leivaplaati ja isast isasjuhtmetega, minu oma näeb välja nagu rottide pesa.

Samm: L293D mootori draiver

L293D mootorijuht
L293D mootorijuht
L293D mootorijuht
L293D mootorijuht

L293D on neljakordne suure vooluga pool-H draiver, mis on ette nähtud kahesuunaliste ajamivoolude tagamiseks kuni 600 mA pingetel 4,5V kuni 36V. Seda kasutatakse auto rataste juhtimiseks.

Selle toiteallikaks on mootorite 6 V aku (neli 1,5 V AA) ja see kasutab 5 V loogikat, mis tuleneb Arduino Nano reguleeritud 5 V (tihvt 27). Ühendused on näidatud lisatud skeemil.

Seda polnud vaja jahutusradiaatorisse paigaldada.

Samm 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetoothi toiteallikaks on 5 V (arduino pin 27), kuid on oluline mõista, et loogika tase on 3,3 V, st side (Tx ja Rx) 3,3 V pingega. Seetõttu tuleb Rx konfigureerida maksimaalse 3,3 V pingega, mida on võimalik saavutada nihke muunduriga või nagu käesoleval juhul pingejaguriga, kasutades vooluahelas 1K ja 2K takistit.

Samm: aku jälgimine

Aku taseme jälgimiseks olen seadnud pingejagurid, et viia pingetase alla 5 V (Arduino maksimaalne vahemik). Pingejagur vähendab mõõdetavat pinget Arduino analoogsisendite vahemikku.

Kasutatakse analoogsisendeid A4 ja A6 ning kõrgeid takistusi (100K oomi), et mitte akusid mõõtmisprotsessis liiga palju tühjendada. Peame tegema kompromisse, kui takistid on liiga madalad (10K oomi), vähem koormust, on pinge näit täpsem, kuid rohkem voolu; kui need on liiga kõrged (1M oomi), rohkem laadimist, pinge näit on vähem täpne, kuid vähem voolu.

Aku jälgimine toimub iga 10 sekundi järel ja kuvatakse otse teie kontrolleri mobiiltelefonis.

Olen kindel, et selles osas on palju arenguruumi, kuna loen kahelt analoogpoldilt ja sisemine MUX vahetub nende vahel. Ma ei keskenda mitu mõõtmist ja võib -olla peaksin seda tegema.

Lubage mul selgitada järgmist valemit:

// Loe pinge analoogpistikust A4 ja kalibreeri Arduino:

pinge1 = (analooglugemine (A4)*5,0/1024,0)*2,0; //8.0V

Arduino nanoplaat sisaldab 8 kanaliga 10-bitist analoog-digitaalmuundurit. Funktsioon analogRead () tagastab arvu vahemikus 0 kuni 1023, mis on proportsionaalne tihvtile rakendatava pingega. See annab eraldusvõime näitude vahel: 5 volti / 1024 ühikut või 0,0049 volti (4,9 mV) ühiku kohta.

Pingejagur vähendab pooleks pinget ja tõelise pinge saamiseks tuleb korrutada 2 -ga !!

TÄHTIS: Olen kindel, et on olemas tõhusam viis arduino toiteks kui see, mida ma teen !! Algajana olen õppinud rasket teed. Arduino Vin pin kasutab lineaarset pingeregulaatorit, mis tähendab, et 9 V akuga põletate suure osa võimsusest lineaarse regulaatori enda sees! Pole hea. Ma tegin seda nii, sest see oli kiire ja lihtsalt sellepärast, et ma ei teadnud paremini … aga ole kindel, et Robo Frankie versioonis 2.0 teen ma seda kindlasti teisiti.

Ma mõtlen (valjusti), et alalisvoolu alalisvoolu lülitustoiteallikas ja liitium-ioon aku võiks olla parem viis. Teie soovitus on rohkem kui teretulnud…

Samm: ultraheli kaugusandur HC-SR04

Ultraheli kaugusandur HC-SR04
Ultraheli kaugusandur HC-SR04

HC-SR04 on ultraheli ulatuseandur. See andur võimaldab mõõta 2–400 cm, ulatudes täpsusega kuni 3 mm. Selles projektis kasutatakse seda takistuste vältimiseks, kui see ulatub 20 cm -ni või alla selle, ja ka kauguse mõõtmiseks mis tahes objekti juurde, mis saadetakse tagasi teie mobiiltelefonile.

Teie mobiiltelefoni ekraanil on nupp, mida tuleb klõpsata, et taotleda läheduses asuva objekti kaugust.

Samm: Larsoni skanner

Larsoni skanner
Larsoni skanner
Larsoni skanner
Larsoni skanner
Larsoni skanner
Larsoni skanner

Tahtsin lisada midagi lõbusat, nii et lisasin Larsoni skanneri, mis sarnaneb K. I. T. T. Knight Riderilt.

Larsoni skanneri jaoks olen kasutanud ATtiny85 koos charlieplexinguga. Charlieplexing on tehnika multipleksitud ekraani juhtimiseks, mille puhul kasutatakse suhteliselt vähe mikrokontrolleri I/O kontakte, et juhtida hulgaliselt LED -e. Meetod kasutab mikrokontrollerite kolme oleku loogikavõimalusi, et suurendada tõhusust traditsioonilise multipleksimise ees.

Sel juhul kasutan 6 LED -i süttimiseks 3 kontakti ATtiny85 -st !!

Võite süttida "X" LED -id N -tihvtidega. Kasutage järgmist valemit, kui palju LED -e saate juhtida:

X = N (N-1) LED-d N-tihvtidega:

3 tihvti: 6 LED -i;

4 tihvti: 12 LED -i;

5 tihvti: 20 LED-i … saate aru;-)

Vool liigub positiivsest (anoodist) negatiivsesse (katood). Noole ots on katood.

Oluline on märkida, et tihvt 1 (Arduino IDE -koodis) viitab ATtiny85 füüsilisele tihvtile 6 (vaadake lisatud pistikut).

Lisatud leiate koodi, mis tuleb üles laadida ATtiny85 -sse, mis juhib Larsoni skannerit. Ma ei kirjelda, kuidas koodi ATtiny85 -sse üles laadida, kuna seal on palju juhendeid, mis seda teevad.

8. samm: kood

Kood
Kood

Lisan koodi, mis tuleb üles laadida ATtiny85 -sse, mis juhib Larsoni skannerit, ja Arduino nanode koodi.

Arduino nano osas olen kasutanud osa teiste juhendite koodidest (siin) ja teinud oma vajadustele vastavaid muudatusi. Olen lisanud koodi vooskeemi (ka sõnaga selgema pildi saamiseks), et paremini mõista, kuidas Switch - Case töötab.

Tähtis: CarBluetooth-koodi Arduino nano-sse üleslaadimiseks peate Rx ja Tx lahti ühendama Bluetooth-moodulist HC-05!

9. samm: kaamera

Kaamera
Kaamera
Kaamera
Kaamera

IP veebikaamera rakendus tuleb Play poest alla laadida ja oma vanasse mobiiltelefoni installida. Kontrollige video eelistusi, reguleerige eraldusvõimet vastavalt ja minge lõpuks edastamise alustamiseks viimasele käsule „Käivita server”. Ärge unustage mobiiltelefoni WiFi-ühendust sisse lülitada !!

Samm 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 on pilvepõhine tööriist, mis aitab veebibrauseris rakendusi luua. Selle rakenduse (ainult androidipõhiste mobiilsidevõrgu jaoks) saab seejärel oma mobiiltelefoni üles laadida ja oma robotiautot juhtida.

Lisan.apk ja.aia koodi, et näeksite, mida olen teinud, ja saaksite seda soovi korral muuta. Olen kasutanud Internetist pärit koodi (MIT App) ja teinud ise muudatusi. See kood juhib robotauto liikumist, võtab vastu signaali ultraheliandurilt, lülitab sisse tuled ja annab helisignaali. Samuti saab see patareidelt signaali, mis annab meile teada pinge taseme.

Selle koodiga saame autolt vastu võtta kaks erinevat signaali: 1) kaugus läheduses asuvast objektist ja 2) pinge mootorist ja arduino akudest.

Saadud jadastringi tuvastamiseks olen lisanud Arduino koodi koodi, mis määrab saadetud stringi tüübi. Kui Arduino saadab ultraheliandurilt mõõdetud kauguse, saadab see stringi ette tähe “A”. Kui Arduino saadab aku taset, saadab ta lipu, millel on “B” sümbol. MIT App leiutajate2 koodis olen parsinud Arduinost pärit jadastringi ja kontrollinud nende lippe. Nagu ma ütlesin, olen algaja ja olen kindel, et selleks on tõhusamaid viise, ja loodan, et keegi oskab mind paremini valgustada.

Saatke Arduino_Bluetooth_Car.apk oma mobiiltelefonile (e -posti või Google Drive'i kaudu) ja installige see.

Samm: ühendage oma mobiiltelefon RC -autoga

Ühendage oma mobiiltelefon RC -autoga
Ühendage oma mobiiltelefon RC -autoga
Ühendage oma mobiiltelefon RC -autoga
Ühendage oma mobiiltelefon RC -autoga

Kõigepealt lülitage vanas mobiiltelefonis (see, mis on RC-robotis) wi-fi sisse.

Lülitage oma kontrolleri mobiiltelefonis sisse WiFi, Bluetooth ja avage äsja installitud Arduino_Bluetooth_Car.apk. Ekraani lõpus (kerige alla, kui te seda ei näe) näete kahte nuppu: Seadmed ja Ühenda. Klõpsake Devices (Seadmed) ja valige oma RC Carist Bluetooth (peaks olema midagi HC 05), seejärel klõpsake CONNECT (Ühenda) ja peaksite ekraani vasakus allosas nägema sõnumit CONNECTED (Ühendatud). Esmakordselt küsitakse teilt parooli (sisestage 0000 või 1234).

Seal on kast, kuhu peate sisestama oma vana mobiili (mobiiltelefon, mis on teie RC -autos) IP -aadressi, minu puhul on see

Seda IP-numbrit saab teie WiFi-ruuteris tuvastada. Peate sisenema oma ruuteri konfiguratsiooni, valima seadmete loendi (või midagi sellist, sõltuvalt teie ruuteri kaubamärgist) ja peaksite nägema oma vana mobiilseadet, klõpsama sellel ja sisestama selle IP -numbri sellesse kasti.

Seejärel valige CAMERA ja peaksite alustama kaamera voogesituse vaatamist oma RC Carist.

12. samm: olete valmis

Sa oled valmis!
Sa oled valmis!

Sa oled valmis! Alustage sellega mängimist

Tulevased muudatused: vahetan 9 V patarei liitiumioonakudega, et neid uuesti laadida, ja kasutan DC-DC pingeregulaatorit. Samuti soovin täiustada aku monitori, lisades analoognäitude silumise (keskmistamise). Ei kavatse lisada A. I. veel…;-)

Olen osalenud oma esimesel juhendataval võistlusel… nii et palun hääletage;-)

Soovitan: