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.
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 til å starte ethvert 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.
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.
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.
HC-SR04-kort 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.
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.
Trinn 4: Komme i gang med Arduino
Hvis du ikke allerede er kjent med Arduino IDE, ikke bekymre deg fordi en trinnvis prosedyre for å sette opp og bruke Arduino IDE med et mikrokontrollerkort er forklart nedenfor.
- Last ned den nyeste versjonen av Arduino IDE fra Arduino.
- 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 COM14men det er forskjellig på forskjellige datamaskiner.
- Klikk på Verktøy-menyen og sett tavlen til Arduino Nano.
- I samme Verktøy-meny, sett porten til portnummeret du observerte før i Enheter og skrivere.
- I samme verktøymeny, sett prosessoren til ATmega328P (gammel bootloader).
- Last ned koden som er vedlagt nedenfor, og lim den inn i Arduino IDE. Klikk på laste opp -knappen for å brenne koden på mikrokontrollerkortet.
Klikk her for å laste ned koden.
Trinn 5: Forstå koden
Koden er ganske godt kommentert og selvforklarende. Men likevel blir det forklart 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 stiller inn alle pinnene som skal brukes som INNGANG eller UTGANG. Baudrate er også angitt 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 går 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); delayMicroseconds (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) // Skarp høyre sving hvis en hindring ble funnet {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, LOW); digitalWrite (motor2pin2, LOW); } forsinkelse (300); // forsinkelse }
Nå, som vi har diskutert alt du trenger for å lage en automatisk gulvrengjøringsrobot, kan du glede deg over å lage din egen billige og effektive gulvrengjøringsrobot.