Jak vyrobit robota na čištění podlah pomocí ultrazvukového senzoru?

Automatický robot na čištění podlah není nový koncept. Ale tito roboti mají zásadní problém. Jsou velmi drahé. Co když můžeme vyrobit nízkonákladového robota na čištění podlah, který je stejně účinný jako robot dostupný na trhu. Tento robot bude používat ultrazvukový senzor a vyhne se jakékoli překážce v cestě. Tímto způsobem vyčistíte celou místnost.



(Tento obrázek je převzat z Circuit Digest)

Jak používat ultrazvukový senzor k výrobě robota na automatické čištění podlah?

Jak nyní víme abstrakt našeho projektu. Shromáždíme další informace, abychom mohli začít pracovat.



Krok 1: Shromažďování komponent

Nejlepší způsob, jak zahájit jakýkoli projekt, je vytvořit seznam úplných komponent na začátku a projít krátkou studií každé komponenty. To nám pomáhá vyhnout se nepříjemnostem uprostřed projektu. Níže je uveden kompletní seznam všech komponent použitých v tomto projektu.



  • Podvozek kola automobilu
  • baterie
  • Zobrazit štětec

Krok 2: Studium komponent

Nyní, když máme kompletní seznam všech komponent, pojďme o krok vpřed a krátce si prostudujme fungování jednotlivých komponent.



Arduino nano je deska mikrokontroléru, která se používá k ovládání nebo provádění různých úkolů v obvodu. Spálíme a C kód na Arduino Nano sdělit desce mikrokontroléru, jak a jaké operace provést. Arduino Nano má přesně stejnou funkcionalitu jako Arduino Uno, ale v poměrně malé velikosti. Mikrokontrolér na desce Arduino Nano je ATmega328p.

Arduino Nano

L298N je vysokonapěťový a vysokonapěťový integrovaný obvod. Jedná se o duální full-bridge navržený tak, aby akceptoval standardní logiku TTL. Má dva aktivační vstupy, které umožňují nezávislé fungování zařízení. Lze připojit a provozovat současně dva motory. Rychlost motorů se mění pomocí pinů PWM.



Ovladač motoru L298N

Deska HC-SR04 je ultrazvukový senzor, který se používá k určení vzdálenosti mezi dvěma objekty. Skládá se z vysílače a přijímače. Vysílač převádí elektrický signál na ultrazvukový signál a přijímač převádí ultrazvukový signál zpět na elektrický signál. Když vysílač vysílá ultrazvukovou vlnu, odráží se po srážce s určitým objektem. Vzdálenost se vypočítá pomocí času, který ultrazvukový signál potřebuje k přechodu z vysílače a návratu k přijímači.

Ultrazvukový senzor

Krok 3: Sestavení komponent

Jak teď víme, jak fungují všechny komponenty, sestavme všechny komponenty a začneme vyrábět robota.

Vezměte podvozek kola automobilu a před podvozky namontujte štětec. Namontujte Scotch Brite pod robota. Ujistěte se, že je přímo za kartáčem na boty. Nyní připevněte malou prkénko na horní část podběhů a za něj připevněte ovladač motoru. Proveďte správné připojení motorů k ovladači motoru a opatrně připojte kolíky ovladače motoru k Arduinu. Namontujte baterii za šasi. Baterie napájí ovladač motoru, který napájí motory. Arduino také převezme energii z ovladače motoru. Pin Vcc a zem ultrazvukového senzoru budou připojeny k 5V a zemi Arduina.

Kruhový diagram

Krok 4: Začínáme s Arduino

Pokud ještě nejste obeznámeni s Arduino IDE, nebojte se, protože níže je vysvětlen krok za krokem postup nastavení a používání Arduino IDE s deskou mikrokontroléru.

  1. Stáhněte si nejnovější verzi Arduino IDE z Arduino.
  2. Připojte desku Arduino Nano k notebooku a otevřete ovládací panel. na ovládacím panelu klikněte na Hardware a zvuk . Nyní klikněte na Zařízení a tiskárny. Zde najděte port, ke kterému je připojena deska vašeho mikrokontroléru. V mém případě ano COM14 ale na různých počítačích je to jiné.

    Hledání přístavu

  3. Klikněte na nabídku Nástroj a nastavte desku na Arduino Nano.

    Nastavovací deska

  4. Ve stejné nabídce nástrojů nastavte port na číslo portu, které jste pozorovali dříve v souboru Zařízení a tiskárny .

    Nastavení portu

  5. Ve stejné nabídce nástrojů nastavte procesor na ATmega328P (starý bootloader).

    Procesor

  6. Stáhněte si níže přiložený kód a vložte jej do svého Arduino IDE. Klikněte na nahrát tlačítko pro vypálení kódu na desce vašeho mikrokontroléru.

    nahrát

Klepněte na tady ke stažení kódu.

Krok 5: Porozumění Kodexu

Kód je docela dobře komentovaný a vysvětlující. Ale přesto je to stručně vysvětleno níže.

1. Na začátku jsou inicializovány všechny piny Arduina, které budeme používat.

int enable1pin = 8; // Kolíky pro první motor int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Kolíky pro druhý Motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Kolíky pro ultrazvukový senzor const int echoPin = 10; const int buzzPin = 6; dlouhé trvání; // Proměnné pro plovoucí vzdálenost ultrazvukového senzoru;

2. neplatné nastavení () je funkce, ve které nastavíme všechny piny, které mají být použity jako VSTUP nebo VÝSTUP. V této funkci je také nastavena přenosová rychlost. Přenosová rychlost je rychlost, kterou deska mikrokontroléru komunikuje s připojenými senzory.

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á smyčka () je funkce, která běží nepřetržitě ve smyčce. V této smyčce jsme řekli mikrokontroléru, kdy se má pohnout vpřed, pokud v 50 cm nebude nalezena žádná překážka. Když najde překážku, robot zabočí ostře doprava.

void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duration = pulseIn (echoPin, HIGH); vzdálenost = 0,034 * (doba / 2); if (vzdálenost> 50) // Pohyb vpřed, pokud nebyla nalezena žádná překážka {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } else if (vzdálenost<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 }

Nyní, když jsme diskutovali o všem, co potřebujete k výrobě robota na automatické čištění podlah, užijte si výrobu vlastního nízkonákladového a efektivního robota na čištění podlah.