Kazalo:

Robot za izogibanje Utrasonicu z uporabo Arduina: 7 korakov
Robot za izogibanje Utrasonicu z uporabo Arduina: 7 korakov

Video: Robot za izogibanje Utrasonicu z uporabo Arduina: 7 korakov

Video: Robot za izogibanje Utrasonicu z uporabo Arduina: 7 korakov
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, November
Anonim
Image
Image
Utrasonični izogibni robot z uporabo Arduina
Utrasonični izogibni robot z uporabo Arduina

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

Stvari, ki jih je treba narediti!
Stvari, ki jih je treba narediti!
Stvari, ki jih je treba narediti!
Stvari, ki jih je treba narediti!
Stvari, ki jih je treba narediti!
Stvari, ki jih je treba narediti!
Stvari, ki jih je treba narediti!
Stvari, ki jih je treba narediti!

Za ta projekt boste potrebovali:

  1. Arduino UNO (kupite ga na gearbest.com)
  2. Mini plošča (kupite jo na gearbest.com)
  3. Modul gonilnika motorja L298 (kupite ga na gearbest.com)
  4. 2x dc motorji s kolesi Ultrazvočni senzor HC-SR04 (kupite na gearbest.com)
  5. Mikro servo motor (kupite ga na gearbest.com)
  6. Gumb Rdeči LED220 ohmski upor 9V nosilec baterije (z ali brez vtičnice)
  7. 8 distančnikov (moški-ženski),
  8. 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

Razumevanje konceptov
Razumevanje konceptov
Razumevanje konceptov
Razumevanje konceptov
Razumevanje konceptov
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

Potrebna orodja
Potrebna orodja
Potrebna orodja
Potrebna orodja
Potrebna orodja
Potrebna orodja
Potrebna orodja
Potrebna orodja
  1. Multimeter
  2. Ogledna plošča
  3. Klešče za nos
  4. Odstranjevalec žice
  5. Rezalnik žice
  6. 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

Sprejemniki za kodiranje AVR
Sprejemniki 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:

Povezave strojne opreme
Povezave strojne opreme
Povezave strojne opreme
Povezave strojne opreme
Povezave strojne opreme
Povezave strojne opreme
Povezave strojne opreme
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: