Innehållsförteckning:

Utrasonic undvikande robot med Arduino: 7 steg
Utrasonic undvikande robot med Arduino: 7 steg

Video: Utrasonic undvikande robot med Arduino: 7 steg

Video: Utrasonic undvikande robot med Arduino: 7 steg
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, November
Anonim
Image
Image
Utrasonic undvikande robot med Arduino
Utrasonic undvikande robot med Arduino

I denna handledning kommer jag att visa dig hur du gör ditt eget hinder för att undvika robot! Vi kommer att använda Arduino UNO -kortet och en ultraljudssensor. Om roboten upptäcker ett objekt framför den, med hjälp av en liten servomotor, skannar den området åt vänster och höger för att hitta det bästa sättet att svänga. Den har också en meddelande -LED, en summer för att spela upp en ton när ett objekt detekteras och en knapp för att ändra robotens funktion (stoppad/framåt).

Det är väldigt lätt att göra!

Steg 1: Saker som ska göras

Saker som ska göras!
Saker som ska göras!
Saker som ska göras!
Saker som ska göras!
Saker som ska göras!
Saker som ska göras!
Saker som ska göras!
Saker som ska göras!

För detta projekt behöver du:

  1. Arduino UNO (köp den från gearbest.com)
  2. Mini -brödbräda (köp den från gearbest.com)
  3. L298 motorförarmodul (köp den från gearbest.com)
  4. 2x likströmsmotorer med hjul HC-SR04 ultraljudssensor (köp den från gearbest.com)
  5. Mikro servomotor (köp den från gearbest.com)
  6. Knapp Röd LED220 Ohm motstånd 9V batterihållare (med eller utan strömuttag)
  7. 8 distanser (man-hona),
  8. 8 muttrar och 8 skruvar behöver du också en stor (metall)

gem och en pärla för att göra det bakre stödhjulet.

För robotbasen använde jag en Acryllic Chasis från Aliexpress. Du kan också använda en bit trä eller metall (eller två elektriska plattor).

Kostnaden för hela projektet är cirka 20 $

Verktyg: Borrmaskin superlim besättningsförare hett pistollim (tillval) Effekt:

Vi kommer att använda ett 9V batteri för att slå på vår robot eftersom den är liten och billig, men den är inte särskilt kraftfull och kommer att vara tom efter ungefär en timme. Fundera på om du vill använda ett uppladdningsbart batteri (min 6V, max 7V) som kommer att bli mer kraftfullt men det blir också dyrare och större än 9V -batteriet. Prenumerera på vår YouTube -kanal Klicka här

Steg 2: Förstå begrepp

Förstå begrepp
Förstå begrepp
Förstå begrepp
Förstå begrepp
Förstå begrepp
Förstå begrepp

Målet är att göra roboten medveten om hinder framför honom, så att han kan ändra riktning och undvika dem. I den föregående artikeln gjorde vi robotrörelsen - nu ska vi ge honom lite autonomi.

Ultraljudssensor

HC-SR04 är en krets som kan mäta ett avstånd till objekt upp till 4 meter med hjälp av ultraljudsvågor. Den skickar en ping (som en ubåt) och mäter tiden (i mikrosekunder) mellan att skicka och ta emot något tillbaka. Denna tid divideras sedan med 2 när vågen färdas fram och tillbaka. Och dividera sedan med 29 för att få ett avstånd i centimeter (eller 74 för tum), eftersom ljudet rör sig 29,4 μs per centimeter (340 m/s). Sensorn är mycket exakt med ~ 3 mm tolerans och lätt att integrera med Arduino.

Gränssnitts ultraljudssensor med AVR -mikrokontroller

Varje autonom robot bör ha ett hinder som ska undvikas och en avståndsmätningssensor monterad. Ett IR-mottagarpar eller en gråskalsensor kan enkelt fungera för att upptäcka hinder i intervallet 1 cm-10 cm. IR -avståndsmätare (till exempel de från skarpa) kan mäta ett avstånd till närmaste hinder med en räckvidd på upp till 100 cm. IR -sensorer påverkas dock av solljus och andra ljuskällor. IR -avståndsmätare har mindre räckvidd och är också dyra för vad den gör. Ultraljudssensorer (även kända som ultraljudsavståndssensorer eller ekolod för nördarna) utför båda dessa uppgifter till en rimlig kostnad och exceptionell noggrannhet. Räckvidden är allt mellan 3 cm och 350 cm med ~ 3 mm noggrannhet. Genom att knyta en av dessa ultraljudssensorer till vår robot kan den fungera både som ett hinderundvikande och som en avståndsmätningssensor.

