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.



(Dette billede er taget fra Circuit Digest)

Sådan bruges ultralydssensor til at fremstille en automatisk gulvrengøringsrobot?

Som vi nu kender abstrakt af vores projekt. Lad os samle lidt 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.



  • Bilchassis
  • Batteri
  • Vis børste

Trin 2: Studere komponenterne

Nu, hvor vi har en komplet liste over alle komponenterne, lad os gå et skridt videre og kort undersøge, 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 mikrocontrolbrættet, 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.

Arduino Nano

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. Motorens hastighed varieres gennem PWM-benene.



L298N-motordriver

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.

Ultralydssensor

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 tilslut forsigtigt stifterne til motordriveren til Arduino. Monter et batteri bag kabinettet. Batteriet tænder motordriveren, som driver motorerne. Arduino vil også tage strøm fra motordriveren. Vcc-stift og ultralydssensorens jord forbindes til 5V og jord på Arduino.

Kredsløbsdiagram

Trin 4: Kom godt i gang med Arduino

Hvis du ikke allerede er fortrolig 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.

  1. Download den nyeste version af Arduino IDE fra Arduino.
  2. 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 COM14 men det er anderledes på forskellige computere.

    Find port

  3. Klik på værktøjsmenuen, og indstil tavlen til Arduino Nano.

    Indstillingsbræt

  4. I den samme værktøjsmenu skal du indstille porten til det portnummer, du tidligere har observeret i Enheder og printere .

    Indstilling af port

  5. I samme værktøjsmenu skal du indstille processoren til ATmega328P (gammel bootloader).

    Processor

  6. Download koden nedenfor, og indsæt den i din Arduino IDE. Klik på upload knap for at brænde koden på dit mikrocontrollerkort.

    Upload

Klik på her for at downloade koden.

Trin 5: Forstå 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 aktiv1pin = 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. Baudrate 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 løber 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 drejning til højre, når der findes en forhindring.

void 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) // 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, 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.