Ako si vyrobiť robota na čistenie podláh pomocou ultrazvukového senzora?

Automatický robot na čistenie podláh nie je nový koncept. Ale títo roboti majú zásadný problém. Sú veľmi drahé. Čo ak môžeme vyrobiť lacný robot na čistenie podláh, ktorý je rovnako efektívny ako robot dostupný na trhu. Tento robot bude používať ultrazvukový senzor a bude sa vyhýbať akejkoľvek prekážke, ktorá mu bude stáť v ceste. Týmto spôsobom vyčistíte celú miestnosť.



(Tento obrázok je prevzatý z prehľadu okruhov)

Ako používať ultrazvukový senzor na výrobu robota na automatické čistenie podláh?

Ako teraz vieme abstrakt nášho projektu. Zhromaždime ďalšie informácie, aby sme mohli začať pracovať.



Krok 1: Zhromaždenie komponentov

Najlepším prístupom k zahájeniu každého projektu je vytvoriť zoznam úplných komponentov na začiatku a prejsť krátkym preštudovaním jednotlivých komponentov. To nám pomáha vyhnúť sa nepríjemnostiam uprostred projektu. Kompletný zoznam všetkých komponentov použitých v tomto projekte je uvedený nižšie.



  • Podvozok kolesa automobilu
  • Batéria
  • Zobraziť štetec

Krok 2: Štúdium komponentov

Teraz, keď máme kompletný zoznam všetkých komponentov, poďme o krok vpred a krátko si preštudujme fungovanie jednotlivých komponentov.



Arduino nano je doska mikrokontroléra, ktorá sa používa na riadenie alebo vykonávanie rôznych úloh v obvode. Pálime a Zákonníka C. na Arduino Nano, aby povedal doske mikrokontroléra, ako a aké operácie majú vykonávať. Arduino Nano má úplne rovnakú funkcionalitu ako Arduino Uno, ale v celkom malom rozmere. Mikrokontrolér na doske Arduino Nano je ATmega328p.

Arduino Nano

L298N je vysokonapäťový a vysokonapäťový integrovaný obvod. Jedná sa o duálny full-bridge navrhnutý tak, aby akceptoval štandardnú logiku TTL. Má dva aktivačné vstupy, ktoré umožňujú nezávislé fungovanie zariadenia. Môžu byť pripojené a prevádzkované súčasne dva motory. Rýchlosť motorov sa mení prostredníctvom kolíkov PWM.



Ovládač motora L298N

Doska HC-SR04 je ultrazvukový senzor, ktorý sa používa na určenie vzdialenosti medzi dvoma objektmi. Skladá sa z vysielača a prijímača. Vysielač prevádza elektrický signál na ultrazvukový signál a prijímač prevádza ultrazvukový signál späť na elektrický signál. Keď vysielač vysiela ultrazvukové vlnenie, odráža sa po zrážke s určitým predmetom. Vzdialenosť sa počíta pomocou času, ktorý trvá ultrazvukový signál od vysielača a vráti sa späť k prijímaču.

Ultrazvukový senzor

Krok 3: Zostavenie komponentov

Keď už vieme, ako fungujú všetky komponenty, poskladajme všetky komponenty a začnime vyrábať robota.

Vezmite podvozok kolesa automobilu a namontujte predvádzaciu kefu pred podvozky. Namontujte Scotch Brite pod robota. Uistite sa, že je priamo za kefou na topánky. Teraz pripevnite malú nepájivú dosku na hornú časť podvozku a za ňu pripevnite vodič motora. Vykonajte správne zapojenie motorov k budiču motora a opatrne pripojte kolíky budiča motora k Arduinu. Namontujte batériu za podvozok. Batéria napája ovládač motora, ktorý napája motory. Arduino bude tiež brať energiu z ovládača Motor. Kolík Vcc a uzemnenie ultrazvukového snímača budú pripojené k 5 V a zemi uzla Arduino.

Schéma zapojenia

Krok 4: Začíname s Arduino

Ak ešte nemáte skúsenosti s Arduino IDE, nebojte sa, pretože nižšie je vysvetlený krok za krokom postup nastavenia a používania Arduino IDE s doskou mikrokontroléra.

  1. Stiahnite si najnovšiu verziu Arduino IDE z Arduino.
  2. Pripojte dosku Arduino Nano k notebooku a otvorte ovládací panel. na ovládacom paneli kliknite na Hardvér a zvuk . Teraz kliknite na Zariadenia a tlačiarne. Tu nájdite port, ku ktorému je pripojená doska vášho mikrokontroléra. V mojom prípade to tak je COM14 ale na rôznych počítačoch je to iné.

    Hľadá sa prístav

  3. Kliknite na ponuku Nástroj a nastavte dosku na Arduino Nano.

    Nastavovacia doska

  4. V rovnakej ponuke nástrojov nastavte port na číslo portu, ktoré ste pozorovali predtým v priečinku Zariadenia a tlačiarne .

    Nastavenie portu

  5. V tej istej ponuke nástrojov nastavte procesor na ATmega328P (starý bootloader).

    procesor

  6. Stiahnite si nižšie priložený kód a vložte ho do svojho Arduino IDE. Klikni na nahrať tlačidlo na vypálenie kódu na doske vášho mikrokontroléra.

    Nahrať

Kliknite tu na stiahnutie kódu.

Krok 5: Porozumenie Kódexu

Tento kód je celkom dobre komentovaný a má vlastnú vysvetlenie. Ale napriek tomu je to stručne vysvetlené nižšie.

1. Na začiatku sú všetky piny Arduina, ktoré budeme používať, inicializované.

int enable1pin = 8; // Kolíky pre prvý motor int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Kolíky pre druhý Motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Kolíky pre ultrazvukový senzor const int echoPin = 10; const int buzzPin = 6; dlhé trvanie; // Premenné pre plavákovú vzdialenosť ultrazvukového snímača;

2. nastavenie neplatnosti () je funkcia, pri ktorej nastavíme všetky piny, ktoré sa majú použiť ako VSTUP alebo VÝSTUP. V tejto funkcii je tiež nastavená prenosová rýchlosť. Prenosová rýchlosť je rýchlosť, ktorou komunikuje doska mikrokontroléra s pripojenými snímačmi.

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

3. neplatná slučka () je funkcia, ktorá beží nepretržite v slučke. V tejto slučke sme povedali mikrokontroléru, kedy má ísť vpred, ak na 50 cm nenájdete prekážku. Keď nájdu prekážku, robot urobí prudkú pravú zákrutu.

void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duration = pulseIn (echoPin, HIGH); vzdialenosť = 0,034 * (doba / 2); if (vzdialenosť> 50) // Presunúť dopredu, ak nenájdete prekážku {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } else if (vzdialenosť<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 }

Teraz, keď sme diskutovali o všetkom, čo potrebujete na výrobu robota na automatické čistenie podláh, užite si výrobu vlastného lacného a efektívneho robota na čistenie podláh.