Indholdsfortegnelse:

Robotbil med Bluetooth, kamera og MIT App Inventor2: 12 trin (med billeder)
Robotbil med Bluetooth, kamera og MIT App Inventor2: 12 trin (med billeder)

Video: Robotbil med Bluetooth, kamera og MIT App Inventor2: 12 trin (med billeder)

Video: Robotbil med Bluetooth, kamera og MIT App Inventor2: 12 trin (med billeder)
Video: Shoshana Zuboff on surveillance capitalism | VPRO Documentary 2024, Juli
Anonim
Image
Image
Dele og software
Dele og software

Har du nogensinde ønsket at bygge din egen robotbil? Nå … det er din chance !!

I denne instruktionsbog vil jeg vise dig, hvordan du laver en robotbil styret via Bluetooth og MIT App Inventor2. Vær opmærksom på, at jeg er en nybegynder, og at dette er min første instuctable, så vær venlig i dine kommentarer.

Der er mange instruktører derude, men i denne har jeg forsøgt at kombinere mange funktioner som: kamera streaming, forhindring af forhindringer, ultralydssensor, Larson scanner (med charlieplexing) og batteriovervågning til en Android App !!

Så lad os komme i gang og møde Frankie (den bruger ideer fra mange steder … derfra Robo Frankenstein)

Trin 1: Dele og software

Dele og software
Dele og software
Dele og software
Dele og software

Her i min hjemby er det svært at få alle delene, derfor kunne jeg få de fleste af dem fra www.aliexpress.com

Jeg vurderer, at projektet kan bygges til USD 25 - 30 uden at overveje den gamle mobiltelefon.

  • Bilchassis: 3 hjul, 2 motorer 6V (USD 9)
  • Arduino Nano (USD 2)
  • Bluetooth HC-05 (3 til 4 USD)
  • L293D -motordriver til at køre hjulmotorer (USD 1,50 for en del på 5 stykker)
  • Gammel mobil med kamera og Wi-Fi
  • Ultralydssensor HC-SR04 til måling til et objekt i nærheden (USD 1)
  • 6 lysdioder til Larson scanner
  • ATtiny85 til Larson scanner (USD 1)
  • Brødbræt (USD 1)
  • Ledninger
  • 100K Ohm modstand (4)
  • 1K Ohm modstand (2)
  • 2K Ohm modstand (1)
  • 270 Ohm modstand (3)
  • Summer

Software:

  • Arduino IDE
  • IP -webcam (til gammel mobil Android)
  • MIT App Inventor2: Denne app er fantastisk, men fungerer kun til Android -operativsystem (ingen Iphones … undskyld!)

Trin 2: Byggeproces

Byggeproces
Byggeproces
Byggeproces
Byggeproces
Byggeproces
Byggeproces
Byggeproces
Byggeproces

Bilchassis er meget let at samle; den har 2 motorer 6V, der driver baghjul og en 4 batteripakke.

Robotbilen styres via Bluetooth og Wi-Fi. Bluetooth styrer den serielle kommunikation mellem bilen og MIT App inventor2, og Wi-Fi bruges til at kommunikere med kameraet (gammel mobiltelefon) installeret foran bilen.

Til dette projekt har jeg brugt to sæt batterier: arduinoen drives af et 9V batteri og bilmotorerne af 6V (fire 1,5V AA batterier).

Arduino Nano er hjernen i dette projekt, der styrer bilen, summer, ultralydssensor HC-SR04, Bluetooth HC-05, Larson scanner (ATtiny85) og overvåger batterierne. 9V batteri går til Vin (pin 30) og Arduinos pin 27 giver 5V reguleret strøm til brødbrættet. Har brug for at binde alle grunde fra alle IC'er og batterier sammen.

Vedhæftet lavede kredsløbsdiagrammet det i Excel (Undskyld …. næste gang prøver jeg Fritzing). Jeg har forbundet alt ved hjælp af brødbræt og han til hanstik, min ligner en rotterede.

Trin 3: L293D -motordriver

L293D motor driver
L293D motor driver
L293D motor driver
L293D motor driver

L293D er en firdobbelt højstrøm halv-H driver designet til at levere tovejs drivstrømme på op til 600 mA ved spændinger 4,5V til 36V. Det bruges til at køre bilens hjul.

Den drives af en 6V batteripakke (fire 1,5V AA) til motorerne og bruger 5V til logikken, der kommer fra reguleret 5V (pin 27) i Arduino Nano. Forbindelser er vist i den vedlagte skema.

Det var ikke nødvendigt at installere det i en køleplade.

