- Nepieciešamais komponents:
- Grīda tīrītāja robota montāža:
- Elektroinstalācija un savienojumi:
- Programmēšanas skaidrojums:
Automātiskie grīdas tīrīšanas līdzekļi nav nekas jauns, taču tiem visiem ir kopīga problēma. Viņi visi ir pārāk dārgi tam, ko viņi dara. Šodien mēs izgatavosim automātisku mājas tīrīšanas robotu, kas maksā tikai nelielu daļu no tirgū esošajiem. Šis robots var noteikt šķēršļus un priekšmetus, kas atrodas tā priekšā, un var turpināt pārvietoties, izvairoties no šķēršļiem, līdz visa telpa ir iztīrīta. Tam ir piestiprināta neliela birste, lai notīrītu grīdu.
Pārbaudiet arī mūsu viedo putekļu tīrīšanas robotu, izmantojot Arduino
Nepieciešamais komponents:
- Arduino UNO R3.
- Ultraskaņas sensors.
- Arduino motora draivera vairogs.
- Piedziņas robotu šasija.
- Dators, lai programmētu Arduino.
- Akumulators motoriem.
- Strāvas banka, kas darbojas Arduino
- Apavu birste.
- Skotu Brite skrubis.
Piezīme: Tā vietā, lai izmantotu akumulatorus, varat izmantot arī garu 4-dzīslu vadu, kā mēs to darījām. Lai gan tas nav pārāk elegants vai praktisks risinājums, bet jūs varat to darīt, ja neplānojat to izmantot reālajā pasaulē katru dienu. Pārliecinieties, ka kabeļa garums ir pietiekams.
Pirms iedziļināties sīkāk, vispirms apspriedīsimies par ultraskaņu.
HC-SR04 ultraskaņas sensors:
Ultraskaņas sensoru izmanto, lai mērītu attālumu ar augstu precizitāti un stabiliem rādījumiem. Tas var izmērīt attālumu no 2 cm līdz 400 cm vai no 1 collas līdz 13 pēdām. Tas gaisā izstaro ultraskaņas viļņu frekvenci 40KHz, un, ja objekts nonāks ceļā, tas atgriezīsies pie sensora. Izmantojot laiku, kas nepieciešams objekta sitienam un atgriešanās brīdim, jūs varat aprēķināt attālumu.
Ultraskaņas sensors izmanto paņēmienu, ko sauc par “ECHO”. “ECHO” ir vienkārši atspoguļots skaņas vilnis. Jums būs ECHO, kad pēc strupceļa sasniegšanas skaņa atspoguļosies atpakaļ.
HCSR04 modulis ģenerē skaņas vibrāciju ultraskaņas diapazonā, kad mēs izveidojam 'Trigger' tapu augstu apmēram 10us, kas ar skaņas ātrumu nosūtīs 8 ciklu skaņas sprādzienu, un pēc objekta sitiena to saņems Echo pin. Atkarībā no laika, kas nepieciešams, lai atgrieztos skaņas vibrācija, tas nodrošina atbilstošu impulsu izvadi. Ja objekts atrodas tālu, ECHO dzirdēšanai nepieciešams vairāk laika, un izejas impulsa platums būs liels. Un, ja šķērslis ir tuvu, ECHO dzirdēs ātrāk un izejas impulsa platums būs mazāks.
Mēs varam aprēķināt objekta attālumu, pamatojoties uz laiku, kas nepieciešams ultraskaņas viļņiem, lai atgrieztos atpakaļ pie sensora. Tā kā ir zināms skaņas laiks un ātrums, attālumu varam aprēķināt pēc šādām formulām.
Attālums = (laiks x skaņas ātrums gaisā (343 m / s)) / 2.
Vērtība tiek dalīta ar divām, jo vilnis pārvietojas uz priekšu un atpakaļ, veicot to pašu attālumu. Tādējādi šķēršļa sasniegšanas laiks ir tikai puse no kopējā patērētā laika
Tātad attālums centimetros = 17150 * T
Iepriekš mēs esam izveidojuši daudz noderīgu projektu, izmantojot šo ultraskaņas sensoru un Arduino, pārbaudiet tos zemāk:
- Arduino bāzes attāluma mērīšana, izmantojot ultraskaņas sensoru
- Durvju trauksme, izmantojot Arduino un ultraskaņas sensoru
- IOT balstīta atkritumu savākšanas uzraudzība, izmantojot Arduino
Grīda tīrītāja robota montāža:
Uzmontējiet Arduino uz šasijas. Pārliecinieties, ka nekas nav īssavienots, ja jūsu šasija ir izgatavota no metāla. Ir laba ideja iegūt kastīti Arduino un motora kontroliera vairogam. Nostipriniet motorus ar riteņiem un šasiju, izmantojot skrūves. Jūsu šasijai vajadzētu būt iespējām to darīt no rūpnīcas, taču, ja tas nenotiek, varat improvizēt citu risinājumu. Epoksīds nav slikta ideja. Uzmontējiet apavu suku šasijas priekšpusē. Šim nolūkam mēs izmantojām M-Seal epoksīda un urbtu skrūvju kombināciju, lai gan jūs varat izmantot jebkuru citu risinājumu, kas jums varētu būt vienkāršāks. Aiz otas piestipriniet Scotch Brite skrubja spilventiņu. Mēs izmantojām vārpstu, kas iet pāri šasijai, kas tur to spēlē, lai gan tas ir arī improvizējams. Pavadīšanai var izmantot atsperes vārpstu. Uzstādiet baterijas (vai kabeļus šasijas aizmugurē).Epoksīds vai akumulatora turētājs ir labs veids, kā to izdarīt. Arī karstā līme nav slikta.
Elektroinstalācija un savienojumi:
Šī automātiskā mājas tīrīšanas robota shēma ir ļoti vienkārša. Pievienojiet ultraskaņas sensoru Arduino, kā minēts zemāk, un tāpat kā jebkuru citu vairogu, novietojiet motora draivera vairogu uz Arduino.
Ultraskaņas Trig tapa ir savienota ar Arduino 12. kontaktu, Echo tapa ir savienota ar 13. kontaktu, sprieguma tapa ar 5 V kontaktu un Ground tapa ar zemes tapu. Echo pin un Trig pin ļauj Arduino sazināties ar sensoru. Jauda tiek piegādāta sensoram caur sprieguma un zemes tapām, un Trig un Echo tapas ļauj tam nosūtīt un saņemt datus ar Arduino. Uzziniet vairāk par ultraskaņas sensora saskarni ar Arduino šeit.
Motora vairogam jābūt vismaz 2 izvadiem, un tiem jābūt savienotiem ar jūsu diviem motoriem. Parasti šīs izejas tiek apzīmētas ar “M1” un “M2” vai “Motor 1” un “Motor 2”. Savienojiet akumulatorus un strāvas banku attiecīgi līdz motora vairogam un Arduino. Nekrustojiet tos. Motora vairogam jābūt ar ievades kanālu. Ja izmantojat vadus, pievienojiet tos maiņstrāvas adapteriem.
Programmēšanas skaidrojums:
Atveriet Arduino IDE. Ielīmējiet pilnu Arduino kodu, kas norādīts šīs apmācības beigās, IDE. Pievienojiet savu Arduino datoram. Rīkos / portā atlasiet portu. Noklikšķiniet uz augšupielādes pogas.
Pārbaudi robotu. Ja tas pagriežas pārāk maz vai pārāk daudz, eksperimentējiet ar kavēšanos, līdz tā ir ideāla.
Pirms iedziļināšanās kodā mums ir jāinstalē Adafruit Motor Shield bibliotēka, lai darbinātu līdzstrāvas motorus. Tā kā mēs izmantojam L293D motora draivera vairogu, mums šeit jālejupielādē AFmotor Library. Pēc tam pievienojiet to mapei Arduino IDE bibliotēka. Pārdēvējiet to par AFMotor . Uzziniet vairāk par šīs bibliotēkas instalēšanu.
Kods ir viegli un viegli saprotams, taču šeit mēs izskaidrojām dažas tā daļas:
Zem koda tiek iestatīts robots. Vispirms mēs esam iekļāvuši Adafruit bibliotēku, lai vadītu motorus ar Motora vadītāja aizsargu. Pēc tam mēs definējām Trig pin un Echo pin. Tas arī iestata motorus. Tas nosaka Trig tapu izvadei un Echo pin ievadei.
#include #define trigPin 12 #define echoPin 13 AF_DCMotors motor1 (1, MOTOR12_64KHZ); AF_DCMotora motors2 (2, MOTOR12_8KHZ); void setup () {pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); }
Zem koda Arduino liek veikt šādas komandas. Pēc tam tas izmanto sensoru, lai pārraidītu un saņemtu ultraskaņas skaņas. Tas aprēķina attālumu, kāds tas ir no objekta, kad ultraskaņas viļņi atlec, un pēc tam, kad ir atzīmēts, ka objekts atrodas noteiktajā attālumā, tas liek Arduino attiecīgi pagriezt motorus.
void loop () {ilgs ilgums, attālums; digitalWrite (trigPin, LOW); kavēšanāsMikrosekundes (2); digitalWrite (trigPin, HIGH); kavēšanāsMikrosekundes (10); digitalWrite (trigPin, LOW); ilgums = pulseIn (echoPin, HIGH); attālums = (ilgums / 2) / 29,1; ja (attālums <20) {motor1.setSpeed (255); motor2.setSpeed (0); motor1.run (BACKWARD); motor2.run (BACKWARD); kavēšanās (2000); // IZMAIŅIET ŠO PĒC KĀ ROBOTS VIRZAS.
Tas liek robotam pagriezties, pagriežot vienu motoru un turot otru nemainīgu.
Zem koda robots liek robotam pagriezt abus motorus vienā virzienā, lai tas virzītos uz priekšu, līdz tas konstatē objektu iepriekšminētajā robežā.
else {motor1.setSpeed (160); // IZMAIŅIET ŠO PĒC KĀ ĀTRI JŪSU ROBOTAM JĀDODAS. motor2.setSpeed (160); // IZMAIŅIET TU TĀPAT VĒRTĪBAI, KĀ JŪS IELIKAT. motor1.run (FORWARD); motor2.run (FORWARD); }