Talaan ng mga Nilalaman:

Utrasonic Pag-iwas sa Robot Paggamit ng Arduino: 7 Hakbang
Utrasonic Pag-iwas sa Robot Paggamit ng Arduino: 7 Hakbang

Video: Utrasonic Pag-iwas sa Robot Paggamit ng Arduino: 7 Hakbang

Video: Utrasonic Pag-iwas sa Robot Paggamit ng Arduino: 7 Hakbang
Video: Using 28BYJ-48 Stepper Motor Push button Speed with 8 projects: Ultimate Video Tutorial Lesson 107 2024, Nobyembre
Anonim
Image
Image
Utrasonic Pag-iwas sa Robot Gamit ang Arduino
Utrasonic Pag-iwas sa Robot Gamit ang Arduino

Sa tutorial na ito, ipapakita ko sa iyo kung paano gumawa ng iyong sariling balakid sa pag-iwas sa robot! Gagamitin namin ang Arduino UNO board at isang ultrasonic sensor. Kung ang robot ay nakakita ng isang bagay sa harap nito, sa tulong ng isang maliit na servo motor, sinusuri nito ang lugar sa kaliwa at kanan upang makahanap ng pinakamahusay na paraan upang lumiko. Mayroon din itong LED notification, isang buzzer upang magpatugtog ng isang tono kapag ang isang bagay ay napansin at isang pindutan para sa pagbabago ng pagpapaandar ng robot (huminto / sumulong).

Napakadaling gawin ito!

Hakbang 1: Mga Bagay na Nedded na Gawin

Mga bagay na Nedded na Gawin!
Mga bagay na Nedded na Gawin!
Mga bagay na Nedded na Gawin!
Mga bagay na Nedded na Gawin!
Mga bagay na Nedded na Gawin!
Mga bagay na Nedded na Gawin!
Mga bagay na Nedded na Gawin!
Mga bagay na Nedded na Gawin!

Para sa proyektong ito kakailanganin mo:

  1. Arduino UNO (bilhin ito mula sa gearbest.com)
  2. Mini breadboard (bilhin ito mula sa gearbest.com)
  3. L298 module ng driver ng motor (bilhin ito mula sa gearbest.com)
  4. 2x dc motors na may gulong HC-SR04 ultrasonic sensor (bilhin ito mula sa gearbest.com)
  5. Micro servo motor (bilhin ito mula sa gearbest.com)
  6. Button Red LED220 Ohm resistor9V na may hawak ng baterya (mayroon o walang power jack)
  7. 8 spacers (lalaki-babae),
  8. 8 nut at 8 screws kakailanganin mo rin ang isang malaki (metal)

paperclip at isang butil upang gawin ang likod na sumusuporta sa gulong.

Para sa base ng robot, gumamit ako ng isang Acryllic Chasis mula sa Aliexpress. Maaari mo ring gamitin ang isang piraso ng kahoy o metal (o dalawang mga electrical plate).

Ang gastos ng buong proyekto ay tungkol sa 20 $

Mga tool: Super drue machine driver ng drayber ng mainit na kola ng gun (opsyonal) Lakas:

Gumagamit kami ng isang 9V na baterya upang mapatakbo sa aming robot dahil maliit at murang ito, ngunit hindi ito napakalakas at walang laman pagkatapos ng halos isang oras. Isaalang-alang kung nais mong gumamit ng isang rechargeable na baterya pack (min 6V, max 7V) na magiging mas malakas ngunit ito ay magiging mas mahal at mas malaki kaysa sa 9V na baterya. Mag-subscribe Ang aming Channel sa YouTube Mag-click Dito

Hakbang 2: Pag-unawa sa Mga Konsepto

Pag-unawa sa Mga Konsepto
Pag-unawa sa Mga Konsepto
Pag-unawa sa Mga Konsepto
Pag-unawa sa Mga Konsepto
Pag-unawa sa Mga Konsepto
Pag-unawa sa Mga Konsepto

Ang layunin ay upang magkaroon ng kamalayan ang robot ng mga hadlang sa harap niya, upang mabago niya ang direksyon at maiwasan ang mga ito. Sa nakaraang artikulo ginawa namin ang paglipat ng robot - ngayon bibigyan namin siya ng ilang pagsasarili.

Ultrasonic sensor

Ang HC-SR04 ay isang circuit na kayang sukatin ang isang distansya sa mga bagay hanggang sa 4 na metro gamit ang mga ultrasonikong alon. Nagpapadala ito ng isang ping (tulad ng isang submarine) at sinusukat ang oras (sa microseconds) sa pagitan ng pagpapadala at pagtanggap ng anumang babalik. Ang oras na ito pagkatapos ay nahahati sa 2 habang ang alon ay naglalakbay pabalik-balik. At pagkatapos ay hatiin ng 29 upang makakuha ng isang distansya sa sentimetro (o 74 para sa pulgada), dahil ang tunog ay naglalakbay ng 29.4µs kada sentimeter (340 m / s). Ang sensor ay napaka-tumpak na may ~ 3 mm pagpapaubaya at madaling isama sa Arduino.

Ang interface ng Ultrasonic Sensor ay may AVR Microcontroller

Anumang autonomous na robot ay dapat magkaroon ng pag-iwas sa balakid at isang nakakabit na sensor ng distansya sa pagsukat. Ang isang pares ng IR transceiver o isang grayscale sensor ay madaling gumana para sa pagtuklas ng balakid sa saklaw na 1cm-10cm. Ang mga IR rangefinder (halimbawa mga mula sa matalim) ay maaaring sukatin ang isang distansya sa pinakamalapit na balakid na may saklaw na hanggang sa 100cm. Gayunpaman, ang mga IR sensor ay apektado ng sikat ng araw at iba pang mga mapagkukunan ng ilaw. Ang mga IR rangefinder ay may mas kaunting saklaw at mahal din para sa kung ano ang ginagawa nito. Ang mga sensor ng ultrasonic (kilala rin bilang ultrasonic proximity sensors o sonar para sa geeks) ay parehong ginagawa ang mga gawaing ito sa isang makatuwirang gastos at pambihirang kawastuhan. Ang saklaw ay anumang bagay sa pagitan ng 3 cm hanggang 350cm na may katumpakan na ~ 3mm. Ang pagtali ng isa sa mga ultrasonikong sensor sa aming robot, maaari itong kumilos bilang parehong isang balakid sa pag-iwas at isang distansya na pagsukat ng sensor.

Ang tunog na "Ultrasonic" ay tumutukoy sa anumang nasa itaas ng mga frequency ng maririnig na tunog, at nominally na may kasamang anumang higit sa 20, 000 Hz, o 20kHz! Ang mga murang Ultrasonic sensor na ginagamit para sa robotics sa pangkalahatan ay gumagana sa isang saklaw na 40 kHz hanggang 250 kHz habang ang mga ginamit sa kagamitan sa medisina ay umabot sa 10Mhz.

Hakbang 3: Kailangan ng Mga Tool

Kailangan ng mga tool
Kailangan ng mga tool
Kailangan ng mga tool
Kailangan ng mga tool
Kailangan ng mga tool
Kailangan ng mga tool
Kailangan ng mga tool
Kailangan ng mga tool
  1. Multimeter
  2. Breadboard
  3. Mga karayom sa ilong
  4. Wire Stripper
  5. Pamutol ng Wire
  6. Pandikit Baril

Ang Multimeter Ang Multimeter ay talagang isang simpleng aparato na ginagamit pangunahin upang sukatin ang boltahe at paglaban at upang matukoy kung sarado ang isang circuit. Katulad ng pag-debug ng computer code, tinutulungan ka ng Multimeter na "i-debug" ang iyong mga electronic circuit.

Mga Kagamitan sa Pagtatayo

Ang isang madaling magagamit na supply ng manipis na kahoy at / o Plexiglas upang gawin ang mekanikal na frame ay lubhang kapaki-pakinabang. Ang mga metal tulad ng aluminyo at bakal ay madalas na pinaghihigpitan sa mga may access sa isang machine shop bagaman ang manipis na aluminyo ay maaaring putulin ng mga gupit at baluktot ng kamay. Ang mga mekanikal na frame ay maaaring maitayo mula sa mga gamit sa bahay tulad ng mga lalagyan na plastik.

Bagaman posible ang iba pang mga materyales tulad ng mga plastik (bukod sa Plexiglas), o mas maraming mga kakaibang materyales tulad ng fiberglass at carbon fiber, hindi ito isasaalang-alang sa gabay na ito. Maraming mga tagagawa ang nabanggit na hindi madali para sa karamihan sa mga hobbyist na gumawa ng kanilang sariling mga piyesa sa makina at lumikha ng mga modular na mekanikal na bahagi. Ang isang namumuno dito ay ang Lynxmotion na nag-aalok ng isang malawak na hanay ng mga robotic na disenyo pati na rin ang mga bahagi na kinakailangan upang makagawa ng iyong sariling pasadyang mga robot.

Mga Kasangkapan sa Kamay

Mga screwdriver at plier ng iba't ibang uri at sukat (kabilang ang mga tool ng alahas: mga maliit na distornilyador na karaniwang magagamit sa mga tindahan ng dolyar) ay kinakailangan. Ang isang drill (mas mabuti ang isang drill press para sa mga tuwid na butas) ay mahalaga din. Ang isang kamay na lagari para sa pagputol ng mga materyales sa gusali (o isang router) ay isang mahalagang pag-aari din. Kung pinapayagan ang badyet, isang maliit na tabletop band saw ($ 200 na saklaw) ay tiyak na isang tool upang isaalang-alang.

Solderless Breadboard

Pinapayagan ka ng isang solderless breadboard na i-optimize ang iyong layout at kumonekta nang madali sa mga bahagi. Kasama ang isang solderless breadboard, dapat kang bumili ng isang paunang nabuo na jumper wire kit na binubuo ng pre-cut at baluktot na mga wire na inilaan upang magamit sa isang solderless breadboard. Ginagawa nitong napakadali ng mga koneksyon.

Itinakda ang maliit na distornilyador

Ang mga maliliit na screwdriver na ito ay kinakailangan kapag nagtatrabaho sa electronics. Gayunpaman, huwag pilitin silang labis - ang kanilang laki ay ginagawang mas marupok.

Itinakda ang regular na distornilyador

Ang lahat ng mga pagawaan ay nangangailangan ng isang multi-tool o toolet na may kasamang mga flat / Phillips at iba pang mga ulo ng birador.

Mga karayom sa ilong

Ang hanay ng mga karayom na ilong ng ilong ay hindi kapani-paniwalang kapaki-pakinabang kapag nagtatrabaho kasama ng maliliit na bahagi at bahagi at napakamurang karagdagan sa iyong toolbox. Ang mga ito ay naiiba mula sa regular na pliers sapagkat dumating sila sa isang punto na maaaring makapunta sa maliliit na lugar.

Mga striper / pamutol ng wire

Nagpaplano kang i-cut ang anumang mga wire, isang wire stripper ay makatipid sa iyo ng sapat na oras at pagsisikap. Ang isang wire stripper, kapag ginamit nang maayos, ay aalisin lamang ang isang pagkakabukod ng cable at hindi makagawa ng anumang mga kink o makakasira sa mga conductor. Ang iba pang kahalili sa isang wire stripper ay isang pares ng gunting, kahit na ang resulta ay maaaring maging magulo. Gunting, pinuno, panulat, lapis ng marker, Exacto na kutsilyo (o iba pang tool sa paggupit ng handheld) Ito ang mga mahahalaga sa anumang tanggapan.

Hakbang 4: Mga Pagtanggap para sa Codeing AVR

Mga Pagtanggap para sa Codeing AVR
Mga Pagtanggap para sa Codeing AVR

Kinakalkula ang bilis ng tunog na may kaugnayan sa mga ultrasonic sensor

Maliit na matematika, ngunit huwag matakot. Ito ay mas simple kaysa sa iniisip mo.

Ang bilis ng tunog sa tuyong hangin sa temperatura ng kuwarto (~ 20 ° C) = 343 metro / segundo

Para sa tunog na alon na tumama at gumawa ng isang pag-ikot sa malapit na bagay ay = 343/2 = 171.5 m / dahil ang maximum na saklaw ng isang murang ultrasonic sensor ay hindi hihigit sa 5 metro (pag-ikot), magiging mas katuturan sa baguhin ang mga yunit sa sentimetro at microseconds.

1 Meter = 100 centimeter1 segundo = 10 ^ 6 microseconds = (s / 171.5) x (m / 100 cm) x ((1x10 ^ 6) / s) = (1 / 171.5) x (1/100) x (1000000 / 1) = 58.30903790087464 sa amin / cm = 58.31 sa amin / cm (pag-ikot sa dalawang digit upang gawing mas madali ang mga kalkulasyon)Samakatuwid, ang oras na ginugol para sa isang pulso upang maglakbay sa isang bagay at bounce back 1 sentimeter ay 58.31 microseconds.

ang maliit na background sa mga cycle ng orasan ng AVR

Ito ay tumatagal ng isang ganap na magkakaibang kabanata upang maunawaan ang mga cycle ng orasan ng AVR, ngunit madaling maiintindihan namin kung paano ito gumagana upang gawing mas madali ang aming mga kalkulasyon

Para sa aming halimbawa, gagamitin namin ang board ng AVR Draco na mayroong isang 8-bit AVR - Atmega328P microcontroller. Upang mapanatili ang mga bagay na simple, hindi namin mai-tweak ang mga setting ng isang microcontroller. Walang mga piyus ng piyus na hinawakan; Walang nakalakip na panlabas na kristal; Walang sakit sa ulo. Sa mga setting ng pabrika, tumatakbo ito sa isang panloob na 8MHz oscillator na may isang / 8 prescaler; Kung hindi mo maintindihan ang lahat ng ito, nangangahulugan lamang ito na tumatakbo ang microcontroller sa 1MHz panloob na RC Oscillator at ang bawat pag-ikot ng orasan ay tumatagal ng 1 microsecond.

1 2 1MHz = ng 1000000 na siklo bawat segundo Samakatuwid, 1s / 1000000 = 1/1000000 = 1us

Mga orasan ng AVR at conversion ng distansya

Malapit na tayo! Kapag nalalaman na natin kung paano i-convert ang mga AVR na cycle ng orasan sa distansya na nalalakbay ng mga sound wave, madali ang pagpapatupad ng lohika sa isang programa.

Alam namin ang bilis ng tunog ng ultrasonic sa ideal na kapaligiran ay: 58.31 sa amin / cm

Alam namin na ang resolusyon ng AVR microcontroller ay 1us / cycle ng orasan (CLK)

Samakatuwid, ang distansya na nilakbay ng tunog bawat cycle ng orasan (CLK) ay:

1 2 3 = (58.31 us / cm) x (1us / clk) = 58.31 cycle ng orasan / cm o = 1 / 58.31 cm / clk

Kung ang bilang ng mga pag-ikot ng orasan na kinakailangan para sa tunog upang maglakbay at bounce back ay kilala, madali nating makalkula ang distansya. Halimbawa

May katuturan ba ang lahat ngayon? Hindi? Basahin mo ulit

Kung malinaw ka sa lahat ng lohika na nabanggit sa itaas, ipapatupad namin ito sa isang pangyayari sa real-world sa pamamagitan ng pagkonekta ng isang murang HC-SR04 ultrasonic sensor sa aming lupon ng AVR Arduino.

Hakbang 5: Mga Koneksyon sa Hardware:

Mga Koneksyon sa Hardware
Mga Koneksyon sa Hardware
Mga Koneksyon sa Hardware
Mga Koneksyon sa Hardware
Mga Koneksyon sa Hardware
Mga Koneksyon sa Hardware
Mga Koneksyon sa Hardware
Mga Koneksyon sa Hardware

Madaling gawin ng Arduino Boardmakes na kumonekta sa anumang mga panlabas na sensor at tingnan din ang mga resulta sa LCD. Para sa pandama ng saklaw ng ultrasonic, gumagamit kami ng isang murang module na HC-SR04. Ang module ay may 4 na mga pin na maaaring konektado sa board ng microcontroller: VCC, TRIG, ECHO, at GND.

Ikonekta ang VCC pin sa 5V at GND pin sa lupa sa Arduino board.

Ang TRIG pin at ECHO pin ay maaaring konektado sa anumang magagamit na mga pin sa board. Ang pagpapadala ng isang minimum na 10us na 'mataas' na signal upang ma-trigger ang pin ay nagpapadala ng walong 40 kHz na mga sound wave at hinihila ang echo pin na mataas. Kung ang tunog ay tumalbog sa isang kalapit na bagay at bumalik, nakukuha ito sa pamamagitan ng pagtanggap ng transducer at ang echo pin ay hinila na 'mababa'.

Ang iba pang mga pagkakaiba-iba ng mga module ng ultrasonic sensor ay magagamit din sa 3 mga pin lamang. Ang prinsipyo ng pagtatrabaho ay pareho pa rin, ngunit ang pag-andar ng mga gatilyo at echo pin ay pinagsama sa isang solong pin.

Kapag nakakonekta, ang Trigger at Echo Pins ay maaaring mai-configure sa pamamagitan ng software. Upang mapanatili ang halimbawang ito na simple, hindi kami gagamit ng anumang mga nakakagambalang mga pin (o Input Capture Pin) sa halimbawang ito. Ang hindi paggamit ng itinalagang mga nakakagambala na pin ay nagbibigay din sa amin ng kalayaan upang ikonekta ang module sa anumang magagamit na mga pin sa board.

Hakbang 6: Code

Ang code Ang code sa ibaba ay naglalaman lamang ng isang "ultrasonic" na extension sa DC motor control gamit ang isang H-Bridge mula sa naunang artikulo. Kapag nakakita ang robot ng isang balakid sa harap nito, siya ay lumingon (random degree) at patuloy na sumulong. Ang pag-andar na ito ay maaaring madaling mapalawak upang mapanatili ang pag-on at pagtuklas ng mga hadlang sa parehong oras - sa gayon ang robot ay hindi bubukas nang sapalaran, ngunit magsisimulang sumulong lamang kapag walang nakita na bagay.

Para sa Paliwanag sa Code Sumangguni sa Video sa Youtube Nakalista sa Channel.

Hakbang 7: Video

Panoorin ang Video Para sa Buong Proseso.

Inirerekumendang: