Kako napraviti robota za čišćenje poda pomoću ultrazvučnog senzora?

Automatski robot za čišćenje poda nije novi koncept. Ali ti roboti imaju glavni problem. Vrlo su skupe. Što ako možemo izraditi jeftin robot za čišćenje poda koji je jednako učinkovit kao i robot dostupan na tržištu. Ovaj će robot koristiti ultrazvučni senzor i izbjeći će bilo kakve prepreke na svom putu. Time će očistiti cijelu sobu.



(Ova je slika preuzeta iz Circuit Digest)

Kako koristiti ultrazvučni senzor za izradu automatskog robota za čišćenje poda?

Kao što sada znamo sažetak našeg projekta. Prikupimo još nekoliko podataka za početak rada.



Korak 1: Prikupljanje komponenata

Najbolji pristup za započinjanje bilo kojeg projekta je sastaviti popis cjelovitih komponenata na početku i prolazeći kroz kratku studiju svake komponente. To nam pomaže u izbjegavanju neugodnosti usred projekta. Cjelovit popis svih komponenata korištenih u ovom projektu dan je u nastavku.



  • Šasija kotača za automobil
  • Baterija
  • Pokaži četkicu

Korak 2: Proučavanje komponenata

Sad kad imamo cjelovit popis svih komponenata, pomaknimo se korak naprijed i ukratko proučimo rad svake komponente.



Arduino nano je ploča mikrokontrolera koja se koristi za upravljanje ili izvršavanje različitih zadataka u krugu. Izgaramo a C kod na Arduino Nano kako bi rekao ploči mikrokontrolera kako i koje radnje izvesti. Arduino Nano ima potpuno istu funkcionalnost kao Arduino Uno, ali u prilično maloj veličini. Mikrokontroler na ploči Arduino Nano je ATmega328p.

Arduino Nano

L298N je visokostrujni i visokonaponski integrirani krug. To je dvostruki puni most dizajniran da prihvati standardnu ​​TTL logiku. Ima dva ulaza za omogućavanje koji omogućuju uređaju neovisan rad. Dva se motora mogu istovremeno povezati i upravljati njima. Brzina motora varira kroz PWM klinove.



L298N Motorni vozač

Ploča HC-SR04 ultrazvučni je senzor koji se koristi za određivanje udaljenosti između dva predmeta. Sastoji se od odašiljača i prijamnika. Predajnik pretvara električni signal u ultrazvučni signal, a prijemnik ultrazvučni signal natrag u električni signal. Kada odašiljač pošalje ultrazvučni val, on se odražava nakon sudara s određenim objektom. Udaljenost se izračunava pomoću vremena koje je potrebno ultrazvučnom signalu da pređe s odašiljača i vrati se na prijemnik.

Ultrazvučni senzor

Korak 3: Sastavljanje komponenata

Kako sada znamo kako sve komponente rade, sakupimo sve komponente i krenimo s izradom robota.

Uzmite šasiju kotača automobila i montirajte četku za pokazivanje ispred šasija. Postavite Scotch Brite ispod robota. Provjerite je li odmah iza četke za cipele. Sada pričvrstite malu ploču za kruh na vrh šasije i iza nje, pričvrstite vozač motora. Izvršite pravilne veze motora s pokretačem motora i pažljivo spojite nožice vozača motora na Arduino. Postavite bateriju iza kućišta. Baterija će napajati motorni pogon koji će napajati motore. Arduino će također preuzeti napajanje od vozača motora. Vcc pin i uzemljenje ultrazvučnog senzora bit će povezani na 5 V i uzemljenje Arduina.

Kružni dijagram

Korak 4: Početak rada s Arduinom

Ako već niste upoznati s Arduino IDE-om, ne brinite jer je u nastavku objašnjen korak po korak za postavljanje i upotrebu Arduino IDE-a s pločom mikrokontrolera.

  1. Preuzmite najnoviju verziju Arduino IDE sa Arduino.
  2. Spojite Arduino Nano ploču s prijenosnim računalom i otvorite upravljačku ploču. na upravljačkoj ploči kliknite na Hardver i zvuk . Sada kliknite na Uređaji i pisači. Ovdje pronađite priključak na koji je spojena vaša ploča mikrokontrolera. U mom slučaju jest COM14 ali je različito na različitim računalima.

    Pronalaženje luke

  3. Kliknite izbornik Alat i postavite ploču na Arduino Nano.

    Odbor za postavljanje

  4. U istom izborniku Alata postavite port na broj porta koji ste prije primijetili u Uređaji i pisači .

    Postavka porta

  5. U istom izborniku Alata postavite procesor na ATmega328P (stari pokretač).

    Procesor

  6. Preuzmite dolje priloženi kod i zalijepite ga u svoj Arduino IDE. Klikni na Učitaj gumb za snimanje koda na ploči mikrokontrolera.

    Učitaj

Klik ovdje za preuzimanje koda.

Korak 5: Razumijevanje kodeksa

Kôd je prilično dobro komentiran i samorazumljiv. No, to je ukratko objašnjeno u nastavku.

1. Na početku su inicijalizirane sve iglice Arduina koje ćemo koristiti.

int enable1pin = 8; // Osovinice za prvi motor int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Osovinice za drugi motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pribadače za ultrazvučni senzor const int echoPin = 10; const int buzzPin = 6; dugo trajanje; // Varijable za plutajuću udaljenost ultrazvučnog senzora;

2. void postavljanje () je funkcija u kojoj postavljamo sve igle da se koriste kao ULAZ ili IZLAZ. Brzina prijenosa je također postavljena u ovoj funkciji. Brzina prijenosa je brzina kojom ploča mikrokontrolera komunicira s priključenim senzorima.

void setup () {Serial.begin (9600); pinMode (trigPin, IZLAZ); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, IZLAZ); pinMode (motor1pin2, IZLAZ); pinMode (motor2pin1, IZLAZ); pinMode (motor2pin2, IZLAZ); }

3. petlja void () je funkcija koja kontinuirano radi u petlji. U ovoj petlji rekli smo mikrokontroleru kada treba krenuti naprijed ako se u 50 cm ne nađe prepreka. Robot će skrenuti oštro udesno kad se pronađe prepreka.

void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); trajanje = pulsIn (echoPin, HIGH); udaljenost = 0,034 * (trajanje / 2); if (distance> 50) // Pomakni naprijed ako nije pronađena prepreka {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } inače ako (udaljenost<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

Sada, dok smo razgovarali o svemu što vam je potrebno za izradu automatskog robota za čišćenje poda, uživajte u izradi vlastitog jeftinog i učinkovitog robota za čišćenje poda.