"Ultrasonic" -ljud avser allt över frekvenserna för hörbart ljud och innehåller nominellt allt över 20 000 Hz eller 20 kHz! Billiga ultraljudssensorer som används för robotik fungerar i allmänhet i intervallet 40 kHz till 250 kHz medan de som används i medicinsk utrustning går upp till 10 Mhz.

Steg 3: Verktyg behövs

Verktyg som behövs
Verktyg som behövs
Verktyg som behövs
Verktyg som behövs
Verktyg som behövs
Verktyg som behövs
Verktyg som behövs
Verktyg som behövs
  1. Multimeter
  2. Bakbord
  3. Nåltång
  4. Wire Stripper
  5. Avbitartång
  6. Limpistol

Multimeter En multimeter är faktiskt en enkel enhet som främst används för att mäta spänning och motstånd och för att avgöra om en krets är stängd. I likhet med felsökning av datorkod hjälper Multimeter dig att "felsöka" dina elektroniska kretsar.

Byggmaterial

En lättillgänglig leverans av tunt trä och/eller plexiglas för att göra den mekaniska ramen är mycket användbar. Metaller som aluminium och stål är ofta begränsade till dem som har tillgång till en verkstad även om tunn aluminium kan klippas med en sax och böjas för hand. Mekaniska ramar kan till och med byggas av hushållsartiklar som plastbehållare.

Även om andra material som plast (förutom plexiglas), eller mer exotiska material som glasfiber och kolfiber är möjliga, kommer de inte att beaktas i den här guiden. Flera tillverkare har noterat att det inte är lätt för de flesta hobbyister att producera sina egna mekaniska delar och har skapat modulära mekaniska delar. En ledare inom detta är Lynxmotion som erbjuder ett brett utbud av robotdesigner samt de delar som behövs för att göra dina egna anpassade robotar.

Handverktyg

Skruvmejslar och tänger av olika typer och storlekar (inklusive juvelerares verktygssats: små skruvmejslar som vanligtvis finns i dollarbutiker) är nödvändiga. En borr (helst en borrpress för raka hål) är också viktigt. En handsåg för skärning av byggmaterial (eller en router) är också en viktig tillgång. Om budgeten tillåter, är en liten bordssåg (200 dollar) definitivt ett verktyg att överväga.

Lödfritt brödbräda

En lödlös brödbräda gör att du enkelt kan optimera din layout och ansluta komponenter. Tillsammans med en lödlös brödbräda bör du köpa ett förformat jumper wire kit som består av förklippta och böjda trådar avsedda att användas med en lödlös brödbräda. Detta gör anslutningar väldigt enkla.

Liten skruvmejselsats

Dessa små skruvmejslar är nödvändiga när du arbetar med elektronik. Tvinga dem dock inte för mycket - deras storlek gör dem mer ömtåliga.

Vanlig skruvmejselsats

Alla verkstäder behöver ett multiverktyg eller verktygssats som innehåller platta / Phillips och andra skruvmejselhuvuden.

Nåltång

en nåltång är otroligt användbar när du arbetar med små komponenter och delar och är ett mycket billigt tillägg till din verktygslåda. Dessa skiljer sig från vanlig tång eftersom de kommer till en punkt som kan komma in i små områden.

Wire strippers/cutters

Du planerar att klippa alla ledningar, en trådavlägsnare kommer att spara dig avsevärd tid och ansträngning. En trådavlägsnare, när den används på rätt sätt, kommer bara att ta bort en kabelisolering och kommer inte att ge några knäckar eller skada ledarna. Det andra alternativet till en trådavdragare är en sax, även om slutresultatet kan vara rörigt. Sax, linjal, penna, markörpenna, Exacto -kniv (eller annat handhållet skärverktyg) Dessa är väsentliga på alla kontor.

Steg 4: Koder för kodning AVR

Cocept för kodning AVR
Cocept för kodning AVR

Beräkning av ljudets hastighet i förhållande till ultraljudssensorer

Lite matte, men var inte rädd. Det är enklare än du tror.

Ljudets hastighet i torr luft vid rumstemperatur (~ 20 ° C) = 343 meter/sekund

För att ljudvågan ska slå och göra en rundresa till det närliggande föremålet är = 343/2 = 171,5 m/eftersom maximal räckvidd för en billig ultraljudssensor inte är mer än 5 meter (tur och retur), skulle det vara mer meningsfullt att ändra enheterna till centimeter och mikrosekunder.

1 mätare = 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 (avrundning till två siffror för att göra beräkningarna enklare)Därför är tiden som det tar för en puls att resa till ett objekt och studsa tillbaka 1 centimeter 58,31 mikrosekunder.

den lilla bakgrunden på AVR -klockcykler

Det krävs ett helt annat kapitel för att förstå AVR -klockcykler, men vi kommer kort att förstå hur det fungerar för att göra våra beräkningar enklare

I vårt exempel kommer vi att använda AVR Draco-kort som har en 8-bitars AVR-Atmega328P mikrokontroller. För att hålla saker enkla kommer vi inte att justera inställningarna för en mikrokontroller. Inga säkringsbitar rörda; Ingen extern kristall fäst; Ingen huvudvärk. Vid fabriksinställningar körs den på en intern 8MHz oscillator med en /8 förkalkylator; Om du inte förstår allt detta betyder det helt enkelt att mikrokontrollern körs på 1MHz intern RC -oscillator och varje klockcykel tar 1 mikrosekund.

1 2 1MHz = av 1000000 cykler per sekund Därför är 1s/1000000 = 1/1000000 = 1us

AVR -klockor och avståndskonvertering

Vi är nästan där! När vi vet hur vi konverterar AVR -klockcykler till avstånd som färdas av ljudvågor är det enkelt att implementera logiken i ett program.

Vi vet att ultraljudsljudets hastighet vid idealisk miljö är: 58,31 us/cm

Vi vet att upplösningen för AVR -mikrokontroller är 1us/klockcykel (CLK)

Därför är sträckans längd per ljud per klockcykel (CLK):

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

Om antalet klockcykler som krävs för att ljudet ska resa och studsa tillbaka är känt kan vi enkelt beräkna avståndet. Till exempel, om sensorn tar 1000 klockcykler för att resa och studsa tillbaka, är avståndet från en sensor till närmaste objekt = 1000/58,31 = 17,15 cm (ca.)

Är allt vettigt nu? Nej? Läs den igen

Om du är tydlig med all logik som nämns ovan kommer vi att implementera den i ett verkligt scenario genom att ansluta en billig HC-SR04 ultraljudssensor till vårt AVR Arduino-kort.

Steg 5: Hårdvaruanslutningar:

Hårdvaruanslutningar
Hårdvaruanslutningar
Hårdvaruanslutningar
Hårdvaruanslutningar
Hårdvaruanslutningar
Hårdvaruanslutningar
Hårdvaruanslutningar
Hårdvaruanslutningar

Arduino Board gör det enkelt att ansluta alla externa sensorer och även se resultaten på LCD. För ultraljudsavkänning använder vi en billig HC-SR04-modul. Modulen har 4 stift som kan anslutas till mikrokontrollerkortet: VCC, TRIG, ECHO och GND.

Anslut VCC -stift till 5V och GND -stift till jord på Arduino -kortet.

TRIG -stift och ECHO -stift kan anslutas till alla tillgängliga stift på kortet. Att skicka minst 10us 'hög' signal till triggerpinnen skickar åtta 40 kHz ljudvågor och drar ekopinnet högt. Om ljudet studsar av ett föremål i närheten och återvänder, fångas det upp genom att ta emot givare och ekostift dras "lågt".

Andra varianter av ultraljudsgivarmoduler finns också med bara 3 stift. Arbetsprincipen är fortfarande densamma, men funktionen för trigger- och ekostift kombineras till en enda stift.

När de är anslutna kan Trigger och Echo Pins konfigureras via programvara. För att hålla detta exempel enkelt kommer vi inte att använda några avbrottsnålar (eller Input Capture Pin) i detta exempel. Att inte använda avsedda avbrottsstift ger oss också en frihet att ansluta modulen till alla tillgängliga stift på kortet.

Steg 6: Kod

Kod Koden nedan innehåller endast en "ultraljud" tillägg till DC-motorstyrning med hjälp av en H-bro från föregående artikel. När roboten upptäcker ett hinder framför den vänder han sig om (slumpmässig grad) och fortsätter framåt. Denna funktionalitet kan enkelt utökas för att fortsätta svänga och upptäcka hinder samtidigt - så att roboten inte skulle vända slumpmässigt utan bara börja gå framåt när inget objekt detekteras.

För kodförklaring Se Youtube -video på kanalen.

Steg 7: Video

Se videon för hela processen.

Rekommenderad: