Innholdsfortegnelse:
- Trinn 1: Deler og programvare
- Trinn 2: Byggeprosess
- Trinn 3: L293D -motordriver
- Trinn 4: HC-05 Bluetooth
- Trinn 5: Batterimonitor
- Trinn 6: HC-SR04 ultralydssensor
- Trinn 7: Larson Scanner
- Trinn 8: Kode
- Trinn 9: Kamera
- Trinn 10: MIT App Inventor2
- Trinn 11: Koble mobiltelefonen til RC -bilen
- Trinn 12: Du er ferdig
Video: Robotbil med Bluetooth, kamera og MIT App Inventor2: 12 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Har du noen gang ønsket å bygge din egen robotbil? Vel … dette er din sjanse !!
I denne instruksjonsboken vil jeg veilede deg i hvordan du lager en robotbil kontrollert via Bluetooth og MIT App Inventor2. Vær oppmerksom på at jeg er en nybegynner, og at dette er min første ustabilitet, så vær forsiktig i kommentarene dine.
Det er mange instruktører der ute, men i denne har jeg prøvd å kombinere mange funksjoner som: kamerastrømming, hindring av hindringer, ultralydssensor, Larson -skanner (med charlieplexing) og batteriovervåkning til en Android -app !!
Så la oss komme i gang og møte Frankie (den bruker ideer fra mange steder … derav Robo Frankenstein)
Trinn 1: Deler og programvare
Her, i hjembyen min, er det vanskelig å få tak i alle delene, derfor kunne jeg få de fleste av dem fra www.aliexpress.com
Jeg anslår at prosjektet kan bygges for USD 25 - 30 uten å ta hensyn til den gamle mobiltelefonen.
- Bilchassis: 3 hjul, 2 motorer 6V (USD 9)
- Arduino Nano (USD 2)
- Bluetooth HC-05 (USD 3 til 4)
- L293D -motorfører for å kjøre hjulmotorer (USD 1,50 for en del på 5 deler)
- Gammelt mobilnett med kamera og Wi-Fi
- Ultralydssensor HC-SR04 for måling til et objekt i nærheten (USD 1)
- 6 lysdioder for Larson -skanner
- ATtiny85 for Larson -skanner (USD 1)
- Brødbrett (USD 1)
- Ledninger
- 100K Ohm motstand (4)
- 1K Ohm motstand (2)
- 2K Ohm motstand (1)
- 270 Ohm motstand (3)
- Summer
Programvare:
- Arduino IDE
- IP -webkamera (for gammel mobil Android)
- MIT App Inventor2: Denne appen er flott, men fungerer bare for Android -operativsystemet (ingen Iphones … beklager!)
Trinn 2: Byggeprosess
Bilchassis er veldig enkelt å montere; den har 2 motorer 6V som driver bakhjulene og en 4 batteripakke.
Robotbilen styres via Bluetooth og Wi-Fi. Bluetooth styrer den serielle kommunikasjonen mellom bilen og MIT App inventor2, og Wi-Fi brukes til å kommunisere med kameraet (gammel mobiltelefon) installert foran bilen.
Til dette prosjektet har jeg brukt to sett med batterier: arduinoen drives av et 9V batteri og bilmotorene med 6V (fire 1,5V AA batterier).
Arduino Nano er hjernen i dette prosjektet som styrer bilen, summer, ultralydssensor HC-SR04, Bluetooth HC-05, Larson skanner (ATtiny85) og overvåker batteriene. 9V batteri går til Vin (pin 30) og Arduinos pin 27 gir 5V regulert strøm til brødbrettet. Trenger å knytte alle grunner fra alle ICene og batteriene sammen.
Vedlagt gjorde kretsdiagrammet det i Excel (Beklager …. neste gang skal jeg prøve Fritzing). Jeg har koblet alt ved hjelp av brødbrett og hann til mannlige ledningskontakter, mitt ser ut som et rotterede.
Trinn 3: L293D -motordriver
L293D er en firdoble halvstrøm H-driver som er designet for å gi toveis drivstrømmer på opptil 600 mA ved spenninger 4,5V til 36V. Den brukes til å kjøre bilhjulene.
Den drives av en 6V batteripakke (fire 1,5V AA) for motorene og bruker 5V for logikken som kommer fra regulert 5V (pin 27) i Arduino Nano. Tilkoblinger er vist i vedlagte skjema.
Det var ikke nødvendig å installere det i en kjøleribbe.
Trinn 4: HC-05 Bluetooth
HC-05 Bluetooth drives av 5V (arduino pin 27), men det er viktig å forstå at logikknivået er 3,3V, dvs. kommunikasjon (Tx og Rx) med 3,3V. Det er derfor Rx må konfigureres med maks 3.3V som kan oppnås med en nivåskifteromformer eller, som i dette tilfellet, med en spenningsdeler ved å bruke 1K og 2K motstander som sett i kretsen.
Trinn 5: Batterimonitor
For å overvåke batterinivåene har jeg satt spenningsdelere for å bringe spenningsnivåer under 5V (Arduinos maksimal rekkevidde). Spenningsdeleren reduserer spenningen som måles til innenfor området for Arduino analoge innganger.
De analoge inngangene A4 og A6 brukes og høye motstander (100K ohm) brukes for ikke å tømme batteriene for mye i måleprosessen. Vi må inngå kompromisser hvis motstandene er for lave (10K ohm), mindre belastningseffekt, spenningsavlesning er mer nøyaktig, men mer nåværende tegning; hvis de er for høye (1M ohm), mer lasteeffekt, er spenningsavlesningen mindre nøyaktig, men mindre gjeldende tegning.
Batteriovervåkning utføres hvert 10. sekund og vises direkte i kontrolleren.
Jeg er sikker på at det er mye rom for forbedring i denne delen siden jeg leser fra to analoge pinner og den interne MUX bytter mellom dem. Jeg er ikke i gjennomsnitt flere målinger, og det er kanskje det jeg burde gjøre.
La meg forklare følgende formel:
// Les spenningen fra analog pin A4 og foreta kalibrering for Arduino:
spenning1 = (analogLes (A4)*5.0/1024.0)*2.0; //8.0V
Arduino nano-kortet inneholder 8-kanals, 10-bits analog til digital omformer. Funksjon analogRead () returnerer et tall mellom 0 og 1023 som er proporsjonalt med mengden spenning som tilføres pinnen. Dette gir en oppløsning mellom avlesninger på: 5 volt / 1024 enheter eller, 0,0049 volt (4,9 mV) per enhet.
Spenningsdeleren halverer spenningen, og for å få ekte spenning må den multipliseres med 2 !!
VIKTIG: Jeg er sikker på at det er en mer effektiv måte å drive en arduino på enn måten jeg gjør det på !! Som nybegynner har jeg lært på den harde måten. Arduino Vin pin bruker en lineær spenningsregulator som betyr at du med et 9V batteri vil brenne en stor del av strømmen i selve den lineære regulatoren! Ikke bra. Jeg gjorde det på denne måten fordi det var raskt og bare fordi jeg ikke visste bedre … men vær sikker på at i Robo Frankie versjon 2.0 vil jeg sikkert gjøre det annerledes.
Jeg tenker (høyt) at en DC DC Step up Switching Power Supply og et Li-ion oppladbart batteri kan være en bedre måte. Ditt hyggelige forslag vil være mer enn velkommen …
Trinn 6: HC-SR04 ultralydssensor
HC-SR04 er en ultralydssensor. Denne sensoren gir måling fra 2 cm til 400 cm med en rekkevidde på opptil 3 mm. I dette prosjektet brukes det til å unngå hindringer når det når 20 cm eller mindre, og også for å måle avstanden til et objekt som sendes tilbake til mobiltelefonen.
Det er en knapp på mobiltelefonskjermen som du må klikke for å be om avstand til et objekt i nærheten.
Trinn 7: Larson Scanner
Jeg ønsket å inkludere noe morsomt, så jeg inkluderte Larson -skanner som ligner K. I. T. T. fra Knight Rider.
For Larson -skanneren har jeg brukt ATtiny85 med charlieplexing. Charlieplexing er en teknikk for å kjøre en multiplekset skjerm der relativt få I/O -pinner på en mikrokontroller brukes til å drive en rekke lysdioder. Metoden bruker tri-state-logikkfunksjonene til mikrokontrollere for å oppnå effektivitet i forhold til tradisjonell multiplexing.
I dette tilfellet bruker jeg 3 pins fra ATtiny85 til å tenne 6 lysdioder !!
Du kan lyse opp "X" LED -er med N -pinner. Bruk følgende formel for å utlede hvor mange lysdioder du kan kjøre:
X = N (N-1) lysdioder med N-pinner:
3 pinner: 6 lysdioder;
4 pinner: 12 lysdioder;
5 pins: 20 lysdioder … du skjønner;-)
Strøm flyter fra positiv (anode) til negativ (katode). Tips på pilen er katode.
Det er viktig å merke seg at pin 1 (i Arduino IDE -kode) refererer til fysisk pin 6 i ATtiny85 (se vedlagte pinout).
Vedlagt finner du koden som må lastes opp til ATtiny85 som styrer Larson -skanneren. Jeg beskriver ikke hvordan du laster opp en kode til ATtiny85 siden det er mange instruktører som gjør det som denne.
Trinn 8: Kode
Jeg legger ved koden som må lastes opp til ATtiny85 som styrer Larson -skanneren og koden for Arduino nano.
Når det gjelder Arduino nano, har jeg brukt deler av koder fra andre instruktører (her) og gjort endringer for å passe mine behov. Jeg har inkludert et flytdiagram (også i ord for et tydeligere bilde) av koden for å bedre forstå hvordan Switch - Case fungerer.
Viktig: For å laste opp CarBluetooth-kode til Arduino nano, må du koble Rx og Tx fra HC-05 Bluetooth-modulen!
Trinn 9: Kamera
IP -webkamera -appen må lastes ned fra spillbutikken og installeres i din gamle mobiltelefon. Se etter videoinnstillinger, juster oppløsningen deretter og gå til slutt til den siste kommandoen "Start server" for å starte overføringen. Ikke glem å slå på Wi-Fi i mobiltelefonen!
Trinn 10: MIT App Inventor2
MIT App inventor2 er et skybasert verktøy som hjelper deg med å bygge apper i nettleseren din. Denne appen (bare for Android -basert mobil) kan deretter lastes opp til cellen din og kontrollere robotbilen din.
Jeg legger ved.apk- og.aia -kode, slik at du kan se hva jeg har gjort og kan endre den som du vil. Jeg har brukt en kode fra internett (MIT App) og gjort mine egne modifikasjoner. Denne koden styrer bevegelsen av robotbilen, mottar signal fra ultralydssensor, tenner lys og piper på summeren. Den mottar også signal fra batteriene som gir oss beskjed om spenningsnivået.
Med denne koden vil vi kunne motta to forskjellige signaler fra bilen: 1) avstand til et objekt i nærheten og 2) spenning fra motor og arduinos batterier.
For å identifisere den mottatte seriestrengen, har jeg tatt med et flagg i Arduinos kode som angir typen streng som er sendt. Hvis Arduino sender avstanden målt fra ultralydssensoren, sender den en "A" røye foran strengen. Når Arduino sender batterinivåer, sender den et flagg med en "B" -tegn. I MIT App inventors2 -kode har jeg analysert seriestrengen som kommer fra Arduino og sjekket for disse flaggene. Som jeg sa, jeg er en nybegynner, og jeg er sikker på at det finnes mer effektive måter å gjøre dette på, og jeg håper noen kan opplyse meg på en bedre måte.
Send Arduino_Bluetooth_Car.apk til mobiltelefonen din (via e -post eller Google Disk) og installer den.
Trinn 11: Koble mobiltelefonen til RC -bilen
Først av alt, slå på wi-fi i gammel mobiltelefon (den i RC-robot).
Slå på Wi-Fi, Bluetooth i kontrolleren din og åpne Arduino_Bluetooth_Car.apk som du nettopp har installert. På slutten av skjermen (rull ned hvis du ikke kan se det) vil du se to knapper: Enheter og KOBLE. Klikk på Enheter og velg Bluetooth fra RC -bilen din (skal være noe HC 05), klikk deretter KOBLE inn, og du vil se meldingen TILKOBLET nederst til venstre på skjermen. Første gang blir du bedt om et passord (skriv inn 0000 eller 1234).
Det er en boks der du må skrive inn IP -adressen til din gamle celle (mobiltelefon som er i RC -bilen), i mitt tilfelle er den
Dette IP-nummeret kan oppdages i Wi-Fi-ruteren. Du må gå inn i ruterkonfigurasjonen din, velge Enhetsliste (eller noe slikt avhengig av rutemerket), og du bør kunne se den gamle mobilenheten, klikke på den og skrive inn dette IP -nummeret i denne boksen.
Velg deretter CAMERA, og du bør begynne å se kamerastrømmen fra RC -bilen din.
Trinn 12: Du er ferdig
Du er ferdig! Begynn å leke med det
Fremtidige endringer: Jeg vil bytte 9V-batteri med Li-ion-batterier for å lade dem opp og bruke en DC-DC trinnvis spenningsregulator, jeg vil også forbedre batterimonitoren ved å inkludere utjevning (gjennomsnitt) av de analoge avlesningene. Har ikke tenkt å inkludere A. I. ennå …;-)
Jeg har deltatt i min første instruerbare konkurranse … så vær så snill å stemme;-)
Anbefalt:
Arduino Bluetooth robotbil: 18 trinn (med bilder)
Arduino Bluetooth Robot Car: Bygg din første Arduino Robot Car! Den mest komplette og omfattende trinnvise visuelle instruksjonen for å bygge din første Arduino Bluetooth Robot Car. Nyt
Spiderbot V2 Robotbil: 8 trinn (med bilder)
Spiderbot V2 Robot Car: Spiderbot V2 er en oppgraderingsversjon av mitt siste prosjekt: https://www.instructables.com/id/3D-printed-Transformers-Robot-Spiderbot/ Spiderbot er inspirert av " Transformers ". Det er en RC firdobbel robot og har to driftsmåter: sp
Bluetooth -kontrollert robotbil: 13 trinn (med bilder)
Bluetooth -kontrollert robotbil: var du alltid fascinert av RC -biler? Har du noen gang ønsket å lage en selv? styrt av din egen smarttelefon? ---- > La oss starte Så, hei folkens, her i dette prosjektet har jeg prøvd å lage en Bluetooth -kontrollert bil ved hjelp av Arduino. Jeg har inc
Bluetooth -kontrollert robotbil ved bruk av Arduino: 8 trinn (med bilder)
Bluetooth -kontrollert robotbil ved bruk av Arduino: I denne instruksen skal jeg veilede deg om hvordan du lager en robotbil som kontrollerer Bluetooth fra din Android -mobiltelefon. Ikke bare det, robotbilen har en spesiell evne til å unngå hindringer som den møter når du kjører bilen fremover. Roboen
ESP8266 robotbil programmert med ESP8266 Basic: 18 trinn (med bilder)
ESP8266 Robotbil programmert med ESP8266 Basic: Jeg er naturfaglærer på ungdomsskolen og også rådgiver i Robotic Club. Jeg har lett etter mer kostnadseffektive måter å få roboter i hendene på studentene mine. Med de lave prisene på ESP8266 -plater har jeg klart å lage en autonom