Sisukord:

Urdraalse vältimise robot Arduino abil: 7 sammu
Urdraalse vältimise robot Arduino abil: 7 sammu

Video: Urdraalse vältimise robot Arduino abil: 7 sammu

Video: Urdraalse vältimise robot Arduino abil: 7 sammu
Video: Infrared Obstacle Avoidance module for Arduino with code 2024, November
Anonim
Image
Image
Utrasooniline vältimisrobot Arduino abil
Utrasooniline vältimisrobot Arduino abil

Selles õpetuses näitan teile, kuidas teha oma takistusi robotit vältides! Kasutame Arduino UNO plaati ja ultraheli andurit. Kui robot tuvastab enda ees objekti, skaneerib ta väikese servomootori abil ala vasakule ja paremale, et leida parim viis pöördumiseks. Sellel on ka teavitus -LED, helisignaal, mis esitab objekti tuvastamisel tooni, ja nupp roboti funktsiooni muutmiseks (peatatud/edasi liikumine).

Selle valmistamine on väga lihtne!

Samm: asjad, mis on vaja teha

Tehtud asjad!
Tehtud asjad!
Tehtud asjad!
Tehtud asjad!
Tehtud asjad!
Tehtud asjad!
Tehtud asjad!
Tehtud asjad!

Selle projekti jaoks vajate:

  1. Arduino UNO (ostke see saidilt gearbest.com)
  2. Mini leivalaud (ostke see saidilt gearbest.com)
  3. L298 mootori draiverimoodul (ostke see saidilt gearbest.com)
  4. 2x alalisvoolumootorid ratastega ultraheli anduriga HC-SR04 (ostke see saidilt gearbest.com)
  5. Mikroservomootor (ostke see saidilt gearbest.com)
  6. Nupp Punane LED 220 oomi takisti 9V akuhoidik (toitepistikuga või ilma)
  7. 8 vahetükki (mees-naine),
  8. 8 mutrit ja 8 kruvi vajate ka ühte suurt (metallist)

kirjaklamber ja helmes tagumise tugiratta valmistamiseks.

Robotibaasi jaoks kasutasin Aliexpressi Acryllic Chasist. Võite kasutada ka puidust või metallist tükki (või kahte elektrilist plaati).

Kogu projekti maksumus on umbes 20 dollarit

Tööriistad: puurmasina superliimi meeskonna juhi kuum püstoliim (valikuline) Toide:

Me kasutame oma roboti sisselülitamiseks 9 V akut, kuna see on väike ja odav, kuid see pole eriti võimas ja tühjeneb umbes ühe tunni pärast. Mõelge, kas soovite kasutada laetavat akut (min 6V, max 7V), mis on võimsam, kuid on ka kallim ja suurem kui 9V aku. Telli meie YouTube'i kanal Vajuta siia

2. samm: mõistete mõistmine

Mõistete mõistmine
Mõistete mõistmine
Mõistete mõistmine
Mõistete mõistmine
Mõistete mõistmine
Mõistete mõistmine

Eesmärk on teadvustada robotile tema ees olevaid takistusi, et ta saaks suunda muuta ja neid vältida. Eelmises artiklis panime roboti liikuma - nüüd anname talle mõningase autonoomia.

Ultraheli andur

HC-SR04 on ahel, mis suudab ultrahelilainete abil mõõta kaugust objektideni kuni 4 meetrit. See saadab ping (nagu allveelaev) ja mõõdab aega (mikrosekundites) mis tahes tagasisaatmise ja vastuvõtmise vahel. Seejärel jagatakse see aeg 2 -ga, kui laine liigub edasi -tagasi. Seejärel jagage 29 -ga, et saada kaugus sentimeetrites (või 74 tolli korral), sest heli liigub 29,4 µs sentimeetri kohta (340 m/s). Andur on väga täpne ~ 3 mm tolerantsiga ja lihtne Arduinoga integreerida.

Liidesega ultraheliandur koos AVR -mikrokontrolleriga

Igal autonoomsel robotil peaks olema takistuste vältimine ja kauguse mõõtmise andur. Infrapuna-vastuvõtja paar või halltoonide andur võivad hõlpsasti töötada takistuste tuvastamisel vahemikus 1–10 cm. Infrapunakaugusmõõturid (näiteks teravad) võivad mõõta kaugust lähimast takistusest vahemikus kuni 100 cm. Kuid IR -andureid mõjutavad päikesevalgus ja muud valgusallikad. IR -kaugusmõõturid on väiksema ulatusega ja ka kulukad. Ultraheliandurid (tuntud ka kui ultraheli lähedusandurid või geekide sonarid) täidavad mõlemaid ülesandeid mõistliku hinna ja erakordse täpsusega. Vahemik on vahemikus 3 cm kuni 350 cm, täpsusega ~ 3 mm. Sidudes ühe neist ultraheli anduritest meie robotisse, võib see toimida nii takistuste vältija kui ka kaugusemõõtja andurina.

„Ultraheli” viitab kõigele, mis ületab kuuldava heli sagedusi, ja sisaldab nominaalselt kõike üle 20 000 Hz või 20 kHz! Robootikas kasutatavad odavad ultraheli andurid töötavad tavaliselt vahemikus 40 kHz kuni 250 kHz, samas kui meditsiiniseadmetes kasutatavad andurid on kuni 10 MHz.

Samm: vajalikud tööriistad

Vajalikud tööriistad
Vajalikud tööriistad
Vajalikud tööriistad
Vajalikud tööriistad
Vajalikud tööriistad
Vajalikud tööriistad
Vajalikud tööriistad
Vajalikud tööriistad
  1. Multimeeter
  2. Leivalaud
  3. Nõela nina tangid
  4. Traadi eemaldaja
  5. Traadi lõikur
  6. Liimipüstol

Multimeeter on tegelikult lihtne seade, mida kasutatakse peamiselt pinge ja takistuse mõõtmiseks ning vooluahela sulgemise kindlakstegemiseks. Sarnaselt arvutikoodi silumisele aitab multimeeter teil elektroonilisi ahelaid siluda.

Ehitusmaterjalid

Mehaanilise raami valmistamiseks on kergesti kättesaadav õhukese puidu ja/või pleksiklaasi pakkumine. Metallid, nagu alumiinium ja teras, on sageli piiratud masinatega juurdepääsetavate metallidega, kuigi õhukest alumiiniumi saab kääridega lõigata ja käsitsi painutada. Mehaanilisi raame saab ehitada isegi majapidamistarvetest, näiteks plastmahutitest.

Kuigi on võimalik kasutada ka muid materjale, nagu plastid (peale pleksiklaaside) või eksootilisemaid materjale nagu klaaskiud ja süsinikkiud, ei käsitleta neid käesolevas juhendis. Mitmed tootjad on märkinud, et enamikul harrastajatel pole lihtne oma mehaanilisi osi toota ja nad on loonud moodulmehaanilisi osi. Liider selles valdkonnas on Lynxmotion, mis pakub laias valikus robotite disainilahendusi ja osi, mis on vajalikud teie kohandatud robotite valmistamiseks.

Käsitööriistad

Vajalikud on erinevat tüüpi ja suurusega kruvikeerajad ja tangid (sealhulgas juveliiri tööriistakomplekt: väikesed kruvikeerajad, mis on tavaliselt saadaval dollaripoodides). Samuti on oluline puur (eelistatavalt puuripress sirgete aukude jaoks). Käsisaag ehitusmaterjalide (või ruuteri) lõikamiseks on samuti oluline vara. Kui eelarve seda võimaldab, on väike lauaga lintsaag (vahemikus 200 dollarit) kindlasti kaalutlusvahend.

Jooteta leivalaud

Jooteta leivaplaat võimaldab teil optimeerida oma paigutust ja hõlpsasti komponente ühendada. Koos jootmiseta leivaplaadiga peaksite ostma eelnevalt vormitud hüppajajuhtmete komplekti, mis koosneb eelnevalt lõigatud ja painutatud juhtmetest, mis on ette nähtud kasutamiseks jooteta leivaplaadiga. See muudab ühendamise väga lihtsaks.

Väike kruvikeeraja komplekt

Need väikesed kruvikeerajad on vajalikud elektroonikaga töötamisel. Kuid ärge sundige neid liiga palju - nende suurus muudab need habrasemaks.

Tavaline kruvikeerajate komplekt

Kõik töökojad vajavad mitut tööriista või tööriistakomplekti, mis sisaldab lamedaid / ristlõikeid ja muid kruvikeerajate päid.

Nõela nina tangid

nõelatangide komplekt on väga kasulik väikeste komponentide ja osadega töötamisel ning see on väga odav lisand teie tööriistakastile. Need erinevad tavalistest tangidest, kuna jõuavad punkti, mis võib sattuda väikestesse piirkondadesse.

Traadi eemaldajad/lõikurid

Te plaanite juhtmeid katkestada, traadist eemaldaja säästab märkimisväärselt aega ja vaeva. Traadi eemaldaja, kui seda õigesti kasutada, eemaldab ainult kaabli isolatsiooni ja ei tekita mingeid vigu ega kahjusta juhtmeid. Teine alternatiiv traadist eemaldajale on käärid, kuigi lõpptulemus võib olla segane. Käärid, joonlaud, pliiats, pliiats, Exacto nuga (või muu käeshoitav lõikeriist) Need on hädavajalikud asjad igas kontoris.

4. samm: AVR -i kodeerimise juhised

AVR -i kodeerimise nõuanded
AVR -i kodeerimise nõuanded

Heli kiiruse arvutamine ultraheli andurite suhtes

Väike matemaatika, kuid ärge kartke. See on lihtsam kui arvate.

Heli kiirus kuivas õhus toatemperatuuril (~ 20 ° C) = 343 meetrit sekundis

Et helilaine lööks ja teeks edasi -tagasi reisi lähedalasuvale objektile, on = 343/2 = 171,5 m/kuna odava ultrahelisensori maksimaalne tööulatus ei ületa 5 meetrit (edasi -tagasi), oleks mõistlikum muutke ühikuid sentimeetriteks ja mikrosekunditeks.

1 meeter = 100 sentimeetrit 1 sekund = 10^6 mikrosekundit = (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 (ümardamine kahekohaliseks, et lihtsustada arvutamist)Seetõttu on impulsi objektini liikumiseks ja 1 sentimeetri võrra tagasipöördumiseks kuluv aeg 58,31 mikrosekundit.

väike taust AVR -i tsüklite kohta

AVR -i kellatsüklite mõistmiseks kulub täiesti erinev peatükk, kuid mõistame lühidalt, kuidas see meie arvutuste hõlbustamiseks toimib

Näiteks kasutame AVR Draco plaati, millel on 8-bitine AVR-Atmega328P mikrokontroller. Et asi oleks lihtne, ei muuda me mikrokontrolleri seadeid. Kaitsmeotsikuid ei puudutatud; Välist kristalli pole kinnitatud; Peavalu pole. Tehaseseadete korral töötab see sisemisel 8MHz ostsillaatoril, millel on a /8 eelskaler; Kui te sellest kõigest aru ei saa, tähendab see lihtsalt seda, et mikrokontroller töötab 1MHz sisemise RC -ostsillaatoriga ja iga taktsükkel võtab 1 mikrosekundi.

1 2 1MHz = 1000000 tsüklit sekundis Seetõttu 1s/1000000 = 1/1000000 = 1us

AVR kellad ja kauguse teisendamine

Oleme peaaegu kohal! Kui me teame, kuidas AVR -i kellatsükleid teisendada helilainete läbitud vahemaaks, on loogika rakendamine programmis lihtne.

Me teame, et ultraheli kiirus ideaalses keskkonnas on: 58,31 us/cm

Me teame, et AVR -i mikrokontrolleri eraldusvõime on 1us/taktsükkel (CLK)

Seetõttu on heli läbitud vahemaa ühe tsükli kohta (CLK) järgmine:

1 2 3 = (58,31 USA/ cm) x (1us/ clk) = 58,31 kella tsüklit/ cm või = 1/ 58,31 cm/ clk

Kui heli liikumiseks ja tagasipöördumiseks kuluvate kellatsüklite arv on teada, saame kauguse hõlpsalt välja arvutada. Näiteks kui anduril kulub liikumiseks ja tagasipöördumiseks 1000 kellatsüklit, on kaugus andurist lähima objektini = 1000/58,31 = 17,15 cm (ligikaudu)

Kas nüüd on kõigel mõtet? Ei? Lugege uuesti

Kui teil on kõik ülaltoodud loogika selge, rakendame selle reaalses stsenaariumis, ühendades odava HC-SR04 ultrahelianduri meie AVR Arduino plaadiga.

Samm: riistvaraühendused:

Riistvaraühendused
Riistvaraühendused
Riistvaraühendused
Riistvaraühendused
Riistvaraühendused
Riistvaraühendused
Riistvaraühendused
Riistvaraühendused

Arduino Board võimaldab hõlpsalt ühendada väliseid andureid ja vaadata tulemusi ka LCD -ekraanilt. Ultraheli ulatuse tuvastamiseks kasutame odavat HC-SR04 moodulit. Moodulil on 4 tihvti, mida saab ühendada mikrokontrolleri plaadiga: VCC, TRIG, ECHO ja GND.

Ühendage VCC tihvt 5 V ja GND tihvt Arduino tahvli maandusega.

TRIG -tihvti ja ECHO -tihvti saab ühendada tahvli mis tahes saadaolevate tihvtidega. Vähemalt 10us kõrge signaali saatmine tihvti käivitamiseks saadab kaheksa 40 kHz helilainet ja tõmbab kajapinge kõrgele. Kui heli põrkab lähedalasuvast objektist tagasi ja naaseb, haaratakse see vastuvõtjaanduri abil ja kajapinge tõmmatakse madalale.

Muud ultraheliandurite moodulite variandid on saadaval ka ainult 3 tihvtiga. Tööpõhimõte on endiselt sama, kuid päästiku ja kaja tihvtide funktsionaalsus on ühendatud üheks tihvtiks.

Pärast ühendamist saab käivitus- ja kajapinge konfigureerida tarkvara kaudu. Selle näite lihtsuse tagamiseks ei kasuta me selles näites katkestusnööpe (või sisendhõive tihvti). Määratud katkestusnõelte mittekasutamine annab meile ka vabaduse ühendada moodul kõigi tahvlil olevate tihvtidega.

6. samm: kood

Allolev kood sisaldab ainult „ultraheli” laiendit alalisvoolumootori juhtimiseks, kasutades eelmise artikli H-silda. Kui robot tuvastab ees oleva takistuse, pöörab ta ringi (juhuslikult) ja jätkab edasiliikumist. Seda funktsionaalsust saab hõlpsasti laiendada, et hoida samaaegselt pööret ja avastada takistusi - nii ei pööraks robot juhuslikult, vaid hakkab edasi liikuma alles siis, kui objekti ei tuvastata.

Koodi selgituse saamiseks vaadake Youtube'i videot, mis on kanalil loetletud.

Samm: video

Vaadake videot kogu protsessi jaoks.

Soovitan: