Innholdsfortegnelse:
- Trinn 1: Ting du trenger å lage
- Trinn 2: Forstå konsepter
- Trinn 3: Nødvendige verktøy
- Trinn 4: Koder for koding AVR
- Trinn 5: Maskinvaretilkoblinger:
- Trinn 6: Kode
- Trinn 7: Video
Video: Utrasonic unngåelsesrobot ved bruk av Arduino: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
I denne opplæringen vil jeg vise deg hvordan du lager din egen hindring for å unngå robot! Vi vil bruke Arduino UNO -kortet og en ultralydssensor. Hvis roboten oppdager et objekt foran den, ved hjelp av en liten servomotor, skanner den området til venstre og høyre for å finne den beste måten å svinge på. Den har også en varslings -LED, en summer for å spille en tone når et objekt blir oppdaget og en knapp for å endre robotens funksjon (stoppet/gå fremover).
Det er veldig enkelt å lage det!
Trinn 1: Ting du trenger å lage
For dette prosjektet trenger du:
- Arduino UNO (kjøp den fra gearbest.com)
- Mini brødbrett (kjøp det fra gearbest.com)
- L298 motordrivermodul (kjøp den fra gearbest.com)
- 2x likestrømsmotorer med hjul HC-SR04 ultralydssensor (kjøp den fra gearbest.com)
- Mikro servomotor (kjøp den fra gearbest.com)
- Knapp Rød LED220 Ohm motstand 9V batteriholder (med eller uten strømkontakt)
- 8 avstandsstykker (hann-hunn),
- 8 muttere og 8 skruer trenger du også en stor (metall)
binders og en perle for å lage det bakre støttehjulet.
For robotbasen brukte jeg en Acryllic Chasis fra Aliexpress. Du kan også bruke et stykke tre eller metall (eller to elektriske plater).
Kostnaden for hele prosjektet er omtrent 20 dollar
Verktøy: Drill maskin super lim mannskap driver pistol lim (valgfritt) Strøm:
Vi bruker et 9V batteri for å slå på roboten vår fordi den er liten og billig, men den er ikke veldig kraftig og vil være tom etter omtrent en time. Tenk på om du vil bruke en oppladbar batteripakke (min 6V, maks 7V) som vil være kraftigere, men den vil også være dyrere og større enn 9V -batteriet. Abonner på vår YouTube -kanal Klikk her
Trinn 2: Forstå konsepter
Målet er å gjøre roboten oppmerksom på hindringer foran ham, slik at han kan endre retning og unngå dem. I den forrige artikkelen fikk vi roboten til å flytte - nå skal vi gi ham litt autonomi.
Ultralyd sensor
HC-SR04 er en krets som kan måle en avstand til objekter opptil 4 meter ved hjelp av ultralydbølger. Den sender en ping (som en ubåt) og måler tiden (i mikrosekunder) mellom å sende og motta noe tilbake. Denne tiden deles deretter med 2 når bølgen beveger seg frem og tilbake. Og del deretter med 29 for å få en avstand i centimeter (eller 74 for tommer), fordi lyden beveger seg 29,4µs per centimeter (340 m/s). Sensoren er veldig nøyaktig med ~ 3 mm toleranse og enkel å integrere med Arduino.
Grensesnitt for ultralydsensor med AVR -mikrokontroller
Enhver autonom robot bør ha en hindring som skal unngås, og en avstandsmålesensor må være festet. Et IR-mottakerpar eller en gråtonesensor kan enkelt fungere for å oppdage hindringer i området 1 cm-10 cm. IR -avstandsmålere (for eksempel de fra skarpe) kan måle en avstand til nærmeste hindring med en rekkevidde på opptil 100 cm. IR -sensorer påvirkes imidlertid av sollys og andre lyskilder. IR -avstandsmålere har mindre rekkevidde og er også dyre for det den gjør. Ultralydsensorer (også kjent som ultralydsavstandssensorer eller ekkolodd for nerdene) utfører begge disse oppgavene til en rimelig pris og eksepsjonell nøyaktighet. Rekkevidden er alt mellom 3 cm og 350 cm med ~ 3 mm nøyaktighet. Hvis du knytter en av disse ultralydsensorene inn i roboten vår, kan den fungere både som en hindring og en avstandsmåler.
"Ultrasonic" lyd refererer til alt som er over frekvensene for hørbar lyd, og inkluderer nominelt alt over 20 000 Hz eller 20 kHz! Billige ultralydsensorer som brukes til robotikk, fungerer vanligvis i et område på 40 kHz til 250 kHz mens de som brukes i medisinsk utstyr, går opp til 10 Mhz.
Trinn 3: Nødvendige verktøy
- Multimeter
- Brødbrett
- Nåltang
- Wire Stripper
- Wire Cutter
- Limpistol
Multimeter Et multimeter er faktisk en enkel enhet som hovedsakelig brukes til å måle spenning og motstand og for å avgjøre om en krets er lukket. I likhet med feilsøking av datakode hjelper multimeteret deg med å "feilsøke" dine elektroniske kretser.
Byggematerialer
En lett tilgjengelig forsyning av tynt tre og/eller plexiglas for å lage den mekaniske rammen er veldig nyttig. Metaller som aluminium og stål er ofte begrenset til de som har tilgang til en maskinbutikk, selv om tynt aluminium kan klippes med saks og bøjes for hånd. Mekaniske rammer kan til og med bygges av husholdningsartikler som plastbeholdere.
Selv om andre materialer som plast (bortsett fra plexiglas) eller mer eksotiske materialer som glassfiber og karbonfiber er mulige, vil de ikke bli vurdert i denne veiledningen. Flere produsenter har bemerket at det ikke er lett for de fleste hobbyfolk å produsere sine egne mekaniske deler og har laget modulære mekaniske deler. En leder i dette er Lynxmotion som tilbyr et bredt spekter av robotdesigner samt delene som trengs for å lage dine egne tilpassede roboter.
Hånd verktøy
Skrutrekkere og tang av forskjellige typer og størrelser (inkludert juvelerens verktøysett: små skrutrekkere som vanligvis er tilgjengelige i dollarbutikker) er nødvendige. Et bor (helst en borpress for rette hull) er også viktig. En håndsag for kutting av bygningsmaterialer (eller en ruter) er også en viktig ressurs. Hvis budsjettet tillater det, er en liten båndsag (200 dollar) definitivt et verktøy å vurdere.
Loddefritt brødbrett
Et loddefritt brødbrett lar deg enkelt optimalisere oppsettet og koble til komponenter. Sammen med et loddfritt brødbrett bør du kjøpe et forhåndsformet jumper wire kit som består av ferdigskårne og bøyde ledninger beregnet på å brukes sammen med et loddfritt brødbrett. Dette gjør tilkoblinger veldig enkle.
Liten skrutrekker sett
Disse små skrutrekkerne er nødvendige når du arbeider med elektronikk. Ikke tving dem for mye - størrelsen gjør dem mer skjøre.
Vanlig skrutrekkersett
Alle verksteder trenger et multiverktøy eller verktøysett som inkluderer flat / Phillips og andre skrutrekkerhoder.
Nåltang
sett med nåletang er utrolig nyttig når du arbeider med små komponenter og deler og er et veldig billig tillegg til verktøykassen. Disse er forskjellige fra vanlig tang fordi de kommer til et punkt som kan komme inn i små områder.
Wire strippere/kuttere
Du planlegger å kutte ledninger, en wire stripper vil spare deg for mye tid og krefter. En wire stripper, når den brukes riktig, vil bare fjerne en kabelisolasjon og vil ikke forårsake knekk eller skade lederne. Det andre alternativet til en wire stripper er en saks, selv om sluttresultatet kan være rotete. Saks, linjal, penn, markørblyant, Exacto -kniv (eller annet håndholdt skjæreverktøy) Disse er viktige ting på ethvert kontor.
Trinn 4: Koder for koding AVR
Beregning av lydens hastighet i forhold til ultralydsensorer
Litt matematikk, men ikke vær redd. Det er enklere enn du tror.
Lydhastigheten i tørr luft ved romtemperatur (~ 20 ° C) = 343 meter/sekund
For at lydbølgen skal treffe og gjøre en rundtur til objektet i nærheten er = 343/2 = 171,5 m/siden maksimal rekkevidde for en billig ultralydssensor ikke er mer enn 5 meter (tur/retur), ville det være mer fornuftig å endre enhetene til centimeter og mikrosekunder.
1 Meter = 100 centimeter 1 sekund = 10^6 mikrosekunder = (s/171,5) x (m/100 cm) x ((1x10^6)/s) = (1/171,5) x (1/100) x (1000000/ 1) = 58,30903790087464 us/cm = 58,31 us/cm (avrunding til to sifre for å gjøre beregninger enklere)Derfor er tiden det tar for en puls å reise til et objekt og sprette tilbake 1 centimeter 58,31 mikrosekunder.
den lille bakgrunnen for AVR -klokkesykluser
Det tar et helt annet kapittel for å forstå AVR -klokkesykluser, men vi vil kort forstå hvordan det fungerer for å gjøre våre beregninger enklere
I vårt eksempel vil vi bruke AVR Draco-kort som har en 8-bits AVR-Atmega328P mikrokontroller. For å holde ting enkelt, vil vi ikke justere innstillingene til en mikrokontroller. Ingen sikringsbiter berørt; Ingen ekstern krystall festet; Ingen hodepine. Ved fabrikkinnstillinger kjører den på en intern 8MHz oscillator med en /8 forhåndskalkulator; Hvis du ikke forstår alt dette, betyr det ganske enkelt at mikrokontrolleren kjører på 1MHz intern RC -oscillator, og hver klokkesyklus tar 1 mikrosekund.
1 2 1MHz = av 1000000 sykluser per sekund Derfor er 1s/1000000 = 1/1000000 = 1us
AVR -klokker og avstandskonvertering
Vi er nesten der! Når vi vet hvordan vi konverterer AVR -klokkesykluser til avstand tilbakelagt av lydbølger, er det enkelt å implementere logikken i et program.
Vi vet at hastigheten på ultralydlyden i ideelle omgivelser er: 58,31 us/cm
Vi vet at oppløsningen til AVR -mikrokontroller er 1us/clock cycle (CLK)
Derfor er avstand tilbakelagt med lyd per klokkesyklus (CLK):
1 2 3 = (58,31 us/ cm) x (1us/ clk) = 58,31 klokkesykluser/ cm eller = 1/ 58,31 cm/ clk
Hvis antallet klokkesykluser som kreves for at lyden skal bevege seg og sprette tilbake er kjent, kan vi enkelt beregne avstanden. For eksempel, hvis sensoren tar 1000 klokkesykluser for å reise og sprette tilbake, er avstanden fra en sensor til nærmeste objekt = 1000/58,31 = 17,15 cm (ca.)
Er alt fornuftig nå? Nei? Les den igjen
Hvis du er klar med all logikken som er nevnt ovenfor, implementerer vi den i et virkelige scenario ved å koble en billig HC-SR04 ultralydssensor til vårt AVR Arduino-kort.
Trinn 5: Maskinvaretilkoblinger:
Arduino Board gjør det enkelt å koble til eksterne sensorer og også se resultatene på LCD. For ultralydsavlesning bruker vi en billig HC-SR04-modul. Modulen har 4 pinner som kan kobles til mikrokontrollerkortet: VCC, TRIG, ECHO og GND.
Koble VCC -pinnen til 5V og GND -pinnen til bakken på Arduino -kortet.
TRIG -pinne og ECHO -pinne kan kobles til alle tilgjengelige pinner på brettet. Hvis du sender minst 10us 'høyt' signal til triggerpinnen, sender du åtte 40 kHz lydbølger og trekker ekkopinnen høyt. Hvis lyden spretter av et objekt i nærheten og kommer tilbake, blir den fanget opp ved å motta transduseren og ekkopinnen trekkes 'lavt'.
Andre varianter av ultralydsensormoduler er også tilgjengelig med bare 3 pinner. Arbeidsprinsippet er fortsatt det samme, men funksjonaliteten til trigger- og ekkopinner kombineres til en enkelt pinne.
Når den er tilkoblet, kan Trigger og Echo Pins konfigureres via programvare. For å holde dette eksemplet enkelt, vil vi ikke bruke noen avbruddsnål (eller Input Capture Pin) i dette eksemplet. Hvis vi ikke bruker angitte avbryterpinner, får vi også en frihet til å koble modulen til alle tilgjengelige pinner på brettet.
Trinn 6: Kode
Koden Koden nedenfor inneholder bare en "ultralyd" forlengelse til likestrømsmotorstyring ved hjelp av en H-bro fra forrige artikkel. Når roboten oppdager en hindring foran den, snur han seg rundt (tilfeldig grad) og fortsetter å bevege seg fremover. Denne funksjonaliteten kan lett utvides for å fortsette å snu og oppdage hindringer samtidig - slik at roboten ikke ville snu tilfeldig, men bare begynne å bevege seg fremover når ingen gjenstander oppdages.
For kodeforklaring, se Youtube -video oppført på kanalen.
Trinn 7: Video
Se videoen for hele prosessen.
Anbefalt:
DIY Vanity Mirror i enkle trinn (ved bruk av LED -stripelys): 4 trinn
DIY Vanity Mirror i enkle trinn (ved hjelp av LED Strip Lights): I dette innlegget laget jeg et DIY Vanity Mirror ved hjelp av LED strips. Det er veldig kult, og du må prøve dem også
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: 4 trinn
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: Hei, jeg er Rithik. Vi kommer til å lage en Internett -kontrollert LED ved hjelp av telefonen din. Vi kommer til å bruke programvare som Arduino IDE og Blynk. Det er enkelt, og hvis du lyktes kan du kontrollere så mange elektroniske komponenter du vilTing We Need: Hardware:
Overvåke akselerasjon ved bruk av Raspberry Pi og AIS328DQTR ved hjelp av Python: 6 trinn
Overvåke akselerasjon ved hjelp av Raspberry Pi og AIS328DQTR Bruke Python: Akselerasjon er begrenset, tror jeg i henhold til noen fysikklover.- Terry Riley En gepard bruker fantastisk akselerasjon og raske endringer i hastighet når jeg jager. Den raskeste skapningen i land en gang i blant bruker sitt høyeste tempo for å fange byttedyr. Den
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: 4 trinn
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: I denne opplæringen til STM32 skal jeg fortelle deg hvordan du leser en GPIO-pin av STM32L100, så her skal jeg lage en ombord LED-glød av bare trykke på trykknappen
Brannalarmsystem ved bruk av Arduino [i få enkle trinn]: 3 trinn
Brannalarmsystem ved bruk av Arduino [i få enkle trinn]: Er du ute etter å lage et enkelt og interessant prosjekt med Arduino som samtidig kan være veldig nyttig og potensielt livreddende? Hvis ja, har du kommet til rett sted for å lære noe nytt og nyskapende. I dette innlegget går vi