Kredsløb

Hvordan man opbygger en robot - Lektion 3: Byg en linjesporing robot: 16 trin

Teknologisk Institut henter Spot-robotten til Danmark

Teknologisk Institut henter Spot-robotten til Danmark

Indholdsfortegnelse:

Anonim

Efter at have gennemført de grundlæggende funktioner, er vi nu klar til at give Arduino-robotten en opgraderet kapacitet - Line-tracking!

I denne øvelse læres du trin for trin for at lave en line tracking Arduino robot. For at gøre denne vejledning nem at følge, bruges et Arduino robot kit (Pirate: 4WD Arduino Mobile Robot Kit med Bluetooth 4.0) her som et eksempel.

Lektioner Menu:

Lektion 1: Introduktion

Lektion 2: Byg en grundlæggende Arduino Robot

Lektion 3: Byg en linjesporing Arduino Robot

Lektion 4: Byg en Arduino Robot, der kunne undgå forhindringer

Lektion 5: Byg en Arduino robot med lys og lydeffekter

Lektion 6: Byg en Arduino Robot, der kunne overvåge miljøet

Lektion 7: Byg en Bluetooth-styret Arduino Robot

Hardware Dele Du Måske Har brug for:

Line Tracking (Følgende) Sensor For Arduino × 3

forsyninger:

Trin 1:

Bredde 2,5 cm sort elektrisk tape × 1

Trin 2:

1M * 1M hvidt bord × 1

Trin 3:

M3 * 30MM Nylon understøtning (skruer, møtrikker) × 3

Trin 4:

Montagevejledning

Det er ikke svært at samle Arduino robotten. Følg nedenstående vejledning.

Trin 1:

For det første har du brug for 3 nylon understøtninger og deres ledsagende skruer og møtrikker.

Trin 5:

Trin 2: Fastgørelse af nylonstøtterne

Ved hjælp af møtrikker monteres nylonstøtterne oven på Mini sensorer. Vær opmærksom på retningen, når møtrikkerne monteres: møtrikkerne og proberne skal begge være i en retning.

Trin 6:

Trin 3: Montering af sensorkortet

Fjern den øverste plade fra robotplattformen. Derefter fastgøres sensorkortet til platformens forside.

Trin 7:

Trin 4: Montering af linjesporing sensoren

Forbind først sensoren med den tråd, der er udpeget til dataoverførsel. Brug derefter dine M3 skruer til at anbringe sensorerne på ekspansionsbrættet, der rager frem fra platformens forside.

Trin 8:

Tilslutning af hardware

Efter samling af sensorer skal du ikke skynde dig for at sætte platformens øverste plade på igen. Før det skal vi først forbinde sensorerne med Romeo BLE.

Billedet på venstre side viser korrekt ABC placering af sensorerne på sensorkortet, hvilket svarer til tappene 10, 9 og 8 på Romeo BLE. Ved tilslutning af sensorer skal du kontrollere, at du har tilsluttet dem i den korrekte rækkefølge. Efter tilslutning af sensorer skal du sætte platformens øverste plade på bunden igen.

Trin 9:

Justering af sensorer

Før du downloader kode, skal vi justere vores sensorer. Først skal du tilslutte et USB-kabel til din Romeo BLE (Arduino Robot Control Board med Bluetooth 4.0) for at give det strøm. Som det ses på nedenstående billede, har sensoren nedenfor et Philips skruehoved; dette skruehoved kan bruges til at justere sensorens detektering af afstanden. Tag et hvidt stykke papir og læg det under sensorens sonde (papirets farve bruges til kalibreringsformål). Få en skruetrækker og brug den til at stramme Philips skruehoved. Du vil føle, at sensorens probe fysisk bevæger sig op og ned afhængigt af, hvor tæt du strammer skruehovedet. Du vil også se sensorens LED lyser, så snart du begynder at stramme. Stram skruehovedet, indtil probepunktet er omkring 2 cm over papirstykket.

Trin 10:

Coding

Tilslut din USB. Download Arduino-koden, der hedder "HuntingLineBlack.ino", fra GitHub. Klik på knappen Upload i Arduino IDE for at uploade koden til dit BLE kontrolkort.

Trin 11:

Konfiguration af din Arduino Robots sti

Tag din tavle ud. Brug dit 2,5 cm brede eltape til at lægge en sti på tavlen som vist på nedenstående billede.

Trin 12:

Trådens bredde er ca. 2,5 cm, den omtrentlige afstand mellem sensorer A og C. Vi har valgt stien ovenfor af årsager vedrørende kode; et senere afsnit vil forklare denne begrundelse mere grundigt.

Trin 13:

Transmission: Sådan fungerer det

Hvordan laver vi robotten på sporet? Vi skal sikre, at robotten er konsekvent placeret midt i sporet. Roboten bruger sine 3 transmissionssensorer til at kalibrere sin position i forhold til sporet - når det kommer til siden, vil robotten selvjustere sig tilbage mod midten.

Når vores robot bevæger sig, vil der ske tre betingelser.

Trin 14:

(a) Når robotten først begynder at bevæge sig langs sporet, registrerer kun midtsensoren (B) den sorte linje - venstre og højre sensorer er endnu ikke kommet i spil. Bilen forbliver centreret langs sporet og bevæger sig fremad.

Trin 15:

(b) Efter at have fortsat på sit spor, kan robotten begynde at springe væk fra midten. Under disse omstændigheder forsøger venstre og højre sensorer at opdage den sorte linje og selvstyr robotten tilbage mod sporet. For eksempel, hvis roboten vejer mod højre side af sporet, skal bilen gencentrere sig selv ved at dreje mod venstre - den venstre sensor vil sparke ind og automatisk dreje robotten, indtil den gencentreres.

Trin 16:

(c) Omvendt, hvis roboten vejer mod venstre side af sporet, vil den højre sensor sparke ind og justere robotens sti, indtil den re-centreres.

Kode Synopsis

Der er ingen grund til at diskutere grundlæggende kode - lad os bare se på den del der involverer transmission.

int RightValue; // Højre traktorsensor på knap 8

int MiddleValue; // Midtlinjetraktorsensor på Pin 9

int LeftValue; // Venstre traktorsensor på Pin 10

// læsning 3 pins værdier af Line Tracking Sensor

RightValue = DigitalLæs (8);

MiddleValue = DigitalLæs (9);

LeftValue = DigitalLæs (10);

Brug tre variabler - RightValue, MiddleValue, LeftValue - til optagelse af 3 sensorer 'læseværdier.

DigitalRead (pin) -funktionen bruges til at læse den digitale indgangs- / udgangsportværdi. Hvis denne del stadig er uklar, så tjek vores Terminology Manual eller Arduino hjemmeside.

Når den midterste transmissionssensor registrerer en sort linje (sporet), vil den producere en lav energiproduktion. Når de opdager et hvidt rum, producerer de en høj energiudgang.

Eksempel A nedenfor illustrerer transmissionskodeksens arbejdsprincipper. Når midterføleren registrerer en sort linje (sporet), vil den producere en LOW-energiproduktion. Når venstre / højre sensorer registrerer hvidt rum, vil de producere en HIGH output.

hvis (MiddleValue == LOW) {// linje i midten Robot.Speed ​​(100,100); forsinkelse (10);}

ellers hvis ((LeftValue == HIGH) && (RightValue == HIGH)) {Robot.Speed ​​(100,100); forsinkelse (10);}

Hvis sensorer registrerer den sorte linje / sporet til venstre, mens der også registreres hvidt rum til højre, drejer robotten til venstre. Se eksempel B nedenfor:

ellers hvis ((LeftValue == LOW) && (RightValue == HIGH)) {Robot.Speed ​​(-100,100); // drej venstre forsinkelse (10);}

Omvendt, hvis sensorerne registrerer den sorte linje / sporet til højre, mens der også registreres hvidt rum til venstre, drejer robotten til højre. Se eksempel C nedenfor:

ellers hvis ((LeftValue == HIGH) && (RightValue == LOW)) {Robot.Speed ​​(100, -100); // drej ret forsinkelse (10);}