Innehållsförteckning:
- Steg 1: Saker som ska göras
- Steg 2: Förstå begrepp
- Steg 3: Verktyg behövs
- Steg 4: Koder för kodning AVR
- Steg 5: Hårdvaruanslutningar:
- Steg 6: Kod
- Steg 7: Video
Video: Utrasonic undvikande robot med Arduino: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
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
För detta projekt behöver du:
- Arduino UNO (köp den från gearbest.com)
- Mini -brödbräda (köp den från gearbest.com)
- L298 motorförarmodul (köp den från gearbest.com)
- 2x likströmsmotorer med hjul HC-SR04 ultraljudssensor (köp den från gearbest.com)
- Mikro servomotor (köp den från gearbest.com)
- Knapp Röd LED220 Ohm motstånd 9V batterihållare (med eller utan strömuttag)
- 8 distanser (man-hona),
- 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
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
- Multimeter
- Bakbord
- Nåltång
- Wire Stripper
- Avbitartång
- 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
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:
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:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
RC -spårad robot med Arduino - Steg för steg: 3 steg
RC -spårad robot med Arduino - Steg för steg: Hej killar, jag är tillbaka med ett annat häftigt robotchassi från BangGood. Hoppas att du har gått igenom våra tidigare projekt - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot med Robotic Arms och The Badland Braw
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
[Arduino Robot] Hur man gör en Motion Capture Robot - Tummen Robot - Servomotor - Källkod: 26 steg (med bilder)
[Arduino Robot] Hur man gör en Motion Capture Robot | Tummen Robot | Servomotor | Källkod: Thumbs Robot. Använd en potentiometer för MG90S servomotor. Det är väldigt roligt och enkelt! Koden är väldigt enkel. Det är bara runt 30 rader. Det ser ut som en rörelseinspelning. Lämna gärna frågor eller feedback! [Instruktion] Källkod https: //github.c
Lätt följd och undvikande av robot baserat på Arduino: 5 steg
Lättföljande och undvikande av robot baserat på Arduino: Detta är ett enkelt projekt som följer eller undvik ljus.Jag gjorde denna simulering i Proteus 8.6 pro.Komponenter som krävs: -1) Arduino uno.2) 3 LDR.3) 2 DC växelmotorer. 4) En servo.5) Tre 1k-resistorer.6) en H-Bridge l290D7) En på & Av -omkopplare [f