Kazalo:
- 1. korak: stvari, ki jih ni treba narediti
- 2. korak: Razumevanje konceptov
- 3. korak: potrebna orodja
- 4. korak: Sprejem za kodiranje AVR
- 5. korak: Povezave strojne opreme:
- 6. korak: Koda
- 7. korak: Video
Video: Robot za izogibanje Utrasonicu z uporabo Arduina: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
V tej vadnici vam bom pokazal, kako se sami izogniti oviram, da se izognete robotu! Uporabili bomo ploščo Arduino UNO in ultrazvočni senzor. Če robot zazna predmet pred seboj, s pomočjo majhnega servo motorja pregleda območje levo in desno, da bi našel najboljši način za obračanje. Ima tudi LED za obvestila, zvočni signal za predvajanje tona ob zaznavi predmeta in gumb za spremembo funkcije robota (ustavljen/premik naprej).
To je zelo enostavno narediti!
1. korak: stvari, ki jih ni treba narediti
Za ta projekt boste potrebovali:
- Arduino UNO (kupite ga na gearbest.com)
- Mini plošča (kupite jo na gearbest.com)
- Modul gonilnika motorja L298 (kupite ga na gearbest.com)
- 2x dc motorji s kolesi Ultrazvočni senzor HC-SR04 (kupite na gearbest.com)
- Mikro servo motor (kupite ga na gearbest.com)
- Gumb Rdeči LED220 ohmski upor 9V nosilec baterije (z ali brez vtičnice)
- 8 distančnikov (moški-ženski),
- 8 matic in 8 vijakov potrebujete tudi enega velikega (kovinskega)
sponke za papir in kroglico za izdelavo zadnjega podpornega kolesa.
Za osnovo robota sem uporabil Akrilno ohišje iz Aliexpressa. Uporabite lahko tudi kos lesa ali kovine (ali dve električni plošči).
Cena celotnega projekta je približno 20 $
Orodja: Vrtalni stroj super lepilo posadka vroče pištolo lepilo (neobvezno) Moč:
Za napajanje našega robota bomo uporabili 9V baterijo, ker je majhna in poceni, vendar ni zelo močna in bo po približno eni uri prazna. Razmislite, če želite uporabiti baterijo za ponovno polnjenje (min 6V, max 7V), ki bo močnejša, vendar bo tudi dražja in večja od baterije 9V. Naročite se na naš kanal YouTube Kliknite tukaj
2. korak: Razumevanje konceptov
Cilj je ozavestiti robota pred ovirami, da lahko spremeni smer in se jim izogne. V prejšnjem članku smo robota premaknili - zdaj mu bomo dali nekaj avtonomije.
Ultrazvočni senzor
HC-SR04 je vezje, ki lahko z ultrazvočnimi valovi meri razdaljo do predmetov do 4 metre. Pošlje ping (kot podmornica) in izmeri čas (v mikrosekundah) med pošiljanjem in prejemom česar koli nazaj. Ta čas se nato deli z 2, ko val potuje naprej in nazaj. In potem delite z 29, da dobite razdaljo v centimetrih (ali 74 za palce), ker zvok potuje 29,4 μs na centimeter (340 m/s). Senzor je zelo natančen s toleranco ~ 3 mm in ga je enostavno integrirati z Arduinom.
Vmesni ultrazvočni senzor z mikrokontrolerjem AVR
Vsak avtonomni robot mora imeti izogibanje oviram in priključen senzor za merjenje razdalje. Par oddajnikov IR ali senzor v sivinah lahko preprosto odkrijejo ovire v razponu od 1 do 10 cm. IR daljinomeri (na primer ostri) lahko merijo razdaljo do najbližje ovire z dosegom do 100 cm. Vendar na IR senzorje vpliva sončna svetloba in drugi viri svetlobe. IR daljinomeri imajo manjši doseg in tudi dragi za to, kar počnejo. Ultrazvočni senzorji (znani tudi kot ultrazvočni senzorji bližine ali sonar za štrene) opravljajo obe nalogi po razumni ceni in izjemni natančnosti. Razpon je od 3 cm do 350 cm z natančnostjo ~ 3 mm. Če enega od teh ultrazvočnih senzorjev privežemo v našega robota, lahko deluje tako kot izogibanje oviram kot senzor za merjenje razdalje.
"Ultrazvočni" zvok se nanaša na vse, kar je nad frekvencami zvočnega zvoka, in nominalno vključuje vse, kar je nad 20 000 Hz ali 20 kHz! Poceni ultrazvočni senzorji, ki se uporabljajo za robotiko, običajno delujejo v območju od 40 kHz do 250 kHz, medtem ko se tisti, ki se uporabljajo v medicinski opremi, segajo do 10 MHz.
3. korak: potrebna orodja
- Multimeter
- Ogledna plošča
- Klešče za nos
- Odstranjevalec žice
- Rezalnik žice
- Pištola za lepilo
Multimeter Multimeter je pravzaprav preprosta naprava, ki se uporablja predvsem za merjenje napetosti in upora ter za ugotavljanje, ali je vezje zaprto. Podobno kot pri odpravljanju napak v računalniški kodi vam multimeter pomaga pri "odpravljanju napak" v vaših elektronskih vezjih.
Gradbeni materiali
Lahka dobava tankega lesa in/ali pleksi stekla za izdelavo mehanskega okvirja je zelo uporabna. Kovine, kot sta aluminij in jeklo, so pogosto omejene na tiste, ki imajo dostop do strojnice, čeprav se lahko tanek aluminij razreže s škarjami in ročno upogne. Mehanske okvirje je mogoče izdelati celo iz gospodinjskih predmetov, kot so plastične posode.
Čeprav so možni drugi materiali, kot so plastika (razen pleksi stekla) ali bolj eksotični materiali, kot so steklena vlakna in ogljikova vlakna, jih v tem priročniku ne bomo upoštevali. Več proizvajalcev je opazilo, da večini ljubiteljev ni enostavno izdelati lastnih mehanskih delov in so ustvarili modularne mehanske dele. Vodilni pri tem je Lynxmotion, ki ponuja široko paleto robotskih modelov in dele, potrebne za izdelavo lastnih robotov po meri.
Ročno orodje
Potrebni so izvijači in klešče različnih vrst in velikosti (vključno z draguljarskim orodjem: majhni izvijači, ki so običajno na voljo v trgovinah z dolarji). Pomemben je tudi vrtalnik (po možnosti vrtalna stiskalnica za ravne luknje). Ročna žaga za rezanje gradbenih materialov (ali usmerjevalnik) je prav tako pomembno sredstvo. Če proračun dopušča, je majhno namizno tračno žago (obseg 200 USD) vsekakor orodje za razmislek.
Spajkalna deska
Omarica brez spajkanja vam omogoča, da optimizirate postavitev in enostavno povežete komponente. Skupaj z lemilno ploščo, morate kupiti vnaprej oblikovan komplet mostične žice, ki je sestavljen iz vnaprej odrezanih in upognjenih žic, namenjenih za uporabo z lemljeno ploščo. Zaradi tega so povezave zelo enostavne.
Komplet majhnih izvijačev
Ti majhni izvijači so potrebni pri delu z elektroniko. Ne silite jih preveč - njihova velikost jih naredi bolj krhke.
Navadni komplet izvijačev
Vse delavnice potrebujejo več orodja ali komplet orodij, ki vključuje ploske / križne in druge glave izvijačev.
Klešče za nos
komplet klešč za igelne nose je neverjetno uporaben pri delu z majhnimi sestavnimi deli in deli ter je zelo poceni dodatek k vaši zbirki orodij. Te se razlikujejo od običajnih klešč, ker pridejo do točke, ki lahko pride na majhna območja.
Odstranjevalci/rezalniki za žice
Nameravate odrezati vse žice, odstranjevalec žic vam bo prihranil precej časa in truda. Odstranjevalec žice bo ob pravilni uporabi odstranil samo izolacijo kabla in ne bo povzročil pregibov ali poškodb prevodnikov. Druga alternativa odstranjevalcu žice so škarje, čeprav je lahko končni rezultat grdo. Škarje, ravnilo, pisalo, označevalni svinčnik, nož Exacto (ali drugo ročno rezalno orodje) To je najpomembnejše v vsaki pisarni.
4. korak: Sprejem za kodiranje AVR
Izračun hitrosti zvoka glede na ultrazvočne senzorje
Malo matematike, vendar se ne boj. Je preprostejše, kot si mislite.
Hitrost zvoka v suhem zraku pri sobni temperaturi (~ 20 ° C) = 343 metrov/sekundo
Da bi zvočni val udaril in se obrnil na bližnji objekt je = 343/2 = 171,5 m/, ker največji doseg poceni ultrazvočnega senzorja ni večji od 5 metrov (krožno potovanje), bi bilo bolj smiselno spremenite enote v centimetre in mikrosekunde.
1 meter = 100 centimetrov 1 sekunda = 10^6 mikrosekund = (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 (zaokrožite na dve števki za lažje izračune)Zato je čas, potreben za impulz, da potuje do predmeta in se odbije za 1 centimeter 58,31 mikrosekund.
malo ozadja ciklov ure AVR
Za razumevanje ciklov ure AVR je potrebno povsem drugo poglavje, vendar bomo na kratko razumeli, kako deluje, da olajšamo naše izračune
V našem primeru bomo uporabili ploščo AVR Draco, ki ima 8-bitni mikrokontroler AVR-Atmega328P. Da bi bilo preprosto, nastavitev mikrokrmilnika ne bomo spreminjali. Nobenega varovalnega bita se ni dotaknilo; Zunanji kristal ni pritrjen; Brez glavobola. Pri tovarniških nastavitvah deluje na notranjem 8MHz oscilatorju z /8 predrazdeljevalnikom; Če vsega tega ne razumete, to preprosto pomeni, da mikrokrmilnik deluje na 1MHz notranjega RC oscilatorja in vsak cikel ure traja 1 mikrosekundo.
1 2 1MHz = 1000000 ciklov na sekundo Zato je 1s/1000000 = 1/1000000 = 1us
AVR ure in pretvorba razdalje
Skoraj smo že tam! Ko vemo, kako pretvoriti cikle ure AVR v razdaljo, ki jo prevozijo zvočni valovi, je implementacija logike v program enostavna.
Vemo, da je hitrost ultrazvočnega zvoka v idealnem okolju: 58,31 us/cm
Vemo, da je ločljivost mikrokrmilnika AVR 1us/cikel ure (CLK)
Zato je prevožena razdalja z zvokom na cikel ure (CLK):
1 2 3 = (58,31 us/ cm) x (1us/ clk) = 58,31 cikla ure/ cm ali = 1/ 58,31 cm/ clk
Če je znano število ciklov ure, ki so potrebni za potovanje in odbijanje zvoka, lahko zlahka izračunamo razdaljo. Na primer, če senzor potrebuje 1000 ciklov ure za vožnjo in odskok, je razdalja od senzorja do najbližjega predmeta = 1000/58,31 = 17,15 cm (pribl.)
Je zdaj vse smiselno? Ne? Preberi še enkrat
Če ste jasni z vso zgoraj omenjeno logiko, jo bomo izvedli v realnem scenariju s priključitvijo poceni ultrazvočnega senzorja HC-SR04 na ploščo AVR Arduino.
5. korak: Povezave strojne opreme:
Arduino Board omogoča enostavno priključitev vseh zunanjih senzorjev in ogled rezultatov tudi na LCD -prikazovalniku. Za ultrazvočno zaznavanje dometa uporabljamo poceni modul HC-SR04. Modul ima 4 zatiče, ki jih je mogoče priključiti na ploščo mikrokrmilnika: VCC, TRIG, ECHO in GND.
Priključite pin VCC na 5V in pin GND na ozemljitev na plošči Arduino.
Pin TRIG in ECHO lahko priključite na vse razpoložljive nožice na plošči. Pošiljanje najmanj 10us „visokega“signala za sprožilni pin pošlje osem 40 kHz zvočnih valov in visoko potegne odmevni pin. Če se zvok odbije od bližnjega predmeta in se vrne, ga zajame sprejemni pretvornik in odmevni zatič potegne "nizko".
Na voljo so tudi druge različice ultrazvočnih senzorskih modulov s samo tremi zatiči. Načelo delovanja je še vedno enako, vendar so funkcije sprožilnih in odmevnih zatičev združene v en sam pin.
Ko sta povezana, lahko sprožilne in odmevne zatiče konfigurirate s programsko opremo. Da bi bil ta primer preprost, v tem primeru ne bomo uporabili prekinitvenih zatičev (ali vhodnega zajemnega vhoda). Če ne uporabljamo označenih zatičev za prekinitev, imamo tudi svobodo pri priključitvi modula na vse razpoložljive zatiče na plošči.
6. korak: Koda
Koda Spodnja koda vsebuje le "ultrazvočno" razširitev za krmiljenje enosmernega motorja z uporabo H-Bridge iz prejšnjega članka. Ko robot zazna oviro pred seboj, se obrne (naključno stopnjo) in nadaljuje z gibanjem naprej. To funkcijo bi lahko preprosto razširili, da bi hkrati obračali in odkrivali ovire - zato se robot ne bi obrnil naključno, ampak bi se začel premikati naprej le, če ni zaznan noben predmet.
Za razlago kode glejte videoposnetek Youtube, naveden na kanalu.
7. korak: Video
Oglejte si video za celoten proces.
Priporočena:
Izogibanje oviram LEGO Robot: 8 korakov (s slikami)
Izogibanje oviram LEGO Robot: Obožujemo LEGO in obožujemo tudi Crazy Circuits, zato smo želeli združiti oba v preprostega in zabavnega robota, ki se lahko izogne trčenju v stene in druge predmete. Pokazali vam bomo, kako smo zgradili našo, in opisali osnove, ki jih potrebujete, da jih lahko zgradite sami.
Arduino robot 5 v 1 - Sledite mi - Sledi vrstica - Sumo - Risba - Izogibanje oviram: 6 korakov
Arduino robot 5 v 1 | Sledite mi | Sledi vrstica | Sumo | Risba | Izogibanje oviram: Ta robotska nadzorna plošča vsebuje mikrokrmilnik ATmega328P in gonilnik motorja L293D. Seveda se ne razlikuje od plošče Arduino Uno, vendar je bolj uporabna, ker ne potrebuje drugega ščita za pogon motorja! Brez skokov je
Robot za izogibanje oviram za prevoz težkega tovora: 6 korakov
Robot za izogibanje oviram za prevoz težkega tovora: To je robot za izogibanje oviram, zgrajen za prenašanje rockerja mojega sina
"GRECO" - Robot za izogibanje predmetom Arduino za začetnike: 6 korakov (s slikami)
"GRECO" - Robot za izogibanje predmetom Arduino za začetnike: No, če ste začetnik, boste tukaj našli najlažji način za izdelavo lastnega predmeta, ki se izogiba robotu! Za lažjo izdelavo bomo uporabili mini okroglo ohišje robota z dvema motorjema dc . Še enkrat smo se odločili za uporabo znamenite plošče Arduino UNO
Brezžični daljinski upravljalnik z uporabo 2.4Ghz modula NRF24L01 z Arduinom - Nrf24l01 4 -kanalni / 6 -kanalni sprejemnik oddajnika za Quadcopter - Rc helikopter - Rc ravnina z uporabo Arduina: 5 korakov (s slikami)
Brezžični daljinski upravljalnik z uporabo 2.4Ghz modula NRF24L01 z Arduinom | Nrf24l01 4 -kanalni / 6 -kanalni sprejemnik oddajnika za Quadcopter | Rc helikopter | Rc letalo z uporabo Arduina: za upravljanje avtomobila Rc | Quadcopter | Dron | RC ravnina | RC čoln, vedno potrebujemo sprejemnik in oddajnik, recimo za RC QUADCOPTER potrebujemo 6 -kanalni oddajnik in sprejemnik in ta vrsta TX in RX je predraga, zato jo bomo naredili na svojem