Indholdsfortegnelse:

Utrasonic undgåelsesrobot ved hjælp af Arduino: 7 trin
Utrasonic undgåelsesrobot ved hjælp af Arduino: 7 trin

Video: Utrasonic undgåelsesrobot ved hjælp af Arduino: 7 trin

Video: Utrasonic undgåelsesrobot ved hjælp af Arduino: 7 trin
Video: Lesson 26: Smart Car Part 4 : Avoiding Obstacle Using Ultrasonic Sensor | SunFounder Robojax 2024, November
Anonim
Image
Image
Utrasonic undgåelsesrobot ved hjælp af Arduino
Utrasonic undgåelsesrobot ved hjælp af Arduino

I denne vejledning vil jeg vise dig, hvordan du laver din egen forhindring for at undgå robot! Vi vil bruge Arduino UNO -kortet og en ultralydssensor. Hvis robotten registrerer en genstand foran den, ved hjælp af en lille servomotor, scanner den området til venstre og højre for at finde den bedste måde at dreje på. Det har også en meddelelses -LED, en summer til at afspille en tone, når et objekt registreres, og en knap til ændring af robotens funktion (stoppet/fremad).

Det er meget let at lave det!

Trin 1: Ting der skal laves

Ting der skal laves!
Ting der skal laves!
Ting der skal laves!
Ting der skal laves!
Ting der skal laves!
Ting der skal laves!
Ting der skal laves!
Ting der skal laves!

Til dette projekt skal du bruge:

  1. Arduino UNO (køb den fra gearbest.com)
  2. Mini brødbræt (køb det fra gearbest.com)
  3. L298 motor driver modul (køb det fra gearbest.com)
  4. 2x DC-motorer med hjul HC-SR04 ultralydssensor (køb den fra gearbest.com)
  5. Mikro servomotor (køb den fra gearbest.com)
  6. Knap Rød LED220 Ohm modstand 9V batteriholder (med eller uden strømstik)
  7. 8 afstandsstykker (han-hun),
  8. 8 møtrikker og 8 skruer skal du også bruge en stor (metal)

papirclips og en perle til at lave det bageste støttehjul.

Til robotbasen brugte jeg en Acryllic Chasis fra Aliexpress. Du kan også bruge et stykke træ eller metal (eller to elektriske plader).

Omkostningerne ved hele projektet er omkring 20 $

Værktøjer: Boremaskine superlim besætningsdriver varm pistollim (valgfri) Strøm:

Vi vil bruge et 9V batteri til at tænde vores robot, fordi den er lille og billig, men den er ikke særlig kraftig og vil være tom efter cirka en time. Overvej, om du vil bruge en genopladelig batteripakke (min. 6V, maks. 7V), der vil være mere kraftfuld, men det vil også være dyrere og større end 9V -batteriet. Abonner på vores YouTube -kanal Klik her

Trin 2: Forstå begreber

Forstå begreber
Forstå begreber
Forstå begreber
Forstå begreber
Forstå begreber
Forstå begreber

Målet er at gøre robotten opmærksom på forhindringer foran ham, så han kan ændre retning og undgå dem. I den forrige artikel fik vi robotten til at bevæge sig - nu vil vi give ham en vis autonomi.

Ultralydssensor

HC-SR04 er et kredsløb, der kan måle en afstand til objekter op til 4 meter ved hjælp af ultralydsbølger. Den sender en ping (som en ubåd) og måler tiden (i mikrosekunder) mellem afsendelse og modtagelse af noget tilbage. Denne tid divideres derefter med 2, når bølgen bevæger sig frem og tilbage. Og divider derefter med 29 for at få en afstand i centimeter (eller 74 for tommer), fordi lyden bevæger sig 29,4µs per centimeter (340 m/s). Sensoren er meget præcis med ~ 3 mm tolerance og let at integrere med Arduino.

Interfacing ultralydssensor med AVR mikrokontroller

Enhver autonom robot skal have en forhindring, der skal undgås, og en afstandsmålesensor skal være monteret. Et IR-transceiverpar eller en gråtonesensor kan let fungere til detektering af forhindringer i området 1 cm-10 cm. IR -afstandsmålere (f.eks. Dem fra skarpe) kan måle en afstand til den nærmeste forhindring med en rækkevidde på op til 100 cm. IR -sensorer påvirkes dog af sollys og andre lyskilder. IR -afstandsmålere har mindre rækkevidde og også dyre for det, den gør. Ultralydssensorer (også kendt som ultralydssensorer eller ekkolod for nørderne) udfører begge disse opgaver til en rimelig pris og enestående nøjagtighed. Rækkevidden er alt mellem 3 cm til 350 cm med ~ 3 mm nøjagtighed. Hvis en af disse ultralydssensorer bindes ind i vores robot, kan den både fungere som en forhindring og en afstandsmåler.

"Ultrasonic" lyd refererer til alt over frekvenserne for hørbar lyd og indeholder nominelt alt over 20.000 Hz eller 20 kHz! Billige ultralydssensorer, der bruges til robotik, fungerer generelt i en rækkevidde på 40 kHz til 250 kHz, mens de, der bruges i medicinsk udstyr, går op til 10Mhz.

Trin 3: Nødvendige værktøjer

Nødvendige værktøjer
Nødvendige værktøjer
Nødvendige værktøjer
Nødvendige værktøjer
Nødvendige værktøjer
Nødvendige værktøjer
Nødvendige værktøjer
Nødvendige værktøjer
  1. Multimeter
  2. Brødbræt
  3. Nålestang
  4. Wire Stripper
  5. Wire Cutter
  6. Limpistol

Multimeter Et multimeter er faktisk en simpel enhed, der primært bruges til at måle spænding og modstand og til at afgøre, om et kredsløb er lukket. I lighed med fejlretning af computerkode hjælper multimeteret dig med at "debugge" dine elektroniske kredsløb.

Byggematerialer

En let tilgængelig forsyning af tyndt træ og/eller plexiglas til fremstilling af den mekaniske ramme er meget nyttig. Metaller som aluminium og stål er ofte begrænset til dem, der har adgang til en maskinforretning, selvom tyndt aluminium kan skæres med saks og bøjes i hånden. Mekaniske stel kan endda bygges af husholdningsartikler, såsom plastbeholdere.

Selvom andre materialer såsom plast (bortset fra plexiglas) eller mere eksotiske materialer som glasfiber og kulfiber er mulige, vil de ikke blive overvejet i denne vejledning. Flere producenter har bemærket, at det ikke er let for de fleste hobbyfolk at producere deres egne mekaniske dele og har skabt modulære mekaniske dele. En leder i dette er Lynxmotion, der tilbyder en bred vifte af robotdesign samt de dele, der er nødvendige for at lave dine egne tilpassede robotter.

Håndværktøj

Skruetrækkere og tænger af forskellige typer og størrelser (herunder guldsmedens værktøjssæt: små skruetrækkere, der almindeligvis fås i dollarforretninger) er nødvendige. En boremaskine (helst en borepresse til lige huller) er også vigtig. En håndsav til skæring af byggematerialer (eller en router) er også et vigtigt aktiv. Hvis budgettet tillader det, er en lille båndsav (200 $ rækkevidde) bestemt et værktøj at overveje.

Loddefri brødbræt

Et loddefrit brødbræt giver dig mulighed for let at optimere dit layout og forbinde komponenter. Sammen med et loddefrit brødbræt, bør du købe et præformet jumper wire kit, der består af forudskårne og bøjede tråde, der er beregnet til at blive brugt med et loddefrit brødbræt. Dette gør forbindelser meget lette.

Lille skruetrækker sæt

Disse små skruetrækkere er nødvendige, når du arbejder med elektronik. Tving dem dog ikke for meget - deres størrelse gør dem mere skrøbelige.

Almindeligt skruetrækker sæt

Alle værksteder har brug for et multi-værktøj eller værktøjssæt, der omfatter flad / Phillips og andre skruetrækkerhoveder.

Nålestang

sæt nåletænger er utrolig nyttigt, når du arbejder med små komponenter og dele og er en meget billig tilføjelse til din værktøjskasse. Disse er forskellige fra almindelige tænger, fordi de kommer til et punkt, der kan komme ind i små områder.

Wire strippers/cutters

Du planlægger at klippe alle ledninger, en wire stripper sparer dig for betydelig tid og kræfter. En wire stripper, når den bruges korrekt, vil kun fjerne en kabelisolering og vil ikke producere knæk eller beskadige lederne. Det andet alternativ til en wire stripper er en saks, selvom slutresultatet kan være rodet. Saks, lineal, pen, tusch blyant, Exacto kniv (eller andet håndholdt skæreværktøj) Disse er essentielle i ethvert kontor.

Trin 4: Cocept til kodning AVR

Cocept til kodning AVR
Cocept til kodning AVR

Beregning af lydens hastighed i forhold til ultralydssensorer

Lidt matematik, men vær ikke bange. Det er enklere, end du tror.

Lydens hastighed i tør luft ved stuetemperatur (~ 20 ° C) = 343 meter/sekund

For lydbølgen at ramme og foretage en rundtur til det nærliggende objekt er = 343/2 = 171,5 m/da den maksimale rækkevidde for en billig ultralydssensor ikke er mere end 5 meter (rundtur), ville det være mere fornuftigt at ændre enhederne 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 (afrunding til to cifre for at gøre beregninger lettere)Derfor tager det tid for en puls at rejse til et objekt og hoppe 1 centimeter tilbage 58,31 mikrosekunder.

den lille baggrund på AVR -urcyklusser

Det kræver et helt andet kapitel at forstå AVR -urcyklusser, men vi vil kort forstå, hvordan det fungerer for at gøre vores beregninger lettere

I vores eksempel vil vi bruge AVR Draco-kort, der har en 8-bit AVR-Atmega328P mikrokontroller. For at holde tingene enkle vil vi ikke justere indstillingerne for en mikrokontroller. Ingen sikringsbits rørt; Ingen ekstern krystal vedhæftet; Ingen hovedpine. I fabriksindstillingerne kører den på en intern 8MHz oscillator med en /8 forudkalker; Hvis du ikke forstår alt dette, betyder det simpelthen, at mikrokontrolleren kører ved 1MHz intern RC -oscillator, og hver urcyklus tager 1 mikrosekund.

1 2 1MHz = af 1000000 cyklusser i sekundet Derfor er 1s/1000000 = 1/1000000 = 1us

AVR ure og afstandskonvertering

Vi er næsten der! Når vi ved, hvordan vi konverterer AVR -urcyklusser til afstand tilbagelagt af lydbølger, er det let at implementere logikken i et program.

Vi ved, at hastigheden af ultralydslyd i ideelle omgivelser er: 58,31 us/cm

Vi ved, at AVR -mikrocontrollers opløsning er 1us/clock cycle (CLK)

Derfor tilbagelagt afstand med lyd pr. Urcyklus (CLK):

1 2 3 = (58,31 us/ cm) x (1us/ clk) = 58,31 urcyklusser/ cm eller = 1/ 58,31 cm/ clk

Hvis antallet af urcyklusser, det tager for lyd at rejse og hoppe tilbage, er kendt, kan vi let beregne afstanden. For eksempel, hvis sensoren tager 1000 urcyklusser for at rejse og hoppe tilbage, så er afstanden fra en sensor til nærmeste objekt = 1000/58,31 = 17,15 cm (ca.)

Giver alt mening nu? Ingen? Læs den igen

Hvis du er klar med al den logik, der er nævnt ovenfor, implementerer vi det i et virkeligt scenario ved at tilslutte en billig HC-SR04 ultralydssensor til vores AVR Arduino-kort.

Trin 5: Hardwareforbindelser:

Hardwareforbindelser
Hardwareforbindelser
Hardwareforbindelser
Hardwareforbindelser
Hardwareforbindelser
Hardwareforbindelser
Hardwareforbindelser
Hardwareforbindelser

Arduino Board gør det let at tilslutte eventuelle eksterne sensorer og også se resultaterne på LCD. Til ultralydsregistrering bruger vi et billigt HC-SR04-modul. Modulet har 4 ben, der kan tilsluttes mikrokontrolkort: VCC, TRIG, ECHO og GND.

Tilslut VCC pin til 5V og GND pin til jord på Arduino boardet.

TRIG pin og ECHO pin kan tilsluttes alle tilgængelige pins på kortet. At sende mindst 10us 'højt' signal til trigger -pin sender otte 40 kHz lydbølger og trækker ekko -pin højt. Hvis lyden springer ud af et objekt i nærheden og vender tilbage, bliver den fanget ved at modtage transduceren, og ekkostift trækkes 'lavt'.

Andre varianter af ultralydssensormoduler fås også med kun 3 ben. Arbejdsprincippet er stadig det samme, men funktionaliteten af trigger- og ekkostifter kombineres til en enkelt pin.

Når den er tilsluttet, kan Trigger og Echo Pins konfigureres via software. For at holde dette eksempel enkelt vil vi ikke bruge nogen afbrydelsesnåle (eller Input Capture Pin) i dette eksempel. Hvis vi ikke anvender bestemte afbrydelsesnåle, får vi også en frihed til at forbinde modulet til alle tilgængelige stifter på tavlen.

Trin 6: Kode

Koden Nedenstående kode indeholder kun en "ultralyd" -udvidelse til DC-motorstyring ved hjælp af en H-bro fra den forrige artikel. Når robotten opdager en forhindring foran den, vender han sig om (tilfældig grad) og fortsætter fremad. Denne funktionalitet kan let udvides for at blive ved med at dreje og opdage forhindringer på samme tid - så robotten ikke ville dreje tilfældigt, men kun begynde at bevæge sig fremad, når der ikke opdages noget objekt.

For kodeforklaring Se Youtube -video, der er angivet på kanalen.

Trin 7: Video

Se videoen for hele processen.

Anbefalede: