Hvordan man forhindrer robot ved at bruge Arduino?

Verden bevæger sig hurtigt, og teknologien bevæger sig også med det inden for robotteknologi. Anvendelsen af ​​robotteknologi kan ses overalt i verden. Konceptet med mobile eller autonome robotter, der bevæger sig uden ekstern hjælp, er det mest dybtgående forskningsfelt. Der er så mange typer mobile robotter, f.eks. SLAM-tolke (Self Localization and Mapping), Linjefølgning, Sumo Bots osv. En hindring, der undgår robot, er en af ​​dem. Det bruger en teknik til at ændre stien, hvis den opdager nogen hindring i vejen.

I dette projekt er en Arduino-baseret forhindringsrobot designet, der bruger en ultralydssensor til at opdage alle forhindringer i dens sti.

Sådan undgår du forhindringer ved hjælp af ultralydssensor?

Som vi kender abstraktet af vores projekt, lad os gå et skridt fremad og samle noget til information for at starte projektet.

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

Nu, da vi har en komplet liste over alle komponenterne, lad os gå et skridt fremad og gennemgå en kort undersøgelse af, hvordan hver komponent fungerer.

Arduino nano er et brødbrætvenligt mikrokontrolkort, 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. Motorens hastighed varieres gennem PWM-benene. Pulse Width Modulation (PWM) er en teknik, hvor strømmen af ​​spænding i enhver elektronisk komponent kan styres. Dette modul har en H-bro, som er ansvarlig for styringen af ​​rotationsretningen i motorerne ved at invertere strømretningen. Enable pin A og Enable Pin B bruges til at ændre hastigheden på begge motorer. Dette modul kan fungere mellem 5 og 35V og spidsstrøm op til 2A. Input Pin1 og Input Pin2 og for den første motor og Input Pin3 og Input Pin4 er for den anden motor.

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

Nu som vi nu ved, hvordan de fleste af de anvendte komponenter fungerer, skal vi begynde at samle alle komponenterne og producere en hindring, der undgår robot.

  1. Tag et bilhjul chasses og sæt et brødbræt på toppen. Monter ultralydssensoren foran chasserne og et batteridæksel bag chassene.
  2. Fastgør Arduino Nano-tavlen på brødbrættet, og fastgør motordriveren lige bag brødbrættet på chasserne. Forbind Aktiver stifter på begge motorer til Pin6 og Pin9 i Arduino nano. In1-, In2-, In3- og In4-stifterne på motordrivermodulet er forbundet til henholdsvis pin2, pin3, pin4 og pin5 i Arduino nano.
  3. Ultralydssensorens trig- og ekkostift er forbundet til henholdsvis pin11 og in10 i Arduino nano. Ultralydssensorens Vcc og jordstift er forbundet til 5V og jord på Arduino Nano.
  4. Motorstyringsmodulet får strøm fra batteriet. Arduino Nano-kortet får strøm fra 5V-porten på motordrivermodulet, og ultralydssensoren får sin strøm fra Arduino nano-kortet. batteriets vægt og energi kan blive den afgørende faktor for dets ydeevne.
  5. Sørg for, at dine forbindelser er de samme som vist nedenfor i kredsløbsdiagrammet.

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 COM14men det er anderledes på forskellige computere.
  3. Klik på værktøjsmenuen. og sæt tavlen til Arduino Nano fra rullemenuen.
  4. I den samme værktøjsmenu skal du indstille porten til det portnummer, du tidligere har observeret i Enheder og printere.
  5. I samme værktøjsmenu skal du indstille processoren til ATmega328P (gammel bootloader).
  6. 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 godt kommenteret og selvforklarende. Men alligevel forklares det nedenfor

1. I starten af ​​koden initialiseres alle benene på Arduino Nano-kortet, der er forbundet til ultralydssensoren og motordrivermodulet. Pin6 og Pin9 er PWM-ben, der kan variere strømmen af ​​spænding for at variere hastigheden på robotten. To variabler, varighed, og afstandinitialiseres til at gemme data, der senere vil blive brugt til at beregne afstanden til ultralydssensoren og hindringen.

int aktivere1pin = 6; // Pins til First Motor int motor1pin1 = 2; int motor1pin2 = 3; int aktivere2pin = 9; // Pins For Second Motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Trigger Pin Of Ultrasonic Sesnor const int echoPin = 10; // Echo Pin Of Ultrasonic Sesnor lang varighed; // variabler til at beregne afstandens flydeafstand; 

2. ugyldig opsætning ()er en funktion, der bruges til at indstille alle benyttede ben, som INDGANG og PRODUKTION.Baudrate er defineret i denne funktion. Baudrate er den kommunikationshastighed, hvormed mikrokontrolkortet kommunikerer med de sensorer, der er integreret med det.

ugyldig opsætning () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); 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 gentagne gange i en cyklus. I denne funktion fortæller vi mikrocontroller-kortet, hvordan og hvilke operationer der skal udføres. Her er først udløsertappen indstillet til at sende et signal, som detekteres af ekkotappen. Derefter beregnes og gemmes den tid, som ultralydssignalet tager at rejse fra og tilbage til sensoren, og gemmes i variablen varighed. Derefter bruges denne tid i en formel til at beregne afstanden mellem forhindringen og ultralydssensoren. Derefter anvendes en betingelse om, at hvis afstanden er mere end 5ocm, vil robotten bevæge sig fremad i en lige linje, og hvis afstanden er mindre end 50cm, vil robotten tage en skarp højresving.

void loop () {digitalWrite (trigPin, LOW); // Afsendelse og registrering af ultralydssignal forsinkelse Mikrosekunder (2); digitalWrite (trigPin, HIGH); forsinkelseMikrosekunder (10); digitalWrite (trigPin, LOW); varighed = pulseIn (echoPin, HIGH); // Kalulering af timme taget af ultralydsbølgen for at reflektere tilbage afstand = 0,034 * (varighed / 2); // Beregning af afstanden mellem ugens robot og forhindringen. hvis (afstand> 50) // Gå fremad, hvis afstanden er større end 50 cm {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 afstanden er mindre end 50 cm {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, LOW); digitalWrite (motor2pin2, LOW); } forsinkelse (300); }

Ansøgninger

Så her var proceduren for at lave en hindring, der undgår robot Denne hindring, der undgår teknologi, kan også sagsøges i andre applikationer. Nogle af disse applikationer er som følger.

  1. Sporingssystem.
  2. Fjernmåling Formål.
  3. Dette kan bruges i automatiske støvsugerobotter.
  4. Dette kan bruges i Sticks til blinde mennesker.
Facebook Twitter Google Plus Pinterest