Hur man gör en golvrengöringsrobot med ultraljudssensor?

En automatisk golvrengöringsrobot är inte ett nytt koncept. Men dessa robotar har ett stort problem. De är väldigt dyra. Vad händer om vi kan skapa en billig golvrengöringsrobot som är lika effektiv som roboten som finns på marknaden. Denna robot kommer att använda en ultraljudssensor och kommer att undvika hinder i vägen. Genom att göra det kommer det att rengöra hela rummet.



(Den här bilden är hämtad från Circuit Digest)

Hur man använder ultraljudssensor för att skapa en automatisk golvrengöringsrobot?

Som vi nu vet abstrakt av vårt projekt. Låt oss samla in mer information för att börja arbeta.



Steg 1: Samla in komponenterna

Det bästa sättet att starta något projekt är att göra en lista över kompletta komponenter i början och genomgå en kort studie av varje komponent. Detta hjälper oss att undvika besvären mitt i projektet. En fullständig lista över alla komponenter som används i detta projekt ges nedan.



  • Bilhjulchassi
  • Batteri
  • Visa pensel

Steg 2: Studera komponenterna

Nu när vi har en komplett lista över alla komponenter, låt oss gå ett steg framåt och studera hur varje komponent fungerar.



Arduino nano är ett mikrokontrollerkort som används för att styra eller utföra olika uppgifter i en krets. Vi bränner en C-kod på Arduino Nano för att berätta för mikrokontrollerkortet hur och vilka operationer som ska utföras. Arduino Nano har exakt samma funktionalitet som Arduino Uno men i ganska liten storlek. Mikrokontrollern på Arduino Nano-kortet är ATmega328p.

Arduino Nano

L298N är en integrerad krets med hög ström och hög spänning. Det är en dubbel helbro som är utformad för att acceptera standard TTL-logik. Den har två aktiveringsingångar som gör att enheten kan fungera självständigt. Två motorer kan anslutas och drivas samtidigt. Motorns hastighet varieras genom PWM-stiften.



L298N Motor Driver

HC-SR04-kortet är en ultraljudssensor som används för att bestämma avståndet mellan två objekt. Den består av en sändare och en mottagare. Sändaren omvandlar den elektriska signalen till en ultraljudssignal och mottagaren konverterar ultraljudssignalen tillbaka till den elektriska signalen. När sändaren skickar en ultraljudsvåg reflekteras den efter kollision med ett visst föremål. Avståndet beräknas med hjälp av den tid det tar för ultraljudssignalen att gå från sändaren och komma tillbaka till mottagaren.

Ultraljudsensor

Steg 3: Montering av komponenterna

Eftersom vi nu vet hur alla komponenter fungerar, låt oss montera alla komponenter och börja skapa en robot.

Ta ett bilhjulchassi och montera en showborste framför chassierna. Montera Scotch Brite under roboten. Se till att den ligger precis bakom skoborsten. Fäst nu en liten brädbräda på ovansidan av chasserna och fäst motordrivrutinen bakom den. Anslut motorerna ordentligt till motordrivrutinen och anslut försiktigt stiften f motordrivaren till Arduino. Montera ett batteri bakom chassit. Batteriet startar motorföraren som driver motorerna. Arduino tar också ström från motorföraren. Vcc-stift och marken på ultraljudssensorn kommer att anslutas till 5V och jord på Arduino.

Kretsschema

Steg 4: Komma igång med Arduino

Om du inte redan är bekant med Arduino IDE, oroa dig inte eftersom en steg för steg-procedur för att ställa in och använda Arduino IDE med ett mikrokontrollkort förklaras nedan.

  1. Ladda ner den senaste versionen av Arduino IDE från Arduino.
  2. Anslut ditt Arduino Nano-kort till din bärbara dator och öppna kontrollpanelen. Klicka på på kontrollpanelen Hårdvara och ljud . Klicka nu på Enheter och skrivare. Här hittar du porten som ditt mikrokontrollkort är anslutet till. I mitt fall är det COM14 men det är annorlunda på olika datorer.

    Hitta port

  3. Klicka på verktygsmenyn och ställ in tavlan till Arduino Nano.

    Inställningsbräda

  4. I samma verktygsmeny ställer du in porten till det portnummer som du observerade tidigare i Enheter och skrivare .

    Ställ in port

  5. I samma verktygsmeny ställer du in processorn på ATmega328P (Old Bootloader).

    Processor

  6. Ladda ner koden som bifogas nedan och klistra in den i din Arduino IDE. Klicka på ladda upp -knappen för att bränna koden på ditt mikrokontrollerkort.

    Ladda upp

Klick här för att ladda ner koden.

Steg 5: Förstå koden

Koden är ganska bra kommenterad och självförklarande. Men ändå förklaras det kort nedan.

1. I början initialiseras alla stift av Arduino som vi ska använda.

int aktivera1pin = 8; // Pins för första Motor int motor1pin1 = 2; int motor1pin2 = 3; int aktivera2pin = 9; // Pins för andra Motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pins för ultraljudssensor const int echoPin = 10; const int buzzPin = 6; lång varaktighet; // Variabler för ultraljudssensor flytavstånd;

2. ogiltig installation () är en funktion där vi ställer in alla stift som ska användas som INGÅNG eller UTGÅNG. Baud Rate ställs också in i denna funktion. Baudhastighet är den hastighet med vilken mikrokontrollkortet kommunicerar med de anslutna sensorerna.

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

3. ogiltig slinga () är en funktion som löper kontinuerligt i en slinga. I den här slingan har vi sagt till mikrokontrollern när man ska gå framåt om inget hinder finns i 50 cm. Roboten tar en skarp högervarv när ett hinder hittas.

void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); varaktighet = pulseIn (echoPin, HIGH); avstånd = 0,034 * (varaktighet / 2); if (avstånd> 50) // Gå framåt om inget hinder hittades {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } annars om (avstånd<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 }

Nu, när vi har diskuterat allt du behöver för att skapa en automatisk golvrengöringsrobot, kan du njuta av att skapa din egen billiga och effektiva golvrengöringsrobot.