Satura rādītājs:

TA-ZON-BOT (līnijas sekotājs): 3 soļi (ar attēliem)
TA-ZON-BOT (līnijas sekotājs): 3 soļi (ar attēliem)

Video: TA-ZON-BOT (līnijas sekotājs): 3 soļi (ar attēliem)

Video: TA-ZON-BOT (līnijas sekotājs): 3 soļi (ar attēliem)
Video: PSI pētījumi: parapsiholoģija Spānijā | Manuels Karbarals 2024, Jūlijs
Anonim
TA-ZON-BOT (līnijas sekotājs)
TA-ZON-BOT (līnijas sekotājs)
TA-ZON-BOT (līnijas sekotājs)
TA-ZON-BOT (līnijas sekotājs)

TA-ZON-BOT

El tazón siguelineas

Hemos realizado este robot siguelineas con la ayuda de los nuestros alumnos, (gracias minimakers).

Ha sido un proyecto express para poder piedalīšanās en OSHWDEN de A Coruña.

oshwdem.org/2017/06/oshwdem-2017/

traductor google

TA-ZON-BOT

Bļoda seko līnijai

Mēs esam likuši šim robotam sekot jums ar mūsu studentu palīdzību (paldies minimakeriem).

Piedalīties A Coruña OSHWDEN ir bijis ekspresprojekts.

oshwdem.org/2017/06/oshwdem-2017/

Google tulkotājs

1. darbība: 1. darbība: komponenti

1. darbība: sastāvdaļas
1. darbība: sastāvdaļas
1. darbība: sastāvdaļas
1. darbība: sastāvdaļas
1. darbība: sastāvdaļas
1. darbība: sastāvdaļas

Los componentses que hemos utilizados

han sido los siguientes.

Una pieza redonda de metacrilato. (Podéis utilizar cualquier diseño, nuestra base mide lo justo para colocar el tazón bocabajo).

1 Tazón de desayuno (que sirve para koncentrar al robot en la linea).

2 ruedas de un juguete reciclado.

2 motori, kas paredzēti īpašiem lasīšanas procesiem:

Īpašas specifikācijas (6. V punkts):

Izmēri: 26 x 10 x 12 mm

Redukcijas attiecība: 30: 1

Diametra diametrs: 3 mm (con ranura de bloqueo)

Nominālais spriegums: 6Vcc (no 3 līdz 9Vcc)

Velocidad de giro sin carga: 1000 apgr./min

Patēriņa izmaksas: 120mA (1600mA con carga)

Griezes moments: 0,6 kg/cm (maks.)

Peso: 10 grami

Ievietojiet informāciju tiešsaistē:

1 vieta Arduino UNO (reciclada de un proyecto antiguo)

1 vairogs par moto Adafruit v2.3:

1 Un porta pilas de 8 pilas AAA (no utilizamos 2 fuentes de alimentación).

6 tornillos y tuercas para unir los elementos como se ve en la imagen

bridas para los motores, una goma elástica para sujetar el porta pilas y un trozo de una lamina de plásticos para la base del porta pilas.

1 sensora masīvs QTR-8RC, kas sastāv no raksturīgām rakstzīmēm;

QTR-8x atstarošanas sensora bloka specifikācijas • Izmēri: 2,95 "x 0,5" • QTR-8RC izvades formāts: 8 digitālie I/O saderīgi signāli, kurus var nolasīt kā lielu impulsu ar laiku; • Optimāls uztveršanas attālums: 3 mm (0,125 collas) (6 mm) • Maksimālais ieteicamais uztveršanas attālums QTR-8RC: 0,375 collas (9,5 mm) • Svars bez uzgriežņu tapām: 3,1 g (0,11 unces) Lo podéis encontrar en:

tienda.bricogeek.com/componentes/257-array-…

Ensamblar todo… promximamente un video cits detallado…

Mēs esam izmantojuši šādas sastāvdaļas.

Apaļš metakrilāta gabals. (Jūs varat izmantot jebkuru dizainu, mūsu pamatnes izmēri ir pietiekami, lai bļodu novietotu otrādi).

1 Brokastu bļoda (izmanto robota koncentrēšanai uz līnijas).

2 pārstrādātas rotaļlietas riteņi.

2 dzinēji ar šādām specifikācijām:

Specifikācijas (6 V): Izmēri: 26 x 10 x 12 mm Reduktora attiecība: 30: 1 Vārpstas diametrs: 3 mm (ar bloķēšanas rievu) Nominālais spriegums: 6 Vdc (var darboties no 3 līdz 9 V līdzstrāvai) Pagrieziena ātrums bez slodzes: 1000 apgr./min. bez slodzes: 120mA (1600mA ar slodzi) Griezes moments: 0,6kg / cm (maks.) Svars: 10 grami

Interneta veikala saite:

1 Arduino UNO plāksne (pārstrādāta no veca projekta)

1 vairogs Adafruit v2.3 dzinējiem:

1 Bateriju turētājs ar 8 AAA baterijām (mēs neizmantojam 2 barošanas avotus).

6 skrūves un uzgriežņi, lai savienotu elementus, kā redzams attēlā

atloki motoriem, elastīga gumija akumulatora turētāja turēšanai un plastmasas loksnes gabals akumulatora turētāja pamatnei.

1 QTR-8RC sensoru masīvs ar šādiem raksturlielumiem;

QTR-8x atstarošanas sensora bloka specifikācijas • Izmēri: 2,95 "x 0,5" • QTR-8RC izvades formāts: 8 ciparu I / O saderīgi signāli, kurus var nolasīt kā lielu impulsu ar laiku; • Optimāls uztveršanas attālums: 3 mm (0,125 collas) (6 mm) • Maksimālais ieteicamais uztveršanas attālums QTR-8RC: 0,375 collas (9,5 mm) • Svars bez uzgriežņu tapām: 3,1 g (0,11 unces) To var atrast:

tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html

Salieciet visu… drīzumā detalizētāks video…

2. darbība: 2. darbība: iedvesma

Para probar el funcionamiento del los

motores hemos seguido esta ayuda del blog www.programarfacil.com

programarfacil.com/blog/arduino-blog/adafr…

Es un resumen muy bueno de los diferentes motores que controla esta shield.

QTR-8RC kalibra el sensora sekojošā apmācība

Y un ultimo enlace que os puede ayudar es este instructable;

www.instructables.com/id/Arduino-based-lin…

Lai pārbaudītu dzinēju veiktspēju, mēs esam sekojuši šim emuāra atbalstam www.programarfacil.com

programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/

Tas ir ļoti labs kopsavilkums par dažādiem dzinējiem, kurus kontrolē šis vairogs.

Lai kalibrētu QTR-8RC sensoru, varat sekot apmācībai

www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6

Un pēdējā saite, kas var jums palīdzēt, ir šī pamācība;

www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/

3. darbība: 3. darbība: kods

Image
Image

las conexiones entre el array de

sensores y las placas las hicimos de la siguiente manera:

El Led ON va al pin digital 12

Los 8 sensores van desde el

número 1 vai pin 8

número 2 un pin 9

número 3 un pin 2

número 4 un pin 3

número 5 un pin 4

número 6 un pin 5

número 7 un pin 6

número 8 un pin 7

El Código va sin repasarlo (se aceptan sugerencias)

#iekļaut

#iekļaut

#iekļaut

#iekļaut

// Izveidojiet motora vairoga objektu ar noklusējuma I2C adresi

Adafruit_MotorShield AFMS = Adafruit_MotorShield ();

// Vai arī izveidojiet to ar citu I2C adresi (piemēram, sakraušanai)

// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);

// Izvēlieties, kurš "ports" ir M1, M2, M3 vai M4. Šajā gadījumā M1

Adafruit_DCMotor *motors1 = AFMS.getMotor (1);

// Jūs varat arī izgatavot citu motoru ostā M2

Adafruit_DCMotor *motors2 = AFMS.getMotor (2);

// Mainiet tālāk norādītās vērtības, lai tās atbilstu jūsu robota motoriem, svaram, riteņa tipam utt.

#definēt KP.2

#definēt KD 5

#define M1_DEFAULT_SPEED 50

#define M2_DEFAULT_SPEED 50

#define M1_MAX_SPEED 70

#define M2_MAX_SPEED 70

#define MIDDLE_SENSOR 4

#define NUM_SENSORS 8 // izmantoto sensoru skaits

#define TIMEOUT 2500 // gaida, kamēr 2500 mūs uztvers sensora izejas

#define EMITTER_PIN 12 // emitētāju kontrolē 2. digitālā tapa

#define DEBUG 0 // iestatiet uz 1, ja nepieciešama sērijas atkļūdošanas izvade

QTRSensorsRC qtrrc ((neparakstīts simbols ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);

neparakstīts int sensorValues [NUM_SENSORS];

anulēts iestatījums ()

{

kavēšanās (1000);

manuāla_kalibrēšana ();

set_motors (0, 0);

}

int lastError = 0;

int pēdējā_proporcionālā = 0;

int integrālis = 0;

tukša cilpa ()

{

Sērijas sākums (9600); // iestatiet sērijas bibliotēku ar ātrumu 9600 bps

Serial.println ("Adafruit Motorshield v2 - DC Motor tests!");

AFMS.begin (); // izveidot ar noklusējuma frekvenci 1.6KHz

//AFMS.begin(1000); // VAI ar citu frekvenci, teiksim 1KHz

// Iestatiet sākuma ātrumu no 0 (izslēgts) līdz 255 (maksimālais ātrums)

motors1-> setSpeed (70);

motor1-> palaist (FORWARD);

// ieslēdz motoru

motor1-> palaist (RELEASE);

motors2-> setSpeed (70);

motor2-> palaist (FORWARD);

// ieslēdz motoru

motor2-> palaist (RELEASE);

neparakstīti int sensori [5];

int pozīcija = qtrrc.readLine (sensori);

int kļūda = pozīcija - 2000;

int motorSpeed = KP * kļūda + KD * (kļūda - pēdējā kļūda);

lastError = kļūda;

int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;

int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;

// iestatiet motora apgriezienus, izmantojot divus iepriekš minētos motora ātruma mainīgos

set_motors (leftMotorSpeed, rightMotorSpeed);

}

void set_motors (int motor1speed, int motor2speed)

{

ja (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // ierobežot maksimālo ātrumu

ja (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // ierobežot maksimālo ātrumu

ja (motors1sped <0) motor1speed = 0; // turiet motoru virs 0

ja (motor2speed <0) motor2speed = 0; // turiet motora apgriezienus virs 0

motors1-> setSpeed (motors1speed); // iestatīt motora ātrumu

motor2-> setSpeed (motor2speed); // iestatīt motora ātrumu

motor1-> palaist (FORWARD);

motor2-> palaist (FORWARD);

}

void manual_calibration () {

int i;

(i = 0; i <250; i ++) // kalibrēšana prasīs dažas sekundes

{

qtrrc.calibrate (QTR_EMITTERS_ON);

kavēšanās (20);

}

ja (DEBUG) {// ja ir taisnība, ģenerējiet sensora datus, izmantojot sērijas izvadi

Sērijas sākums (9600);

par (int i = 0; i <NUM_SENSORS; i ++)

{

Serial.print (qtrrc.calibratedMinimumOn );

Serial.print ('');

}

Sērijas.println ();

par (int i = 0; i <NUM_SENSORS; i ++)

{

Serial.print (qtrrc.calibratedMaximumOn );

Serial.print ('');

}

Sērijas.println ();

Sērijas.println ();

}

}

Bueno a ver que tal se nos da este proyecto “express” en la Competició del OSHWDEM.

Ieteicams: