Sadržaj:
- Korak 1: Stvari koje morate dodati
- Korak 2: Razumijevanje koncepata
- Korak 3: Potrebni alati
- Korak 4: Prihvatanje kodiranja AVR -a
- Korak 5: Hardverske veze:
- Korak 6: Kodiranje
- Korak 7: Video zapis
Video: Robot za izbjegavanje Utrasonika koji koristi Arduino: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
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
Za ovaj projekat trebat će vam:
- Arduino UNO (kupite na gearbest.com)
- Mini ploča (kupite je na gearbest.com)
- Modul upravljačkog programa motora L298 (kupite ga na gearbest.com)
- 2x dc motori s kotačima HC-SR04 ultrazvučni senzor (kupite na gearbest.com)
- Mikro servo motor (kupite ga na gearbest.com)
- Dugme Crveno LED220 Ohm otpornik 9V držač baterije (sa ili bez utičnice za napajanje)
- 8 odstojnika (muško-žensko),
- 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
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
- Multimetar
- Breadboard
- Kliješta s iglastim nosem
- Skidač žice
- Rezač žice
- 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
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:
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:
NAIN 1.0 - osnovni humanoidni robot koji koristi Arduino: 6 koraka
NAIN 1.0 - osnovni humanoidni robot koji koristi Arduino: Nain 1.0 će u osnovi imati 5 odvojivih modula - 1) Arm - kojima se može upravljati putem servo upravljača. 2) Točkovi - koji se može kontrolirati pomoću istosmjernih motora. 3) Noga - Nain će se moći kretati između kotača ili nogu radi kretanja. 4) Glava i
Bežični Arduino robot koji koristi bežični modul HC12: 7 koraka
Bežični Arduino robot koji koristi bežični modul HC12: Hej momci, dobrodošli nazad. U svom prethodnom postu objasnio sam šta je to H mostni krug, IC upravljački program motora L293D, integrirani IC upravljački program motora L293D za pogon visokonaponskih upravljačkih programa motora i kako možete dizajnirati i napraviti vlastitu ploču upravljačkog programa motora L293D
Robot s Wi-Fi kontrolom koji koristi Wemos D1 ESP8266, Arduino IDE i Blynk aplikaciju: 11 koraka (sa slikama)
Robot koji kontrolira Wi-Fi pomoću Wemos D1 ESP8266, Arduino IDE-a i Blynk aplikacije: U ovom vodiču pokazat ću vam kako napraviti robotski spremnik s Wi-Fi kontrolom sa pametnog telefona pomoću aplikacije Blynk. U ovom projektu korištena je ESP8266 Wemos D1 ploča, ali se mogu koristiti i drugi modeli ploča (NodeMCU, Firebeetle itd.), A pr
Robot Google pomoćnik koji koristi Arduino: 3 koraka
Robot Google pomoćnik koji koristi Arduino: U prošlom postu sam vam pokazao kako izgraditi Google asistenta u Raspberry Pi i integrirati Google pomoćnika u IFTTT. U ovom vodiču ću vam pokazati kako izgraditi robota kojim se može upravljati pomoću Google pomoćnika. Ne morate brinuti ako
Uređaj za mjerenje UV-indeksa koji govori, koji koristi senzor VEML6075 i mali drugar: 5 koraka
Uređaj za mjerenje UV-indeksa koji govori, pomoću senzora VEML6075 i Malog prijatelja: Dolaze ljeta! Sunce sija! Što je odlično. No, kako ultraljubičasto (UV) zračenje postaje sve intenzivnije, ljudi poput mene dobivaju pjege, male smeđe otočiće koji plivaju u moru crvene, opečene od sunca, kože koja svrbi. Biti u mogućnosti imati informacije u stvarnom vremenu