Sadržaj:
- Korak 1: Stvari koje morate napraviti
- Korak 2: Razumijevanje pojmova
- Korak 3: Potrebni alati
- Korak 4: Prihvaćanje kodiranja AVR -a
- 5. korak: Hardverske veze:
- Korak 6: Kodiranje
- Korak 7: Videozapis
Video: Robot za izbjegavanje Utrasonika koji koristi Arduino: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
U ovom vodiču pokazat ću vam 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. Ima i LED obavijest, zujalicu za reprodukciju tona pri otkrivanju objekta i gumb za promjenu funkcije robota (zaustavljen/kretanje naprijed).
Vrlo je lako napraviti!
Korak 1: Stvari koje morate napraviti
Za ovaj projekt trebat će vam:
- Arduino UNO (kupite ga na gearbest.com)
- Mini ploča (kupite je na gearbest.com)
- L298 pogonski modul motora (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)
- Gumb Crveni 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. Također možete koristiti komad drveta ili metala (ili dvije električne ploče).
Cijena cijelog projekta je oko 20 USD
Alati: Stroj za bušenje, super ljepilo, vozač, ljepilo za vruće pištolje (po izboru) 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 9 V. Pretplatite se na naš YouTube kanal Kliknite ovdje
Korak 2: Razumijevanje pojmova
Cilj je osvijestiti robota o preprekama ispred sebe, kako bi mogao promijeniti smjer i izbjeći ih. U prethodnom članku pokrenuli smo 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. Šalje ping (poput podmornice) i mjeri vrijeme (u mikrosekundama) između slanja i primanja bilo čega natrag. Ovo se vrijeme tada dijeli s 2 dok val putuje naprijed -natrag. 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 lako se integrira s Arduinom.
Povezivanje ultrazvučnog senzora s AVR mikrokontrolerom
Svaki autonomni robot trebao bi imati izbjegavanje prepreka i priključen senzor za mjerenje udaljenosti. Par IR primopredajnika ili senzor u sivim tonovima mogu lako raditi na otkrivanju prepreka u rasponu od 1 do 10 cm. IR daljinomjeri (na primjer oštri) mogu mjeriti udaljenost do najbliže prepreke u rasponu do 100 cm. Međutim, IC senzori su pod utjecajem sunčeve svjetlosti i drugih izvora svjetlosti. IR daljinomjeri imaju manji domet i također su skupi za ono što rade. Ultrazvučni senzori (također poznati kao ultrazvučni senzori blizine ili sonar za štrebere) obaraju ove zadatke po razumnoj cijeni i iznimnoj točnosti. Raspon je bilo što između 3 cm i 350 cm s točnošću od ~ 3 mm. Vezujući jedan 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 sve iznad frekvencija zvučnog zvuka, a nominalno uključuje sve iznad 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
- Oglasna ploča
- Kliješta za nos s iglama
- 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čunalnom kodu, multimetar vam pomaže u "otklanjanju pogrešaka" u vašim elektroničkim krugovima.
Građevinski materijal
Lako dostupna zaliha tankog drva i/ili pleksiglasa za izradu mehaničkog okvira vrlo je korisna. Metali poput aluminija i čelika često su ograničeni na one s pristupom strojarskoj radnji, iako se tanki aluminij može rezati škarama i savijati ručno. Mehanički okviri mogu se čak izgraditi od kućanskih predmeta, poput plastičnih posuda.
Iako su mogući drugi materijali poput plastike (osim pleksiglasa) ili egzotičniji materijali poput stakloplastike i ugljičnih vlakana, oni se neće razmatrati u ovom vodiču. Nekoliko je proizvođača primijetilo da većini hobista nije lako proizvesti vlastite mehaničke dijelove te su stvorili 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 skup 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đer važna. Ručna pila za rezanje građevinskog materijala (ili glodalica) također je važna vrijednost. Ako proračun dopušta, mala stolna tračna pila (raspon od 200 USD) definitivno je alat za razmatranje.
Oplata za lemljenje
Mašina za lemljenje omogućuje vam optimizaciju izgleda i povezivanje komponenti s lakoćom. Uz ploču s lemljenjem, trebali biste kupiti unaprijed oblikovani komplet žice za kratkospojnike koji se sastoji od unaprijed izrezanih i savijenih žica namijenjenih za upotrebu s ploči za lemljenje. To 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 za nos s iglama
set kliješta s iglastim nosem nevjerojatno je koristan pri radu s malim komponentama i dijelovima te je vrlo 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 rezati sve žice, aparat za skidanje žice uštedjet će vam znatno vrijeme i trud. Stroj za skidanje ž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 neki drugi ručni alat za rezanje) Ovo su osnovne stvari u svakom uredu.
Korak 4: Prihvaćanje kodiranja AVR -a
Izračunavanje brzine zvuka u odnosu na ultrazvučne senzore
Mala matematika, ali nemojte se bojati. 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 najveći 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čuna)Stoga je vrijeme potrebno 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 ukratko ćemo razumjeti kako to funkcionira kako bismo olakšali naše izrač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 dodirivanih dijelova osigurača; Vanjski kristal nije pričvršćen; Nema glavobolje. Prema tvorničkim postavkama, radi na unutarnjem oscilatoru od 8 MHz s a /8 predskalerom; Ako sve ovo ne razumijete, to jednostavno znači da mikrokontroler radi na unutarnjem RC oscilatoru od 1 MHz i da svaki ciklus takta traje 1 mikrosekundu.
1 2 1MHz = od 1000000 ciklusa u sekundi Stoga je 1s/1000000 = 1/1000000 = 1us
AVR satovi i pretvorba udaljenosti
Skoro smo tamo! Nakon što znamo 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 (1us/ clk) = 58,31 ciklusa 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, tada je udaljenost od senzora do najbližeg objekta = 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.
5. korak: 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 najmanje 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 također su dostupne sa samo 3 pina. Princip rada je i dalje isti, ali funkcionalnost okidača i odjeka pinova kombinirani su u jedan pin.
Nakon što se povežu, okidači i eho pinovi mogu se konfigurirati putem softvera. Kako bi ovaj primjer bio jednostavan, u ovom primjeru nećemo koristiti iglice prekida (ili ulazni pin za hvatanje ulaza). Korištenje određenih iglica za prekid također nam daje slobodu povezivanja modula s 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 uoči prepreku ispred sebe, okreće se (slučajni stupanj) i nastavlja se kretati naprijed. Ova bi se funkcionalnost mogla 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: Videozapis
Pogledajte video za cijeli proces.
Preporučeni:
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) Kotači - kojima se može upravljati istosmjernim motorima. 3) Noga - Nain će se moći kretati između kotača ili nogu radi kretanja. 4) Glava i
Robot s sljedbenicima koji koristi Arduino Uno i L298N: 5 koraka
Robot s sljedbenicima koji koristi Arduino Uno i L298N: Line Flower je vrlo jednostavan robot idealan za elektroniku početnike
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 dečki, dobrodošli nazad. U svom prethodnom postu objasnio sam što je krug H mosta, IC upravljački program motora L293D, integrirani sklop upravljačkog programa motora L293D za pogon visokonaponskih upravljačkih programa motora i kako možete dizajnirati i izraditi vlastitu ploču vozača motora L293D
Robot Google pomoćnika koji koristi Arduino: 3 koraka
Robot Google pomoćnika pomoću Arduina: U prošlom sam postu pokazao kako izgraditi Google asistenta u Raspberry Pi i integrirati Google pomoćnika u IFTTT. U ovom vodiču pokazat ću vam kako izgraditi robota kojim se može upravljati pomoću Google asistenta. Ne morate brinuti ako
Bluetooth mobilni robot koji koristi Arduino Uno i Android: 5 koraka
Bluetooth mobilni robot koji koristi Arduino Uno i Android: Svi vole mobilnog robota :) Ovo je komplet mobilnih robota temeljen na Maker UNO (kompatibilan s Arduino UNO). Možete naučiti elektroniku, senzore, mikrokontroler i kodiranje odjednom, da ne zaboravite i na zabavu! Komplet dolazi u labavim dijelovima pa ćete