Hvordan lage en gulvrengjøringsrobot ved hjelp av ultralydssensor?

En automatisk gulvrengjøringsrobot er ikke et nytt konsept. Men disse robotene har et stort problem. De er veldig dyre. Hva om vi kan lage en billig gulvrengjøringsrobot som er like effektiv som roboten som er tilgjengelig i markedet. Denne roboten vil bruke en ultralydssensor og vil unngå hindringer i veien. Ved å gjøre det, vil det rense hele rommet.



(Dette bildet er hentet fra Circuit Digest)

Hvordan bruke ultralydssensor til å lage en automatisk gulvrengjøringsrobot?

Som vi nå vet abstrakt av prosjektet vårt. La oss samle litt mer informasjon for å begynne å jobbe.



Trinn 1: Samle komponentene

Den beste tilnærmingen for å starte et prosjekt er å lage en liste over komplette komponenter i starten og gjennom en kort studie av hver komponent. Dette hjelper oss med å unngå ulempene midt i prosjektet. En komplett liste over alle komponentene som er brukt i dette prosjektet er gitt nedenfor.



  • Car Wheel Chassis
  • Batteri
  • Vis pensel

Trinn 2: Studere komponentene

Nå som vi har en komplett liste over alle komponentene, la oss gå et skritt videre og studere hvordan hver komponent fungerer.



Arduino nano er et mikrokontrollerkort som brukes til å kontrollere eller utføre forskjellige oppgaver i en krets. Vi brenner en C-kode på Arduino Nano for å fortelle mikrokontrollerkortet hvordan og hvilke operasjoner som skal utføres. Arduino Nano har nøyaktig samme funksjonalitet som Arduino Uno, men i ganske liten størrelse. Mikrokontrolleren på Arduino Nano-kortet er ATmega328p.

Arduino Nano

L298N er en integrert krets med høy strøm og høyspenning. Det er en dobbel fullbro designet for å akseptere standard TTL-logikk. Den har to aktiveringsinnganger som gjør at enheten kan fungere uavhengig. To motorer kan kobles til og betjenes samtidig. Motorens hastighet varieres gjennom PWM-pinnene.



L298N Motordriver

HC-SR04-kortet er en ultralydssensor som brukes til å bestemme avstanden mellom to objekter. Den består av en sender og en mottaker. Senderen konverterer det elektriske signalet til et ultralydssignal og mottakeren konverterer ultralydsignalet tilbake til det elektriske signalet. Når senderen sender en ultralydbølge, reflekteres den etter kollisjon med en bestemt gjenstand. Avstanden beregnes ved å bruke tiden det tar for ultralydsignalet å gå fra senderen og komme tilbake til mottakeren.

Ultralydssensor

Trinn 3: Montering av komponentene

Som vi nå vet hvordan alle komponentene fungerer, la oss sette sammen alle komponentene og begynne å lage en robot.

Ta et bilhjulchassis og monter en utstillingsbørste foran chassene. Monter Scotch Brite under roboten. Forsikre deg om at den er rett bak skobørsten. Fest nå et lite brødbrett på toppen av chassene, og fest det motordriveren. Gjør riktig tilkobling av motorene til motordriveren, og koble tappene f motordriveren forsiktig til Arduino. Monter et batteri bak kabinettet. Batteriet vil slå på motoren som driver motorene. Arduino vil også ta strøm fra motorsjåføren. Vcc-pin og bakken til ultralydssensoren vil være koblet til 5V og bakken til Arduino.

Kretsdiagram

Trinn 4: Komme i gang med Arduino

Hvis du ikke allerede er kjent med Arduino IDE, ikke bekymre deg fordi en trinnvis fremgangsmåte for å sette opp og bruke Arduino IDE med et mikrokontrollkort er forklart nedenfor.

  1. Last ned den nyeste versjonen av Arduino IDE fra Arduino.
  2. Koble Arduino Nano-kortet til den bærbare datamaskinen og åpne kontrollpanelet. i kontrollpanelet, klikk på Maskinvare og lyd . Klikk nå på Enheter og skrivere. Her finner du porten som mikrokontrollerkortet er koblet til. I mitt tilfelle er det COM14 men det er forskjellig på forskjellige datamaskiner.

    Finne havn

  3. Klikk på Verktøy-menyen og sett tavlen til Arduino Nano.

    Sette styret

  4. I samme Verktøy-meny, sett porten til portnummeret du observerte før i Enheter og skrivere .

    Innstilling av port

  5. I samme verktøymeny, sett prosessoren til ATmega328P (gammel bootloader).

    Prosessor

  6. Last ned koden som er vedlagt nedenfor, og lim den inn i din Arduino IDE. Klikk på laste opp for å brenne koden på mikrokontrollerkortet.

    Laste opp

Klikk her for å laste ned koden.

Trinn 5: Forstå koden

Koden er ganske godt kommentert og selvforklarende. Men likevel forklares det kort nedenfor.

1. I starten initialiseres alle pinnene til Arduino som vi skal bruke.

int enable1pin = 8; // Pins for første Motor int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Pins for andre Motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pins for ultralydssensor const int echoPin = 10; const int buzzPin = 6; lang varighet; // Variabler for ultralydsensor flyteavstand;

2. ugyldig oppsett () er en funksjon der vi setter alle pinnene som skal brukes som INNGANG eller UTGANG. Baudrate er også satt i denne funksjonen. Baudrate er hastigheten som mikrokontrollerkortet kommuniserer med tilkoblede sensorer.

ugyldig oppsett () {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. ugyldig sløyfe () er en funksjon som løper kontinuerlig i en løkke. I denne sløyfen har vi fortalt mikrokontrolleren når vi skal gå videre hvis ingen hindringer blir funnet i 50 cm. Roboten tar en skarp høyresving når en hindring blir funnet.

void loop () {digitalWrite (trigPin, LOW); forsinkelseMikrosekunder (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); varighet = pulseIn (echoPin, HIGH); avstand = 0,034 * (varighet / 2); hvis (avstand> 50) // Gå fremover hvis ingen hindringer ble funnet {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } annet hvis (avstand<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å som vi har diskutert alt du trenger for å lage en automatisk gulvrengjøringsrobot, kan du glede deg over å lage din egen lave og effektive gulvrengjøringsrobot.