Hvordan laver man en gulvrengøringsrobot ved hjælp af ultralydssensor?
En automatisk gulvrengøringsrobot er ikke et nyt koncept. Men disse robotter har et stort problem. De er meget dyre. Hvad hvis vi kan fremstille en billig gulvrengøringsrobot, der er lige så effektiv som robotten, der er tilgængelig på markedet. Denne robot bruger en ultralydssensor og undgår enhver hindring i vejen. Ved at gøre det vil det rense hele rummet.
Hvordan bruges ultralydssensor til at fremstille en automatisk gulvrengøringsrobot?
Som vi nu kender abstrakt af vores projekt. Lad os samle mere information for at begynde at arbejde.
Trin 1: Samling af komponenterne
Den bedste metode til at starte ethvert projekt er at lave en liste over komplette komponenter i starten og gennemgå en kort undersøgelse af hver komponent. Dette hjælper os med at undgå generne midt i projektet. En komplet liste over alle komponenter anvendt i dette projekt er angivet nedenfor.
Trin 2: Studere komponenterne
Når vi nu har en komplet liste over alle komponenterne, lad os gå et skridt fremad og studere, hvordan hver komponent fungerer.
Arduino nano er et mikrocontrollerkort, der bruges til at styre eller udføre forskellige opgaver i et kredsløb. Vi brænder en C-kode på Arduino Nano for at fortælle mikrocontroller-tavlen, hvordan og hvilke operationer der skal udføres. Arduino Nano har nøjagtig den samme funktionalitet som Arduino Uno, men i en ganske lille størrelse. Mikrocontrolleren på Arduino Nano-kortet er ATmega328p.
L298N er et integreret kredsløb med høj strøm og høj spænding. Det er en dobbelt fuldbro designet til at acceptere standard TTL-logik. Den har to aktiveringsindgange, der gør det muligt for enheden at fungere uafhængigt. To motorer kan tilsluttes og betjenes på samme tid. Motorernes hastighed varieres gennem PWM-benene.
HC-SR04-kort er en ultralydssensor, der bruges til at bestemme afstanden mellem to objekter. Den består af en sender og en modtager. Senderen konverterer det elektriske signal til et ultralydssignal, og modtageren konverterer ultralydssignalet tilbage til det elektriske signal. Når senderen sender en ultralydsbølge, reflekteres den efter kollision med en bestemt genstand. Afstanden beregnes ved hjælp af den tid, det tager ultralydssignal at gå fra senderen og komme tilbage til modtageren.
Trin 3: Samling af komponenterne
Da vi nu ved, hvordan alle komponenterne fungerer, lad os samle alle komponenterne og begynde at lave en robot.
Tag et bilhjulchassis og monter en showbørste foran chasserne. Monter Scotch Brite under robotten. Sørg for, at den er lige bag skobørsten. Fastgør nu et lille brødbræt på toppen af chasserne, og sæt motordriveren bagved. Foretag de korrekte forbindelser mellem motorerne og motordriveren, og slut forsigtigt stifterne til motordriveren til Arduino. Monter et batteri bag kabinettet. Batteriet tænder motordriveren, som får motorerne til at køre. Arduino vil også tage strøm fra motordriveren. Vcc-stift og jorden på ultralydssensoren forbindes til 5V og jord på Arduino.
Trin 4: Kom godt i gang med Arduino
Hvis du ikke allerede er bekendt med Arduino IDE, skal du ikke bekymre dig, fordi en trinvis procedure til opsætning og brug af Arduino IDE med et mikrocontrollerkort forklares nedenfor.
- Download den nyeste version af Arduino IDE fra Arduino.
- Tilslut dit Arduino Nano-kort til din bærbare computer, og åbn kontrolpanelet. i kontrolpanelet skal du klikke påHardware og lyd. Klik nu påEnheder og printere.Her finder du den port, som dit mikrocontrollerkort er tilsluttet. I mit tilfælde er det COM14men det er anderledes på forskellige computere.
- Klik på værktøjsmenuen, og indstil tavlen til Arduino Nano.
- I den samme værktøjsmenu skal du indstille porten til det portnummer, du tidligere har observeret i Enheder og printere.
- I den samme værktøjsmenu skal du indstille processoren til ATmega328P (gammel bootloader).
- Download koden, der er vedhæftet nedenfor, og indsæt den i din Arduino IDE. Klik på upload knap til at brænde koden på dit mikrocontrollerkort.
Klik her for at downloade koden.
Trin 5: Forståelse af koden
Koden er ret godt kommenteret og selvforklarende. Men alligevel forklares det kort nedenfor.
1. I starten initialiseres alle stifter af Arduino, som vi skal bruge.
int aktivere1pin = 8; // Pins til første Motor int motor1pin1 = 2; int motor1pin2 = 3; int aktivere2pin = 9; // Pins til anden Motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pins til ultralydssensor const int echoPin = 10; const int buzzPin = 6; lang varighed // Variabler til flydeafstand til ultralydssensor;
2. ugyldig opsætning ()er en funktion, hvor vi indstiller alle benene, der skal bruges som INPUT eller OUTPUT. Baudrate er også indstillet i denne funktion. Baudhastighed er den hastighed, hvormed mikrocontrolkortet kommunikerer med de tilsluttede sensorer.
ugyldig opsætning () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (aktiver1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, OUTPUT); pinMode (motor1pin2, OUTPUT); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }
3. ugyldig sløjfe ()er en funktion, der kører kontinuerligt i en løkke. I denne sløjfe har vi fortalt mikrocontrolleren, hvornår de skal bevæge sig fremad, hvis der ikke findes nogen hindring i 50 cm. Robotten vil tage en skarp højresving, når der findes en forhindring.
ugyldig loop () {digitalWrite (trigPin, LOW); forsinkelseMikrosekunder (2); digitalWrite (trigPin, HIGH); forsinkelseMikrosekunder (10); digitalWrite (trigPin, LOW); varighed = pulseIn (echoPin, HIGH); afstand = 0,034 * (varighed / 2); hvis (afstand> 50) // Gå fremad, hvis der ikke findes nogen hindring {digitalWrite (aktiv1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } ellers hvis (afstand <50) // Skarpt til højre Drej, hvis en forhindring blev fundet {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, LOW); digitalWrite (motor2pin2, LOW); } forsinkelse (300); // forsinkelse}
Nu, da vi har diskuteret alt hvad du behøver for at fremstille en automatisk gulvrengøringsrobot, kan du nyde at lave din egen billige og effektive gulvrengøringsrobot.