INHOUDSOPGAWE:
- Stap 1: Dinge wat u moet maak
- Stap 2: Begripsbegrip
- Stap 3: Gereedskap benodig
- Stap 4: Begrippe vir die kodering van AVR
- Stap 5: Hardewareverbindings:
- Stap 6: Kode
- Stap 7: Video
Video: Utrasonic vermydingsrobot met behulp van Arduino: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
In hierdie handleiding sal ek u wys hoe u u eie hindernis kan maak om robot te vermy! Ons gebruik die Arduino UNO -bord en 'n ultrasoniese sensor. As die robot 'n voorwerp voor hom opspoor, met behulp van 'n klein servomotor, skandeer hy die gebied links en regs om die beste manier te vind. Dit het ook 'n kennisgewing -LED, 'n zoemer om 'n toon te speel wanneer 'n voorwerp opgespoor word en 'n knoppie om die funksie van die robot te verander (gestop/vorentoe beweeg).
Dit is baie maklik om dit te maak!
Stap 1: Dinge wat u moet maak
Vir hierdie projek benodig u:
- Arduino UNO (koop dit by gearbest.com)
- Mini broodbord (koop dit by gearbest.com)
- L298 motorbestuurder module (koop dit by gearbest.com)
- 2x DC-motors met wiele HC-SR04 ultrasoniese sensor (koop dit by gearbest.com)
- Mikro servomotor (koop dit by gearbest.com)
- Knoppie Rooi LED220 Ohm weerstand 9V batteryhouer (met of sonder kragaansluiting)
- 8 afstandhouers (manlik-vroulik),
- 8 moere en 8 skroewe, u benodig ook een groot (metaal)
skuifspeld en 'n kraal om die agterste ondersteuningswiel te maak.
Vir die robotbasis het ek 'n Acryllic Chasis van Aliexpress gebruik. U kan ook 'n stuk hout of metaal (of twee elektriese plate) gebruik.
Die koste van die hele projek beloop ongeveer $ 20
Gereedskap: boormasjien supergom bemanningsbestuurder warm geweerlym (opsioneel) Krag:
Ons sal 'n 9V -battery gebruik om ons robot aan te skakel, want dit is klein en goedkoop, maar dit is nie baie kragtig nie en sal na ongeveer 'n uur leeg wees. Oorweeg of u 'n herlaaibare battery wil gebruik (min 6V, maks 7V) wat sterker sal wees, maar dit sal ook duurder en groter wees as die 9V -battery. Teken in op ons YouTube -kanaal Klik hier
Stap 2: Begripsbegrip
Die doel is om die robot bewus te maak van hindernisse voor hom, sodat hy van rigting kan verander en dit kan vermy. In die vorige artikel het ons die robot laat beweeg - nou gee ons hom 'n mate van outonomie.
Ultrasoniese sensor
HC-SR04 is 'n stroombaan wat 'n afstand van voorwerpe tot 4 meter kan meet met behulp van ultrasoniese golwe. Dit stuur 'n ping (soos 'n duikboot) en meet die tyd (in mikrosekondes) tussen die stuur en ontvangs van iets terug. Hierdie tyd word dan gedeel deur 2 terwyl die golf heen en weer beweeg. En deel dan met 29 om 'n afstand in sentimeter (of 74 duim) te kry, want klank beweeg 29,4µs per sentimeter (340 m/s). Die sensor is baie akkuraat met ~ 3 mm verdraagsaamheid en maklik om met Arduino te integreer.
Interfacing Ultrasoniese sensor met AVR -mikrobeheerder
Elke outonome robot moet 'n hindernis vermy en 'n afstandmetingsensor moet wees. 'N IR-ontvanger-paar of 'n grysskaalsensor kan maklik werk vir die opsporing van hindernisse tussen 1 en 10 cm. IR afstandmeters (byvoorbeeld dié van skerp) kan 'n afstand meet tot die naaste hindernis met 'n reikafstand van tot 100 cm. IR -sensors word egter beïnvloed deur sonlig en ander ligbronne. IR -afstandmeters het minder bereik en is ook duur vir wat dit doen. Ultrasoniese sensors (ook bekend as ultrasoniese nabyheidssensors of sonar vir die geeks) doen albei hierdie take teen 'n redelike prys en buitengewone akkuraatheid. Die reikafstand is tussen 3 cm en 350 cm met 'n akkuraatheid van ongeveer 3 mm. As een van hierdie ultrasoniese sensors in ons robot vasgemaak word, kan dit beide 'n hindernisverwyderaar en 'n afstandmetingsensor wees.
'Ultrasoniese' klank verwys na enigiets bo die frekwensies van hoorbare klank, en bevat nominaal enigiets meer as 20, 000 Hz of 20kHz! Goedkoop ultrasoniese sensors wat vir robotika gebruik word, werk gewoonlik in 'n reeks van 40 kHz tot 250 kHz, terwyl die wat in mediese toerusting gebruik word, tot 10Mhz styg.
Stap 3: Gereedskap benodig
- Multimeter
- Broodbord
- Naald tang
- Draadstropper
- Draadsnyer
- Plakgeweer
Multimeter 'n Multimeter is eintlik 'n eenvoudige toestel wat hoofsaaklik gebruik word om spanning en weerstand te meet en om te bepaal of 'n stroombaan gesluit is. Net soos die ontfouting van rekenaarkode, help die multimeter u om u elektroniese stroombane te ontfout.
Boumateriaal
'N Geredelik beskikbare voorraad dun hout en/of pleksiglas om die meganiese raam te maak, is baie nuttig. Metale soos aluminium en staal is dikwels beperk tot diegene met toegang tot 'n masjienwinkel, alhoewel dun aluminium met 'n skêr gesny en met die hand gebuig kan word. Meganiese rame kan selfs van huishoudelike items soos plastiekhouers gebou word.
Alhoewel ander materiale soos plastiek (behalwe pleksiglas) of meer eksotiese materiale soos veselglas en koolstofvesel moontlik is, word dit nie in hierdie gids bespreek nie. Verskeie vervaardigers het opgemerk dat dit vir die meeste stokperdjies nie maklik is om hul eie meganiese onderdele te vervaardig nie en dat hulle modulêre meganiese onderdele gemaak het. Lynxmotion is 'n leier hierin, wat 'n wye verskeidenheid robotontwerpe bied, sowel as die onderdele wat nodig is om u eie robotte te maak.
Hand gereedskap
Skroewedraaiers en tang van verskillende soorte en groottes (insluitend juweliersgereedskap: klein skroewedraaiers wat algemeen by dollarwinkels beskikbaar is) is nodig. 'N Boor (verkieslik 'n boorpers vir reguit gate) is ook belangrik. 'N Handsaag vir die sny van boumateriaal (of 'n frees) is ook 'n belangrike bate. As die begroting dit toelaat, is 'n klein tafelbladzaag ($ 200 -reeks) beslis 'n instrument om te oorweeg.
Soldeerlose broodbord
Met 'n soldeerlose broodbord kan u u uitleg optimaliseer en komponente maklik verbind. Saam met 'n soldeerlose broodbord, moet u 'n vooraf gevormde jumperdraadstel koop wat bestaan uit vooraf gesnyde en geboë drade wat bedoel is om saam met 'n soldeerlose broodbord te gebruik. Dit maak verbindings baie maklik.
Klein skroewedraaierstel
Hierdie klein skroewedraaiers is nodig as u met elektronika werk. Moet hulle egter nie te veel dwing nie - hul grootte maak hulle meer broos.
Gereelde skroewedraaierstel
Alle werkswinkels benodig 'n multi-gereedskap of gereedskapstel wat plat / Phillips en ander skroewedraaierkoppe bevat.
Naald tang
'n stel naaldtang is ongelooflik handig as u met klein komponente en onderdele werk, en dit is 'n baie goedkoop toevoeging tot u gereedskapskas. Dit verskil van die gewone tang omdat dit op 'n punt kom wat in klein gebiede kan kom.
Draadstroppers/snyers
U is van plan om enige drade te sny; 'n draadstropper bespaar u baie tyd en moeite. As 'n draadstropper korrek gebruik word, verwyder dit slegs 'n kabelisolasie en veroorsaak geen knik of beskadiging van die geleiers nie. Die ander alternatief vir 'n draadstropper is 'n skêr, alhoewel die eindresultaat slordig kan wees. Skêr, liniaal, pen, merkpen, potlood, Exacto -mes (of ander snywerktuig) Dit is noodsaaklik in enige kantoor.
Stap 4: Begrippe vir die kodering van AVR
Berekening van die spoed van klank relatief tot ultrasoniese sensors
Klein wiskunde, maar moenie bang wees nie. Dit is eenvoudiger as wat jy dink.
Die klanksnelheid in droë lug by kamertemperatuur (~ 20 ° C) = 343 meter/sekonde
Om die klankgolf te tref en na die nabygeleë voorwerp terug te keer, is = 343/2 = 171,5 m/aangesien die maksimum reikwydte van 'n goedkoop ultrasoniese sensor nie meer as 5 meter is nie (heen en weer), is dit meer sinvol om verander die eenhede na sentimeter en mikrosekondes.
1 meter = 100 sentimeter 1 sekonde = 10^6 mikrosekondes = (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 (afronding tot twee syfers om berekeninge makliker te maak)Daarom neem die tyd wat 'n pols neem om na 'n voorwerp te beweeg en 1 sentimeter terug te spring 58,31 mikrosekondes.
die klein agtergrond oor AVR -kloksiklusse
Dit verg 'n heel ander hoofstuk om AVR -kloksiklusse te verstaan, maar ons sal kortliks verstaan hoe dit werk om ons berekeninge makliker te maak
Vir ons voorbeeld gebruik ons AVR Draco-bord met 'n 8-bis AVR-Atmega328P-mikrobeheerder. Om dinge eenvoudig te hou, sal ons nie die instellings van 'n mikrobeheerder aanpas nie. Geen lontstukke raak nie; Geen eksterne kristal aangeheg nie; Geen hoofpyn nie. In die fabrieksinstellings werk dit op 'n interne 8MHz -ossillator met 'n /8 voorverkoeler; As u dit nie alles verstaan nie, beteken dit eenvoudig dat die mikrobeheerder op 1MHz interne RC -ossillator werk, en elke kloksiklus neem 1 mikrosekonde.
1 2 1MHz = van 1000000 siklusse per sekonde Daarom is 1s/1000000 = 1/1000000 = 1us
AVR -horlosies en afstandskonvertering
Ons is amper daar! Sodra ons weet hoe om AVR -kloksiklusse om te skakel na afstand wat deur klankgolwe afgelê word, is die implementering van die logika in 'n program maklik.
Ons weet dat die snelheid van ultraklank in die ideale omgewing: 58,31 ons/cm is
Ons weet dat die resolusie van AVR -mikrobeheerder 1us/klok siklus (CLK) is
Die afstand wat die klank per kloksiklus (CLK) afgelê het, is dus:
1 2 3 = (58,31 us/ cm) x (1us/ clk) = 58,31 kloksiklusse/ cm of = 1/ 58,31 cm/ clk
As die aantal horlosiesiklusse wat nodig is vir klank om te beweeg en terug te spring, bekend is, kan ons die afstand maklik bereken. As die sensor byvoorbeeld 1000 kloksiklusse neem om terug te keer en terug te spring, is die afstand van 'n sensor na die naaste voorwerp = 1000/58,31 = 17,15 cm (ongeveer)
Maak alles nou sin? Geen? Lees dit weer
As u duidelik is met al die logika hierbo genoem, implementeer ons dit in 'n werklike scenario deur 'n goedkoop ultrasoniese sensor HC-SR04 aan te sluit op ons AVR Arduino-bord.
Stap 5: Hardewareverbindings:
Arduino Board maak dit maklik om eksterne sensors aan te sluit en ook die resultate op LCD te sien. Vir ultraklankafstandmeting gebruik ons 'n goedkoop HC-SR04-module. Die module het 4 penne wat aan die mikrokontrollerbord gekoppel kan word: VCC, TRIG, ECHO en GND.
Koppel VCC -pen aan 5V en GND -pen aan op die Arduino -bord.
TRIG -pen en ECHO -pen kan aan enige beskikbare penne op die bord gekoppel word. Om 'n minimum van 10us 'hoë' sein na die snellerpen te stuur, stuur agt 40 kHz klankgolwe en trek eggo -pen hoog. As die geluid van 'n nabygeleë voorwerp afbons en terugkeer, word dit vasgelê deur die transducer te ontvang en word die eggo -pen 'laag' getrek.
Ander variante van ultrasoniese sensormodules is ook beskikbaar met slegs 3 penne. Die werkingsbeginsel is steeds dieselfde, maar die funksionaliteit van sneller- en eggo -penne word in 'n enkele pen gekombineer.
Sodra dit verbind is, kan Trigger en Echo Pins via sagteware gekonfigureer word. Om hierdie voorbeeld eenvoudig te hou, sal ons geen onderbrekingspenne (of invoeropneempen) in hierdie voorbeeld gebruik nie. Die gebruik van aangewese onderbrekingspenne gee ons ook die vryheid om die module aan te sluit op enige beskikbare penne op die bord.
Stap 6: Kode
Kode Die kode hieronder bevat slegs 'n "ultrasoniese" uitbreiding van DC-motorbeheer met behulp van 'n H-brug uit die vorige artikel. As die robot 'n hindernis voor hom opspoor, draai hy om (willekeurige graad) en gaan voort. Hierdie funksie kan maklik uitgebrei word om terselfdertyd aan te hou draai en hindernisse op te spoor - sodat die robot nie lukraak kan draai nie, maar eers kan vorentoe beweeg as geen voorwerp opgespoor word nie.
Vir 'n verduideliking van die kode, kyk na die YouTube -video wat op die kanaal verskyn.
Stap 7: Video
Kyk na die video vir die hele proses.
Aanbeveel:
Obstakel -vermydingsrobot met behulp van ultrasoniese sensor (Proteus): 12 stappe
Obstakel -vermydingsrobot met behulp van ultraklank -sensor (Proteus): Ons kom oor die algemeen oor die algemeen hindernis -robot. Hardeware -simulasie van hierdie robot is deel van die kompetisie in baie kolleges en by baie geleenthede. Maar sagteware -simulasie van hindernisrobot is skaars. Alhoewel ons dit êrens kan vind
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: 4 stappe
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: Hallo, ek is Rithik. Ons gaan 'n internetbeheerde LED maak met u telefoon. Ons gaan sagteware soos Arduino IDE en Blynk gebruik. Dit is eenvoudig, en as u daarin geslaag het, kan u soveel elektroniese komponente beheer as wat u wil
Monitor versnelling met behulp van Raspberry Pi en AIS328DQTR met behulp van Python: 6 stappe
Monitering van versnelling met behulp van Raspberry Pi en AIS328DQTR Gebruik van Python: Versnelling is eindig, volgens ek volgens sommige wette van die fisika.- Terry Riley 'n Jagluiperd gebruik ongelooflike versnelling en vinnige spoedveranderinge wanneer hy jaag. Die vinnigste wesens aan wal gebruik af en toe sy hoogste tempo om prooi te vang. Die
Obstakel -vermydingsrobot om swaar vrag te dra: 6 stappe
Hindernis -vermydingsrobot om swaar vrag te dra: dit is 'n hindernisrobot wat gebou is om die tuig van my seun te dra
Hoe om van 0 tot 99 te tel met behulp van 8051 mikrobeheerder met 7 segmentweergawe: 5 stappe (met foto's)
Hoe om van 0 tot 99 te tel Met behulp van 8051 mikrobeheerder met 7 -segmentweergawe: Hallo almal, in hierdie tutoriaal gaan ons u vertel hoe om van 0 tot 99 te tel met twee 7 -segment -skerms