- Kinakailangan ng Component:
- Assembly of Floor Cleaner Robot:
- Mga Kable at Koneksyon:
- Paliwanag sa Programing:
Ang mga awtomatikong tagapaglinis ng sahig ay hindi bago, ngunit lahat sila ay nagbabahagi ng isang karaniwang problema. Masyadong mahal ang lahat sa kanilang ginagawa. Ngayon, gagawa kami ng isang Awtomatikong Home cleaning Robot na nagkakahalaga lamang ng isang maliit na bahagi ng mga nasa merkado. Ang Robot na ito ay maaaring makakita ng mga hadlang at bagay sa harap nito at maaaring magpatuloy sa paggalaw, pag-iwas sa mga hadlang, hanggang sa malinis ang buong silid. Mayroon itong maliit na brush na nakakabit dito upang linisin ang sahig.
Suriin din ang aming Smart Vacuum Cleaning Robot gamit ang Arduino
Kinakailangan ng Component:
- Arduino UNO R3.
- Ultrasonic Sensor.
- Kalasag ng Arduino Motor Driver.
- Wheel Drive Robot Chassis.
- Computer sa Program ang Arduino.
- Baterya para sa Mga Motors.
- Isang Power Bank Upang Mapagana ang Arduino
- Isang Sikat na Sapatos.
- Isang Scotch Brite Scrub Pad.
Tandaan: Sa halip na gumamit ng mga baterya, maaari mo ring gamitin ang isang mahabang 4-maiiwan tayo na kawad tulad ng ginawa namin. Kahit na ito ay hindi isang napaka-elegante o praktikal na solusyon ngunit magagawa mo kung hindi mo planong gamitin ito sa totoong mundo araw-araw. Tiyaking sapat ang haba ng kable.
Bago magpunta sa detalye ay hinahayaan na talakayin muna ang tungkol sa Ultrasonic.
HC-SR04 Ultrasonic Sensor:
Ginagamit ang Ultrasonic Sensor upang sukatin ang distansya na may mataas na kawastuhan at matatag na pagbabasa. Maaari itong sukatin ang distansya mula 2cm hanggang 400cm o mula sa 1 pulgada hanggang 13 talampakan. Nagpapalabas ito ng isang ultrasound wave sa dalas ng 40KHz sa hangin at kung ang bagay ay darating sa kanyang paraan pagkatapos ay babalik ito pabalik sa sensor. Sa pamamagitan ng paggamit ng oras na iyon na kinakailangan upang maabot ang bagay at bumalik, maaari mong kalkulahin ang distansya.
Gumagamit ang ultrasonic sensor ng diskarteng tinatawag na "ECHO". Ang "ECHO" ay isang nakalarawan na alon ng tunog. Magkakaroon ka ng isang ECHO kapag ang tunog ay sumasalamin pabalik pagkatapos maabot ang isang patay na dulo.
Ang module ng HCSR04 ay bumubuo ng isang tunog panginginig sa saklaw ng ultrasonic kapag ginawa naming mataas ang pin na 'Trigger' para sa halos 10us na magpapadala ng isang 8 cycle sonic na sumabog sa bilis ng tunog at pagkatapos na maabot ang bagay, tatanggapin ito ng Echo pin. Nakasalalay sa oras na kinuha ng tunog panginginig upang makabalik, nagbibigay ito ng naaangkop na output ng pulso. Kung ang bagay ay malayo pagkatapos ay tumatagal ng mas maraming oras upang marinig ang ECHO at ang lapad ng output pulse ay malaki. At kung ang balakid ay malapit, kung gayon ang ECHO ay maririnig nang mas mabilis at ang lapad ng output pulse ay magiging mas maliit.
Maaari nating kalkulahin ang distansya ng bagay batay sa oras na kinuha ng ultrasonikong alon upang bumalik sa sensor. Dahil ang oras at bilis ng tunog ay nalalaman maaari nating kalkulahin ang distansya sa pamamagitan ng mga sumusunod na formula.
Distansya = (Oras x Bilis ng Tunog sa Hangin (343 m / s)) / 2.
Ang halaga ay nahahati sa dalawa dahil ang alon ay naglalakbay pasulong at paatras na sumasaklaw sa parehong distansya. Sa gayon ang oras upang maabot ang balakid ay kalahati lamang ng kabuuang oras na ginugol
Kaya Distansya sa sentimeter = 17150 * T
Nakagawa kami dati ng maraming kapaki-pakinabang na proyekto gamit ang Ultrasonic sensor at Arduino, suriin ang mga ito sa ibaba:
- Pagsukat sa Distansya na Batay sa Arduino gamit ang Ultrasonic Sensor
- Door Alarm gamit ang Arduino at Ultrasonic Sensor
- IOT Batay sa Pagsubaybay sa Dumpster gamit ang Arduino
Assembly of Floor Cleaner Robot:
I-mount ang Arduino sa chassis. Tiyaking hindi ka nag-iikot sa anumang bagay kung ang iyong tsasis ay gawa sa metal. Mahusay na ideya na kumuha ng isang kahon para sa Arduino at ang kalasag ng motor controller. I-secure ang mga motor sa mga gulong at chassis gamit ang mga turnilyo. Ang iyong chassis ay dapat magkaroon ng mga pagpipilian upang magawa ito mula sa pabrika, ngunit kung hindi, maaari kang makagawa ng ibang solusyon. Ang Epoxy ay hindi isang masamang ideya. I-mount ang brush ng sapatos sa harap ng tsasis. Gumamit kami ng isang kumbinasyon ng M-Seal epoxy at drilled screws para dito, kahit na maaari mong gamitin ang anumang iba pang solusyon na maaaring mas madali para sa iyo. I-mount ang Scotch Brite scrub pad sa likod ng brush. Gumamit kami ng isang baras na tatawid sa chassis na humahawak nito sa pag-play, kahit na hindi rin ito maiiwasan. Ang isang baras na puno ng spring ay maaaring magamit upang samahan ito. I-mount ang mga baterya (o mga kable sa likod ng tsasis).Ang epoxy o may hawak ng baterya ay mabuting paraan upang magawa ito. Hindi rin masama ang mainit na pandikit.
Mga Kable at Koneksyon:
Ang circuit para sa Awtomatikong Home Home Robot na ito ay napaka-simple. Ikonekta ang sensor ng Ultrasonic sa Arduino tulad ng nabanggit sa ibaba at ilagay ang kalasag ng Motor Driver sa Arduino tulad ng anumang iba pang kalasag.
Ang Trig pin ng Ultrasonic ay konektado sa ika-12 pin sa Arduino, ang Echo pin ay konektado sa ika-13 na pin, ang boltahe na pin sa 5V pin at ang Ground pin sa ground pin. Pinapayagan ng Echo pin at Trig pin ang Arduino na makipag-usap sa sensor. Ang kapangyarihan ay naihatid sa sensor sa pamamagitan ng boltahe at mga pin na Ground, at pinapayagan ka ng Trig at Echo pin na magpadala at tumanggap ng data sa Arduino. Matuto nang higit pa tungkol sa Interfacing Ultrasonic sensor na may Arduino dito.
Ang kalasag ng motor ay dapat magkaroon ng hindi bababa sa 2 output, at dapat silang konektado sa iyong 2 motor. Karaniwan, ang mga output na ito ay may label na "M1" at "M2" o "Motor 1" at "Motor 2". I-wire ang iyong baterya at power bank hanggang sa kalasag ng motor at Arduino ayon sa pagkakabanggit. Huwag tawagan ang mga ito. Ang iyong motor shield ay dapat magkaroon ng isang input channel. Kung gumagamit ka ng mga wires, ikonekta ang mga ito sa mga adaptor ng AC.
Paliwanag sa Programing:
Buksan ang Arduino IDE. I-paste ang kumpletong Arduino code, na ibinigay sa pagtatapos ng tutorial na ito, sa IDE. Ikonekta ang iyong Arduino sa computer. Piliin ang port sa Tools / Port. I-click ang upload button.
Subukan ang robot. Kung lumiliko ito ng napakaliit o labis, mag-eksperimento sa mga pagkaantala hanggang sa maging perpekto.
Bago pumunta sa code, kailangan naming i-install ang Adafruit Motor Shield Library upang himukin ang mga DC motor. Dahil ginagamit namin ang kalasag ng driver ng L293D motor, kailangan naming i-download ang AFmotor Library mula dito. Pagkatapos ay idagdag ito sa iyong folder ng library ng Arduino IDE. Tiyaking pinalitan mo itong pangalan sa AFMotor . Matuto nang higit pa tungkol sa pag-install ng library na ito.
Madali ang code at madaling maiintindihan, ngunit narito ipinaliwanag namin ang ilang bahagi nito:
Nasa ibaba ang code ang pag-set up ng robot. Una ay isinama namin ang Adafruit Library para sa pagmamaneho ng mga motor na may kalasag sa driver ng Motor. Pagkatapos nito, tinukoy namin ang Trig pin at Echo pin. Nagtatakda din ito ng mga motor. Itinatakda nito ang Trig pin sa output at ang Echo pin upang mag-input.
#include #define trigPin 12 #define echoPin 13 AF_DCMotor motor1 (1, MOTOR12_64KHZ); AF_DCMotor motor2 (2, MOTOR12_8KHZ); void setup () {pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); }
Sinasabi sa ibaba ng code ang Arduino na i-loop ang mga sumusunod na utos. Pagkatapos nito, gumagamit ito ng sensor upang magpadala at makatanggap ng mga tunog na ultrasonic. Kinakalkula nito ang distansya na ito ay mula sa bagay sa sandaling ang mga ultrasonong alon ay tumatalbog pabalik, pagkatapos tandaan na ang bagay ay nasa loob ng itinakdang distansya, sinabi nito sa Arduino na paikutin ang mga motor nang naaayon.
void loop () {mahabang tagal, distansya; digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, MATAAS); delayMicroseconds (10); digitalWrite (trigPin, LOW); tagal = pulseIn (echoPin, HIGH); distansya = (tagal / 2) / 29.1; kung (distansya <20) {motor1.setSpeed (255); motor2.setSpeed (0); motor1.run (BACKWARD); motor2.run (BACKWARD); pagkaantala (2000); // BAGUHIN ITO AYON SA PAANO ANG ROBOT TURNS.
Ginagawa nitong pag-ikot ng robot sa pamamagitan ng pag-ikot ng isang motor at pagpapanatiling hindi dumadaloy.
Sa ibaba ng code ay ginagalaw ng robot ang parehong mga motor sa parehong direksyon upang maisulong ito hanggang sa makita nito ang isang bagay sa nabanggit na hangganan.
iba pa {motor1.setSpeed (160); // BAGUHIN ITO AYON SA PAANO MAGPabilis ang iyong ROBOT DAPAT PUMUNTA. motor2.setSpeed (160); // PALITIN ITO SA PAREHONG HALAGA KUNG INILAGAY MO SA ITAAS. motor1.run (FORWARD); motor2.run (FORWARD); }