Trin 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth drives af 5V (arduino pin 27), men det er vigtigt at forstå, at det logiske niveau er 3,3V, dvs. kommunikation (Tx og Rx) med 3,3V. Det er derfor, Rx skal konfigureres med maks. 3,3V, som kan opnås med en niveauskifteromformer eller, som i dette tilfælde, med en spændingsdeler ved hjælp af en 1K og 2K modstande, som det ses i kredsløbet.

Trin 5: Batteriovervågning

For at overvåge batteriniveauerne har jeg indstillet spændingsdelere for at bringe spændingsniveauer under 5V (Arduinos maksimale område). Spændingsdeleren reducerer spændingen, der måles til inden for området for Arduino analoge indgange.

De analoge indgange A4 og A6 bruges, og der bruges høje modstande (100K ohm) for ikke at dræne batterierne for meget i måleprocessen. Vi er nødt til at gå på kompromis, hvis modstande er for lave (10K ohm), mindre belastningseffekt, spændingsaflæsning er mere præcis, men mere strømtegning; hvis de er for høje (1M ohm), mere indlæsningseffekt, er spændingsaflæsning mindre præcis, men mindre strømtegning.

Batteriovervågning foretages hvert 10. sekund og vises direkte i din controller -mobiltelefon.

Jeg er sikker på, at der er masser af plads til forbedringer i denne del, da jeg læser fra to analoge ben, og den interne MUX skifter mellem dem. Jeg måler ikke flere målinger i gennemsnit, og det er måske det, jeg skal gøre.

Lad mig forklare følgende formel:

// Læs spænding fra analog pin A4, og foretag kalibrering for Arduino:

spænding1 = (analogRead (A4)*5,0/1024,0)*2,0; //8.0V

Arduino nano-kortet indeholder 8-kanals, 10-bit analog til digital konverter. Funktion analogRead () returnerer et tal mellem 0 og 1023, der er proportional med den spænding, der påføres stiften. Dette giver en opløsning mellem aflæsninger på: 5 volt / 1024 enheder eller, 0,0049 volt (4,9 mV) pr. Enhed.

Spændingsdeleren halverer spændingen, og for at få ægte spænding skal ganget med 2 !!

VIGTIGT: Jeg er sikker på, at der er en mere effektiv måde at drive en arduino på end den måde, jeg gør det på !! Som nybegynder har jeg lært på den hårde måde. Arduino Vin pin bruger en lineær spændingsregulator, hvilket betyder, at du med et 9V batteri brænder en stor del af strømmen i selve den lineære regulator! Ikke godt. Jeg gjorde det på denne måde, fordi det var hurtigt og bare fordi jeg ikke vidste bedre … men vær sikker på, at jeg i Robo Frankie version 2.0 helt sikkert vil gøre det anderledes.

Jeg tænker (højt), at en DC DC Step up Switching Power Supply og et Li-ion genopladeligt batteri måske er en bedre måde. Dit venlige forslag vil være mere end velkommen …

Trin 6: HC-SR04 ultralydssensor

HC-SR04 ultralydssensor
HC-SR04 ultralydssensor

HC-SR04 er en ultralydssensor. Denne sensor giver måling fra 2 cm til 400 cm med en nøjagtighed på op til 3 mm. I dette projekt bruges det til at undgå forhindringer, når det når 20 cm eller mindre, og også til at måle afstanden til ethvert objekt, der sendes tilbage til din mobiltelefon.

Der er en knap på din mobiltelefons skærm, der skal klikkes på for at anmode om afstand til et objekt i nærheden.

Trin 7: Larson Scanner

Larson Scanner
Larson Scanner
Larson Scanner
Larson Scanner
Larson Scanner
Larson Scanner

Jeg ville medtage noget sjovt, så jeg inkluderede Larson -scanner, der ligner K. I. T. T. fra Knight Rider.

Til Larson -scanneren har jeg brugt ATtiny85 med charlieplexing. Charlieplexing er en teknik til at køre et multiplekset display, hvor relativt få I/O -ben på en mikrokontroller bruges til at drive en række LED'er. Metoden anvender mikrokontrollernes tri-state logiske muligheder for at opnå effektivitet i forhold til traditionel multiplexering.

I dette tilfælde bruger jeg 3 ben fra ATtiny85 til at tænde 6 lysdioder !!

Du kan tænde "X" LED'er med N -ben. Brug følgende formel til at udlede, hvor mange lysdioder du kan køre:

X = N (N-1) lysdioder med N-ben:

3 ben: 6 lysdioder;

4 ben: 12 lysdioder;

5 ben: 20 lysdioder … du får ideen;-)

Strøm strømmer fra positiv (anode) til negativ (katode). Spidsen af pilen er katode.

Det er vigtigt at bemærke, at pin 1 (i Arduino IDE -kode) refererer til fysisk pin 6 i ATtiny85 (se vedhæftede pinout).

Vedhæftet finder du den kode, der skal uploades til ATtiny85, der styrer Larson -scanneren. Jeg beskriver ikke, hvordan man uploader en kode til ATtiny85, da der er masser af instruktører, der gør det som denne.

Trin 8: Kode

Kode
Kode

Jeg vedhæfter koden, der skal uploades til ATtiny85, der styrer Larson -scanneren og koden til Arduino nano's.

Hvad angår Arduino nano, har jeg brugt en del af koder fra andre instruktører (her) og foretaget ændringer, der passer til mine behov. Jeg har inkluderet et rutediagram (også i ord for et klarere billede) af koden for bedre at forstå, hvordan switch -case fungerer.

Vigtigt: For at uploade CarBluetooth-kode til Arduino nano skal du afbryde Rx og Tx fra HC-05 Bluetooth-modulet!

Trin 9: Kamera

Kamera
Kamera
Kamera
Kamera

IP -webcam -appen skal downloades fra play -butikken og installeres i din gamle mobiltelefon. Kontroller videopræferencer, juster opløsningen i overensstemmelse hermed, og gå endelig ned til den sidste kommando "Start server" for at starte transmissionen. Glem ikke at slå Wi-Fi til i mobiltelefonen !!

Trin 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 er et skybaseret værktøj, der hjælper med at bygge apps i din webbrowser. Denne app (kun til Android -baseret mobil) kan derefter uploades til din celle og styre din robotbil.

Jeg vedhæfter.apk og.aia kode, så du kan se, hvad jeg har gjort, og kan ændre det, som du ønsker. Jeg har brugt en kode fra internettet (MIT App) og foretaget mine egne ændringer. Denne kode styrer robotbilens bevægelse, modtager signal fra ultralydssensor, tænder lys og bipper summeren. Det modtager også signal fra batterierne, der fortæller os spændingsniveauet.

Med denne kode vil vi kunne modtage to forskellige signaler fra bilen: 1) afstand til et objekt i nærheden og 2) spænding fra motor og arduinos batterier.

For at identificere den modtagne seriestreng har jeg inkluderet et flag i Arduinos kode, der angiver, hvilken type streng der er blevet sendt. Hvis Arduino sender afstanden målt fra ultralydssensoren, sender den et "A" -tegn foran strengen. Når Arduino sender batteriniveauer, sender det et flag med en "B" -tegn. I MIT App opfindere2 -kode har jeg analyseret den serielle streng, der kommer fra Arduino og kontrolleret for disse flag. Som sagt er jeg en nybegynder, og jeg er sikker på, at der er mere effektive måder at gøre dette på, og jeg håber, at nogen kan oplyse mig på en bedre måde.

Send Arduino_Bluetooth_Car.apk til din mobiltelefon (via e -mail eller Google Drev) og installer den.

Trin 11: Tilslut din mobiltelefon til din RC -bil

Tilslut din mobiltelefon til din RC bil
Tilslut din mobiltelefon til din RC bil
Tilslut din mobiltelefon til din RC bil
Tilslut din mobiltelefon til din RC bil

Først og fremmest skal du tænde for wi-fi i gammel mobiltelefon (den i RC-robot).

Tænd din wi-fi, Bluetooth i din controller-mobiltelefon, og åbn Arduino_Bluetooth_Car.apk, som du lige har installeret. I slutningen af skærmen (rul ned, hvis du ikke kan se det) vil du se to knapper: Enheder og TILSLUT. Klik på Enheder, og vælg Bluetooth fra din RC -bil (skulle være noget HC 05), klik derefter på TILSLUT, og du skulle se meddelelsen TILSLUTT nederst til venstre på skærmen. Første gang bliver du bedt om en adgangskode (indtast 0000 eller 1234).

Der er en boks, hvor du skal indtaste IP -adressen på din gamle celle (mobiltelefon, der er i din RC -bil), i mit tilfælde er det

Dette IP-nummer kan registreres i din Wi-Fi Router. Du skal komme ind på din routerkonfiguration, vælge Enhedsliste (eller sådan noget afhængigt af dit routermærke), og du skal kunne se din gamle mobilenhed, klikke på den og indtaste dette IP -nummer i denne boks.

Vælg derefter CAMERA, og du skal begynde at se kameraets streaming fra din RC -bil.

Trin 12: Du er færdig

Du er færdig!
Du er færdig!

Du er færdig! Begynd at lege med det

Fremtidige ændringer: Jeg vil ændre 9V batteriet med Li-ion batterier for at genoplade dem og bruge en DC-DC trin-up spændingsregulator, også vil jeg forbedre batteriovervågningen ved at inkludere udjævning (gennemsnit) af de analoge aflæsninger. Planlægger ikke at inkludere A. I. endnu …;-)

Jeg har deltaget i min første instruktive konkurrence … så stem venligst;-)

Anbefalede: