Kuidas teha ultrahelianduri abil põrandapuhastusroboti?

Automaatne põrandapuhastusrobot pole uus kontseptsioon. Kuid neil robotitel on suur probleem. Need on väga kallid. Mis siis, kui suudame teha odava põrandapuhastusroboti, mis on sama tõhus kui turul saadaval olev robot. See robot kasutab ultraheliandurit ja väldib takistusi. Nii toimides puhastab see kogu ruumi.



(See pilt on võetud Circuit Digestist)

Kuidas kasutada ultraheliandurit automaatse põrandapuhastusroboti valmistamiseks?

Nagu me nüüd teame oma projekti abstraktsust. Kogume töö alustamiseks veel teavet.



1. samm: komponentide kogumine

Parim lähenemine mis tahes projekti alustamiseks on koostada alguses komponentide loetelu ja läbi viia iga komponendi lühitutvustus. See aitab meil vältida ebameeldivusi projekti keskel. Allpool on toodud kõigi selles projektis kasutatud komponentide täielik loetelu.



  • Auto ratta šassii
  • Aku
  • Näita pintslit

2. samm: komponentide uurimine

Nüüd, kui meil on kõigi komponentide täielik loetelu, liigume samm edasi ja uurime lühidalt iga komponendi tööd.



Arduino nano on mikrokontrolleriplaat, mida kasutatakse skeemis erinevate ülesannete juhtimiseks või täitmiseks. Me põletame a C kood Arduino nanos, et öelda mikrokontrolleri plaadile, kuidas ja milliseid toiminguid teha. Arduino Nano on täpselt sama funktsionaalsusega kui Arduino Uno, kuid üsna väikeses suuruses. Arduino Nano plaadil olev mikrokontroller on ATmega328p.

Arduino Nano

L298N on kõrgvoolu ja kõrgepinge integraallülitus. See on kahekordne täissild, mis on loodud TTL-i loogika aktsepteerimiseks. Sellel on kaks lubatavat sisendit, mis võimaldavad seadmel iseseisvalt töötada. Kaks mootorit saab korraga ühendada ja juhtida. Mootorite kiirust varieeritakse PWM-tihvtide kaudu.



L298N mootori juht

HC-SR04 plaat on ultraheliandur, mida kasutatakse kahe objekti vahelise kauguse määramiseks. See koosneb saatjast ja vastuvõtjast. Saatja muundab elektrisignaali ultrahelisignaaliks ja vastuvõtja teisendab ultrahelisignaali tagasi elektrisignaaliks. Kui saatja saadab ultrahelilaine, peegeldub see pärast kokkupõrget kindla objektiga. Vahemaa arvutamiseks kasutatakse aega, mis ultraheli signaalil kulub saatjalt ja jõuab vastuvõtjani tagasi.

Ultraheliandur

3. samm: komponentide kokkupanek

Kuna me nüüd teame, kuidas kõik komponendid töötavad, siis paneme kõik komponendid kokku ja alustame roboti valmistamist.

Võtke autoratta šassii ja kinnitage šassiide ette näitusepintsel. Paigaldage Scotch Brite roboti alla. Veenduge, et see oleks otse kingaharja taga. Nüüd kinnitage väike leibplaat šassiide ülaosale ja selle taha mootori juht. Ühendage mootorid mootorijuhiga korralikult ja ühendage mootorijuhi tihvtid Arduinoga ettevaatlikult. Paigaldage aku šassii taha. Aku lülitab sisse mootorijuhi, mis töötab mootorid. Arduino võtab toite ka mootori juhilt. Vcc tihvt ja ultrahelianduri maandus ühendatakse Arduino 5V ja maandusega.

Vooluringi skeem

4. samm: Arduinoga alustamine

Kui te pole Arduino IDE-ga veel tuttav, ärge muretsege, sest Arduino IDE koos mikrokontrolleriplaadiga seadistamise ja kasutamise samm-sammult selgitatakse allpool.

  1. Laadige Arduino IDE uusim versioon alla Arduino.
  2. Ühendage oma Arduino Nano plaat sülearvutiga ja avage juhtpaneel. klõpsake juhtpaneelil nuppu Riistvara ja heli . Nüüd klõpsake nuppu Seadmed ja printerid. Siit leiate porti, millega teie mikrokontrolleri plaat on ühendatud. Minu puhul on see nii KOM14 kuid see on erinevates arvutites erinev.

    Sadama leidmine

  3. Klõpsake menüüd Tööriist ja määrake tahvel väärtusele Arduino Nano.

    Laua määramine

  4. Määrake samas menüüs Tööriist portiks pordinumber, mida olete enne Seadmed ja printerid .

    Pordi seadistamine

  5. Valige samas menüüs Tööriist protsessor ATmega328P (vana alglaadur).

    Protsessor

  6. Laadige alla lisatud kood ja kleepige see oma Arduino IDE-sse. Klõpsake nuppu Laadi üles nupp mikrokontrolleri plaadil oleva koodi kirjutamiseks.

    Laadi üles

Klõpsake nuppu siin koodi allalaadimiseks.

5. samm: koodeksist aru saamine

Kood on üsna hästi kommenteeritud ja iseenesestmõistetav. Kuid siiski selgitatakse seda lühidalt allpool.

1. Alguses lähtestatakse kõik Arduino tihvtid, mida me kasutama hakkame.

int enable1pin = 8; // Esimese mootori tihvtid mootor1pin1 = 2; int mootor 1pin2 = 3; int enable2pin = 9; // Teise mootori tihvtid int motor2pin1 = 4; int mootor 2pin2 = 5; const int trigPin = 11; // Ultrahelianduri nööpnõelad konst int echoPin = 10; const int buzzPin = 6; pikk kestus; // Ultrahelianduri ujukkauguse muutujad;

2. kehtetu seadistamine () on funktsioon, milles seadistame kõik tihvtid kasutamiseks sisendina või väljundina. Selles funktsioonis on seatud ka ülekandekiirus. Baudi kiirus on kiirus, mille abil mikrokontrolleri plaat suhtleb ühendatud anduritega.

void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (mootor1pin1, OUTPUT); pinMode (mootor1pin2, OUTPUT); pinMode (mootor2pin1, OUTPUT); pinMode (mootor2pin2, OUTPUT); }

3. void loop () on funktsioon, mis töötab pidevalt silmusena. Selles ajas oleme mikrokontrollerile öelnud, millal edasi liikuda, kui 50 cm kaugusel ei leita takistust. Kui takistus leitakse, võtab robot järsu parempöörde.

void loop () {digitalWrite (trigPin, LOW); viivitus mikrosekundit (2); digitalWrite (trigPin, HIGH); viivitus mikrosekundit (10); digitalWrite (trigPin, LOW); kestus = pulssIn (echoPin, HIGH); kaugus = 0,034 * (kestus / 2); if (kaugus> 50) // Liigu edasi, kui takistust ei leitud {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } muu if (kaugus<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 }

Nüüd, kui oleme arutanud kõike, mida vajate automaatse põrandapuhastusroboti valmistamiseks, nautige oma odava ja tõhusa põrandapuhastusroboti valmistamist.