Sadržaj:

Robot za izbjegavanje Utrasonika koji koristi Arduino: 7 koraka
Robot za izbjegavanje Utrasonika koji koristi Arduino: 7 koraka

Video: Robot za izbjegavanje Utrasonika koji koristi Arduino: 7 koraka

Video: Robot za izbjegavanje Utrasonika koji koristi Arduino: 7 koraka
Video: как превратить ЭЛТ телевизор в осциллограф 2024, Novembar
Anonim
Image
Image
Robot za izbjegavanje Utrasonika koji koristi Arduino
Robot za izbjegavanje Utrasonika koji koristi Arduino

U ovom vodiču ću vam pokazati kako napraviti vlastitu prepreku izbjegavajući robota! Koristit ćemo Arduino UNO ploču i ultrazvučni senzor. Ako robot detektira objekt ispred sebe, uz pomoć malog servo motora skenira područje lijevo i desno kako bi pronašao najbolji način okretanja. Takođe ima LED lampicu za obavijesti, zujalicu za reprodukciju tona pri otkrivanju objekta i dugme za promjenu funkcije robota (zaustavljeno/kretanje naprijed).

Vrlo je lako napraviti!

Korak 1: Stvari koje morate dodati

Stvari koje treba dodati!
Stvari koje treba dodati!
Stvari koje treba dodati!
Stvari koje treba dodati!
Stvari koje treba dodati!
Stvari koje treba dodati!
Stvari koje treba dodati!
Stvari koje treba dodati!

Za ovaj projekat trebat će vam:

  1. Arduino UNO (kupite na gearbest.com)
  2. Mini ploča (kupite je na gearbest.com)
  3. Modul upravljačkog programa motora L298 (kupite ga na gearbest.com)
  4. 2x dc motori s kotačima HC-SR04 ultrazvučni senzor (kupite na gearbest.com)
  5. Mikro servo motor (kupite ga na gearbest.com)
  6. Dugme Crveno LED220 Ohm otpornik 9V držač baterije (sa ili bez utičnice za napajanje)
  7. 8 odstojnika (muško-žensko),
  8. 8 matica i 8 vijaka trebat će vam i jedan veliki (metalni)

spajalica i perlica za izradu stražnjeg potpornog kotača.

Za bazu robota koristio sam akrilnu šasiju s Aliexpressa. Možete koristiti i komad drveta ili metala (ili dvije električne ploče).

Cijena cijelog projekta je oko 20 USD

Alati: Stroj za bušenje mašina za super ljepilo, vozač, ljepilo za vruće pištolje (opcionalno) Snaga:

Za napajanje našeg robota koristit ćemo 9V bateriju jer je mala i jeftina, ali nije jako moćna i bit će prazna nakon otprilike jednog sata. Razmislite želite li koristiti punjivu bateriju (min 6V, max 7V) koja će biti snažnija, ali će biti i skuplja i veća od baterije od 9V. Pretplatite se na naš YouTube kanal Kliknite ovdje

Korak 2: Razumijevanje koncepata

Razumijevanje koncepata
Razumijevanje koncepata
Razumijevanje koncepata
Razumijevanje koncepata
Razumijevanje koncepata
Razumijevanje koncepata

Cilj je osvijestiti robota o preprekama ispred sebe kako bi mogao promijeniti smjer i izbjeći ih. U prethodnom članku smo pokrenuli robota - sada ćemo mu dati određenu autonomiju.

Ultrazvučni senzor

HC-SR04 je sklop koji može mjeriti udaljenost do objekata do 4 metra pomoću ultrazvučnih valova. On šalje ping (poput podmornice) i mjeri vrijeme (u mikrosekundama) između slanja i primanja bilo čega natrag. Ovo vrijeme se tada dijeli sa 2 dok val putuje naprijed -nazad. Zatim podijelite s 29 da biste dobili udaljenost u centimetrima (ili 74 za inče), jer zvuk putuje 29,4µs po centimetru (340 m/s). Senzor je vrlo precizan s tolerancijom od ~ 3 mm i jednostavan za integraciju s Arduinom.

Povezivanje ultrazvučnog senzora sa AVR mikrokontrolerom

Svaki autonomni robot trebao bi imati izbjegavanje prepreka i priključen senzor za mjerenje udaljenosti. Par IC primopredajnika ili senzor u sivim tonovima mogu lako raditi za otkrivanje prepreka u rasponu od 1 do 10 cm. IR daljinomjeri (na primjer oni oštri) mogu mjeriti udaljenost do najbliže prepreke u dometu do 100 cm. Međutim, IC senzori su pod utjecajem sunčeve svjetlosti i drugih izvora svjetlosti. IR daljinomjeri imaju manji domet i skupi su za ono što rade. Ultrazvučni senzori (poznati i kao ultrazvučni senzori blizine ili sonar za štrebere) obavljaju oba ova zadatka po razumnoj cijeni i izuzetnoj tačnosti. Raspon je bilo šta između 3 cm i 350 cm sa preciznošću ~ 3 mm. Vezivanjem jednog od ovih ultrazvučnih senzora u našeg robota, on može djelovati i kao izbjegavač prepreka i kao senzor za mjerenje udaljenosti.

“Ultrazvučni” zvuk odnosi se na bilo što iznad frekvencija zvučnog zvuka, a nominalno uključuje sve preko 20 000 Hz ili 20 kHz! Jeftini ultrazvučni senzori koji se koriste za robotiku općenito rade u rasponu od 40 kHz do 250 kHz, dok oni koji se koriste u medicinskoj opremi idu do 10 MHz.

Korak 3: Potrebni alati

Potrebni alati
Potrebni alati
Potrebni alati
Potrebni alati
Potrebni alati
Potrebni alati
Potrebni alati
Potrebni alati
  1. Multimetar
  2. Breadboard
  3. Kliješta s iglastim nosem
  4. Skidač žice
  5. Rezač žice
  6. Pištolj za ljepilo

Multimetar Multimetar je zapravo jednostavan uređaj koji se prvenstveno koristi za mjerenje napona i otpora te za utvrđivanje je li krug zatvoren. Slično kao i ispravljanje pogrešaka u računarskom kodu, multimetar vam pomaže da "otklonite greške" u svojim elektroničkim krugovima.

Građevinski materijal

Lako dostupna zaliha tankog drveta i/ili pleksiglasa za izradu mehaničkog okvira vrlo je korisna. Metali poput aluminija i čelika često su ograničeni na one koji imaju pristup radionici, iako se tanki aluminij može rezati škarama i savijati ručno. Mehanički okviri mogu se čak izgraditi od predmeta za domaćinstvo, poput plastičnih posuda.

Iako su mogući i drugi materijali poput plastike (osim pleksiglasa) ili egzotičnijih materijala poput stakloplastike i ugljičnih vlakana, oni se neće razmatrati u ovom vodiču. Nekoliko proizvođača primijetilo je da većini hobista nije lako proizvesti vlastite mehaničke dijelove i stvorili su modularne mehaničke dijelove. Lider u tome je Lynxmotion koji nudi širok raspon robotskih dizajna, kao i dijelove potrebne za izradu vlastitih prilagođenih robota.

Ručni alati

Odvijači i kliješta različitih vrsta i veličina (uključujući set alata za draguljare: mali odvijači koji su obično dostupni u prodavaonicama dolara) su neophodni. Bušilica (po mogućnosti bušilica za ravne rupe) je takođe važna. Ručna pila za rezanje građevinskog materijala (ili glodalica) također je važna vrijednost. Ako budžet dopušta, mala stolna tračna pila (raspon od 200 USD) definitivno je alat za razmatranje.

Lemna ploča

Mašina bez lemljenja omogućuje vam optimizaciju izgleda i lako povezivanje komponenti. Uz ploču za lemljenje, trebali biste kupiti unaprijed formirani komplet žice za kratkospojnike koji se sastoji od unaprijed izrezanih i savijenih žica namijenjenih za upotrebu s lemljenom pločom. Ovo povezivanje čini vrlo lakim.

Mali set odvijača

Ovi mali odvijači su potrebni pri radu s elektronikom. Ne prisiljavajte ih previše - njihova veličina ih čini krhkijima.

Običan set odvijača

Sve radionice trebaju višestruki alat ili skup alata koji uključuje ravne / Phillips i druge glave odvijača.

Kliješta s iglastim nosem

set kliješta s iglastim nosem nevjerojatno je koristan pri radu s malim komponentama i dijelovima i vrlo je jeftin dodatak vašoj kutiji s alatima. Oni se razlikuju od običnih kliješta jer dolaze do točke koja može ući u mala područja.

Skidači žica/rezači žica

Planirate presjeći sve žice, aparat za skidanje žice uštedjet će vam znatno vrijeme i trud. Skidač žice, ako se pravilno koristi, uklonit će samo izolaciju kabela i neće uzrokovati pregibe ili oštetiti vodiče. Druga alternativa za skidanje žice su škare, iako krajnji rezultat može biti neuredan. Škare, ravnalo, olovka, marker olovka, Exacto nož (ili drugi ručni alat za rezanje) Ovo su osnovne stvari u svakom uredu.

Korak 4: Prihvatanje kodiranja AVR -a

Prihvatnici za kodiranje AVR -a
Prihvatnici za kodiranje AVR -a

Izračunavanje brzine zvuka u odnosu na ultrazvučne senzore

Malo matematike, ali nemojte se plašiti. Jednostavnije je nego što mislite.

Brzina zvuka u suhom zraku na sobnoj temperaturi (~ 20 ° C) = 343 metra/sekundi

Da bi zvučni val udario i kružio do obližnjeg objekta je = 343/2 = 171,5 m/budući da maksimalni domet jeftinog ultrazvučnog senzora nije veći od 5 metara (kružna tura), bilo bi logičnije promijenite jedinice u centimetre i mikrosekunde.

1 metar = 100 centimetara 1 sekunda = 10^6 mikrosekundi = (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 (zaokruživanje na dvije znamenke radi lakšeg izračunavanja)Stoga je potrebno vrijeme da impuls putuje do objekta i odskoči 1 centimetar 58,31 mikrosekundi.

mala pozadina ciklusa AVR sata

Za razumijevanje ciklusa AVR sata potrebno je potpuno drugo poglavlje, ali ćemo ukratko razumjeti kako to funkcionira kako bismo olakšali naše proračune

Za naš primjer koristit ćemo AVR Draco ploču koja ima 8-bitni AVR-Atmega328P mikrokontroler. Da pojednostavimo stvari, nećemo mijenjati postavke mikrokontrolera. Nema dodira osigurača; Nema spoljašnjih kristala; Nema glavobolje. Prema tvorničkim postavkama, radi na internom oscilatoru od 8 MHz sa a /8 predskalerom; Ako sve ovo ne razumijete, to jednostavno znači da mikrokontroler radi na 1MHz internog RC oscilatora i da svaki takt traje 1 mikrosekundu.

1 2 1MHz = od 1000000 ciklusa u sekundi Dakle, 1s/1000000 = 1/1000000 = 1us

AVR satovi i konverzija udaljenosti

Skoro smo stigli! Jednom kada saznamo kako pretvoriti cikluse AVR sata u udaljenost koju prelaze zvučni valovi, implementacija logike u program je jednostavna.

Znamo da je brzina ultrazvučnog zvuka u idealnom okruženju: 58,31 us/cm

Znamo da je rezolucija mikrokontrolera AVR 1us/ciklus takta (CLK)

Stoga je udaljenost koju zvuk prelazi po ciklusu takta (CLK):

1 2 3 = (58,31 us/ cm) x (1 us/ clk) = 58,31 takta sata/ cm ili = 1/ 58,31 cm/ clk

Ako je poznat broj ciklusa takta koji su potrebni da bi zvuk putovao i odskočio, lako možemo izračunati udaljenost. Na primjer, ako je senzoru potrebno 1000 ciklusa takta za putovanje i odskok, udaljenost od senzora do najbližeg objekta je = 1000/58,31 = 17,15 cm (približno)

Ima li sada sve smisla? Ne? Pročitaj ponovo

Ako vam je jasna sva gore spomenuta logika, implementirat ćemo je u stvarni scenarij povezivanjem jeftinog ultrazvučnog senzora HC-SR04 na našu AVR Arduino ploču.

Korak 5: Hardverske veze:

Hardverske veze
Hardverske veze
Hardverske veze
Hardverske veze
Hardverske veze
Hardverske veze
Hardverske veze
Hardverske veze

Arduino ploča olakšava povezivanje bilo kojih vanjskih senzora i pregled rezultata na LCD -u. Za ultrazvučno mjerenje raspona koristimo jeftin HC-SR04 modul. Modul ima 4 pina koji se mogu spojiti na ploču mikrokontrolera: VCC, TRIG, ECHO i GND.

Spojite VCC pin na 5V i GND pin na masu na Arduino ploči.

TRIG pin i ECHO pin mogu se spojiti na sve dostupne pinove na ploči. Slanje minimalno 10us „visokog“signala na okidač šalje osam zvučnih valova od 40 kHz i povlači eho pin visoko. Ako se zvuk odbije od obližnjeg objekta i vrati, snima se primanjem pretvarača, a eho pin se povlači "nisko".

Druge varijante ultrazvučnih senzorskih modula su takođe dostupne sa samo 3 pina. Princip rada je i dalje isti, ali se funkcionalnost okidača i eho pinova kombinira u jedan pin.

Nakon povezivanja, okidači i eho pinovi mogu se konfigurirati putem softvera. Da bi ovaj primjer bio jednostavan, u ovom primjeru nećemo koristiti nikakve pinove prekida (ili pin za hvatanje ulaza). Korištenje određenih pinova za prekid daje nam i slobodu povezivanja modula sa bilo kojim raspoloživim pinovima na ploči.

Korak 6: Kodiranje

Kod Dolje navedeni kod sadrži samo „ultrazvučno“proširenje za upravljanje istosmjernim motorom pomoću H-mosta iz prethodnog članka. Kada robot otkrije prepreku ispred sebe, okreće se (nasumičan stepen) i nastavlja da se kreće napred. Ova se funkcija može lako proširiti kako bi se istovremeno okretalo i otkrivalo prepreke - tako da se robot ne bi okretao nasumično, već bi se kretao naprijed samo kad se ne otkrije objekt.

Za objašnjenje koda pogledajte Youtube video zapis na kanalu.

Korak 7: Video zapis

Pogledajte video za cijeli proces.

Preporučuje se: