Circuits

Com construir un robot - Lliçó 3: Construir un robot de seguiment de línies: 16 passos

🔴CÓMO HACER un ROBOT con INTELIGENCIA ARTIFICIAL CASERO: MATERIAL NECESARIO

🔴CÓMO HACER un ROBOT con INTELIGENCIA ARTIFICIAL CASERO: MATERIAL NECESARIO

Taula de continguts:

Anonim

Després de completar les funcions bàsiques, ara estem preparats per donar al robot Arduino una capacitat actualitzada: ¡Seguiment de línia!

En aquest tutorial, s’ensenyarà pas a pas a fer un robot de seguiment de línies Arduino. Per fer aquest tutorial fàcil de seguir, es fa servir com a exemple un kit de robots Arduino (Pirate: Kit de robot mòbil Arduino 4WD amb Bluetooth 4.0).

Menú de lliçons:

Lliçó 1: Introducció

Lliçó 2: Construir un robot Arduino bàsic

Lliçó 3: Construir un robot de seguiment de línies Arduino

Lliçó 4: Construir un robot Arduino que pugui evitar els obstacles

Lliçó 5: Construir un robot Arduino amb efectes de so i llum

Lliçó 6: Construir un robot Arduino que pugui controlar el medi ambient

Lliçó 7: Construïu un robot Arduino controlat per Bluetooth

Peces de maquinari que pot necessitar:

Sensor de seguiment de línia (següent) per a Arduino × 3

Subministraments:

Pas 1:

Amplada cinta elèctrica negra de 2,5 cm × 1

Pas 2:

Tauler blanc 1M * 1M × 1

Pas 3:

Suport de niló M3 * 30 MM (cargols, rosques) × 3

Pas 4:

Instruccions de muntatge

No és difícil muntar el robot Arduino. Seguiu les instruccions següents.

Pas 1:

En primer lloc, necessiteu 3 suports de niló i els seus cargols i rosques.

Pas 5:

Pas 2: adjuntar els suports de niló

Utilitzant les femelles, enganxeu els suports de niló a la part superior dels sensors Mini. Quan connecteu els suports, tingueu en compte la seva direcció: les femelles i les sondes haurien d'estar en una direcció.

Pas 6:

Pas 3: Muntatge de la placa del sensor

Traieu la placa superior de la plataforma robòtica. Després, connecteu la placa del sensor cap a la part davantera de la plataforma

Pas 7:

Pas 4: muntatge del sensor de seguiment de línies

Primer, connecteu el sensor amb el cable designat per a la transmissió de dades. A continuació, utilitzeu els cargols M3 per col·locar els sensors a la placa d'expansió que sobresurt de la part frontal de la plataforma.

Pas 8:

Connexió del maquinari

Després d’assemblar els sensors, no s’afanyi a posar la placa superior de la plataforma de nou: abans de fer-ho, hem de connectar primer els sensors amb el Romeo BLE.

La imatge de la part esquerra mostra la col·locació correcta de ABC dels sensors a la placa del sensor, que correspon als pins 10, 9 i 8 del Romeo BLE. Quan connecteu els sensors, assegureu-vos de comprovar que els heu connectat a la seqüència adequada. Després de connectar els sensors, torneu a connectar la placa superior de la plataforma a sobre de la base.

Pas 9:

Ajustament dels sensors

Abans de descarregar el codi, hem d'ajustar els nostres sensors. Primer, connecteu un cable USB al vostre Romeo BLE (targeta de control Arduino Robot amb Bluetooth 4.0) per donar-li energia. Com es veu a la imatge següent, el sensor de sota té un capçal de cargol Philips; Aquest capçal de cargol es pot utilitzar per ajustar la detecció de la distància del sensor. Agafeu un tros de paper blanc i col·loqueu-lo sota la sonda del sensor (el color del paper s’utilitza per a la calibració). Obtingueu un tornavís i feu-lo servir per estrènyer el cap del cargol Philips. Sentireu que la sonda del sensor es mourà físicament cap amunt i cap avall, depenent de com ajustar el cap del cargol. També veureu que el LED del sensor s'il·luminarà tan aviat com comenceu a estrènyer-vos. Ajusteu el cap del cargol fins que el punt de la sonda estigui al voltant de 2 cm per sobre del paper.

Pas 10:

Codificació

Connecteu el vostre USB. Baixeu el codi Arduino, anomenat "HuntingLineBlack.ino", de GitHub. Feu clic al botó Carrega de l’IDE ​​Arduino per carregar el codi a la vostra placa de control BLE.

Pas 11:

Configuració del camí del vostre Arduino Robot

Traieu la pissarra. Utilitzeu la cinta elèctrica de 2,5 cm d'ample per establir un camí a la pissarra, tal com es mostra a la imatge següent.

Pas 12:

L’amplada del cable és d'aproximadament 2,5 cm, la distància aproximada entre els sensors A i C. Hem triat el camí anterior per raons relacionades amb el codi; una secció posterior explicarà més a fons aquest raonament.

Pas 13:

Transmissió: Com funciona?

Com podem fer que el robot quedi a la seva pista? Hem d’assegurar-nos que el robot estigui localitzat constantment al mig de la pista. El robot utilitza els seus 3 sensors de transmissió per calibrar la seva posició en relació amb la pista: una vegada que es desplaça cap al costat, el robot s'ajustarà automàticament cap al mig.

Quan el nostre robot es mou, passaran tres condicions.

Pas 14:

(a) Quan el robot comença a moure's per la pista, només el sensor central (B) detecta la línia negra; els sensors dret i esquerre no han entrat en joc. El cotxe romandrà centrat al llarg de la pista i seguirà endavant.

Pas 15:

(b) Després de continuar la seva pista, el robot podria començar a desviar-se del centre. En aquestes circumstàncies, els sensors esquerra i dreta intentaran detectar la línia negra i autoconduiran el robot cap a la pista. Per exemple, si el robot es gira cap al costat dret de la pista, el cotxe haurà de tornar-se a centrar girant cap a l'esquerra: el sensor esquerre es posarà en marxa i girarà automàticament el robot fins que es torni a centrar.

Pas 16:

(c) Per contra, si el robot es gira cap a la banda esquerra de la pista, el sensor dret introduirà i ajustarà el camí del robot fins que es torni a centrar.

Sinopsi de codi

No hi ha cap necessitat de parlar del codi bàsic: donem una ullada a la part que inclou la transmissió.

int RightValue; // Sensor del tractor de la línia dreta al pin 8

int MiddleValue; // Sensor del tractor de la línia mitjana al pin 9

int LeftValue; // Sensor del tractor de línia esquerra al pin 10

// lectura de valors de 3 pins del sensor de seguiment de línia

RightValue = digitalRead (8);

MiddleValue = digitalRead (9);

LeftValue = digitalRead (10);

Utilitzeu tres variables: RightValue, MiddleValue, LeftValue: per enregistrar els valors de lectura dels 3 sensors.

La funció de digitalRead (pin) s'utilitza per llegir el valor del port d’entrada / sortida digital. Si aquesta part encara no està clara, consulteu el nostre Manual de terminologia o el lloc web d'Arduino.

Quan el sensor de transmissió central detecta una línia negra (la pista), produirà una baixa energia. Quan detecten un espai en blanc, produiran una sortida d’energia ALTA.

L’exemple A següent il·lustra els principis de treball del codi de transmissió. Quan el sensor central detecta una línia negra (la pista), produirà una sortida d’energia baixa. Quan els sensors esquerra / dreta detecten l'espai en blanc, produiran una sortida ALTA.

if (MiddleValue == LOW) {// línia al mig Robot.Speed ​​(100.100); retard (10);}

else if ((LeftValue == HIGH) && (RightValue == HIGH)) {Robot.Speed ​​(100.100); retard (10);}

Si els sensors detecten la línia / pista negra cap a l'esquerra mentre detecta també un espai blanc a la dreta, el robot girarà a l'esquerra. Vegeu l’exemple B següent:

else if ((LeftValue == LOW) && (RightValue == HIGH)) {Robot.Speed ​​(-100.100); // gire el retard esquerre (10);}

Per contra, si els sensors detecten la línia / pista negra cap a la dreta mentre detecta també un espai blanc a l'esquerra, el robot girarà a la dreta. Vegeu l’exemple C següent:

else if ((LeftValue == HIGH) && (RightValue == LOW)) {Robot.Speed ​​(100, -100); // gire el retard de la dreta (10);}