Sadržaj:

TA-ZON-BOT (sljedbenik linije): 3 koraka (sa slikama)
TA-ZON-BOT (sljedbenik linije): 3 koraka (sa slikama)

Video: TA-ZON-BOT (sljedbenik linije): 3 koraka (sa slikama)

Video: TA-ZON-BOT (sljedbenik linije): 3 koraka (sa slikama)
Video: The Diplomacy of the gods | ANUNNAKI SECRETS REVEALED 35 2024, Novembar
Anonim
TA-ZON-BOT (sljedbenik linije)
TA-ZON-BOT (sljedbenik linije)
TA-ZON-BOT (sljedbenik linije)
TA-ZON-BOT (sljedbenik linije)

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 participar en la OSHWDEN de A Coruña.

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

traductor google

TA-ZON-BOT

Zdjela slijedi red

Napravili smo ovog robota koji vas prati uz pomoć naših učenika (hvala minimakerima).

Bio je to ekspresni projekt za sudjelovanje u OSHWDEN -u A Coruñe.

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

google prevodilac

Korak 1: Korak 1: Komponente

Korak 1: Komponente
Korak 1: Komponente
Korak 1: Komponente
Korak 1: Komponente
Korak 1: Komponente
Korak 1: Komponente

Lose komponente koje koriste hemos

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 motores con las siguientes especificaciones:

Especificaciones (Para 6V):

Dimenzije: 26 x 10 x 12 mm

Omjer de la reductora: 30: 1

Prečnik zrna: 3 mm (con ranura de bloqueo)

Nominalni napon: 6Vcc (funkcionalni entrer 3 do 9Vcc)

Brzina kretanja giroa: 1000 o / min

Potrošnja: 120mA (1600mA sa kargom)

Okretni moment: 0,6 kg/cm (max)

Pezo: 10 grama

Enlace de tienda online:

1 ploča Arduino UNO (reciclada de un proyecto antiguo)

1 štit za moto Adafruit v2.3:

1 Un porta pilas de 8 pilas AAA (nema upotrebe 2 fuentes de alimentación).

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

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 senzorski niz QTR-8RC sa značajkama karakteristika;

Specifikacije za niz senzora refleksije QTR-8x • Mjere: 2,95 "x 0,5" • Radni napon: 3,3-5,0 V • Napajanje: 100 mA • Izlazni format za QTR-8A: 8 analognih napona u rasponu od 0 V do napajanog napona • Izlazni format za QTR-8RC: 8 digitalnih I/O-kompatibilnih signala koji se mogu čitati kao tempirani visoki impuls • Optimalna udaljenost sensinga: 0,125 "(3 mm) • Maksimalna preporučena udaljenost sensinga za QTR-8A: 0,25" (6 mm) • Maksimalna preporučena udaljenost sensinga za QTR-8RC: 0,375 "(9,5 mm) • Težina bez zaglavlja: 3,1 g

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

Ensamblar todo… próximamente un vídeo más detalado…

Komponente koje smo koristili bile su sljedeće.

Okrugli komad metakrilata. (Možete koristiti bilo koji dizajn, naša baza mjeri tek toliko da zdjelu postavite naopako).

1 Zdjela za doručak (koristi se za koncentriranje robota na liniju).

2 točka reciklirane igračke.

2 motora sa sljedećim specifikacijama:

Tehnički podaci (Za 6V): Mjere: 26 x 10 x 12 mm Omjer reduktora: 30: 1 Promjer osovine: 3mm (sa bravom za zaključavanje) Nominalni napon: 6Vdc (može raditi između 3 do 9Vdc) Brzina okretanja bez opterećenja: 1000rpm Potrošnja bez opterećenja: 120mA (1600mA sa opterećenjem) Okretni moment: 0,6kg / cm (max) Težina: 10 grama

Veza na internetsku trgovinu:

1 Arduino UNO ploča (reciklirano iz starog projekta)

1 štit za motore Adafruit v2.3:

1 Držač baterija od 8 AAA baterija (ne koristimo 2 izvora napajanja).

6 vijaka i matica za spajanje elemenata kako je prikazano na slici

prirubnice za motore, elastična guma za držanje baterije i komad lista plastike za podnožje držača baterije.

1 niz QTR-8RC senzora sa sljedećim karakteristikama;

Specifikacije za niz senzora refleksije QTR-8x • Mjere: 2,95 "x 0,5" • Radni napon: 3,3-5,0 V • Napajanje: 100 mA • Izlazni format za QTR-8A: 8 analognih napona u rasponu od 0 V do napajanog napona • Izlazni format za QTR-8RC: 8 digitalnih I / O-kompatibilnih signala koji se mogu čitati kao tempirani visoki impuls • Optimalna udaljenost sensinga: 0,125 "(3 mm) • Maksimalna preporučena udaljenost sensinga za QTR-8A: 0,25" (6 mm) • Maksimalna preporučena udaljenost sensinga za QTR-8RC: 975 mm (0,375 ")

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

Skupite sve … uskoro detaljniji video …

Korak 2: Korak 2: Inspiracija

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.

Za kalibracijski senzor QTR-8RC podgrupa se nalazi u vodiču

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

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

Da bismo testirali performanse motora, pratili smo ovu blog podršku www.programarfacil.com

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

To je vrlo dobar sažetak različitih motora kojima upravlja ovaj štit.

Za kalibriranje QTR-8RC senzora možete slijediti vodič

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

I posljednja veza koja vam može pomoći je ovo uputstvo;

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

Korak 3: Korak 3: Kodirajte

Image
Image

las conexiones entre el array de

sensores y las placas las hicimos de la siguiente manera:

El Led ON digitalni va al pin 12

Los 8 senzora van desde el

numero 1 al pin 8

numero 2 al pin 9

numerički 3 al pin 2

numero 4 al pin 3

numor 5 al pin 4

numero 6 sa pin 5

numero 7 ili pin 6

numero 8 ili pin 7

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

#include

#include

#include

#include

// Kreiramo objekt štita motora sa zadanom I2C adresom

Adafruit_MotorShield AFMS = Adafruit_MotorShield ();

// Ili ga stvorite s drugom I2C adresom (recimo za slaganje)

// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);

// Odaberite "port" M1, M2, M3 ili M4. U ovom slučaju, M1

Adafruit_DCMotor *motor1 = AFMS.getMotor (1);

// Na portu M2 možete napraviti i drugi motor

Adafruit_DCMotor *motor2 = AFMS.getMotor (2);

// Promijenite donje vrijednosti tako da odgovaraju motorima vašeg robota, težini, vrsti kotača itd.

#define KP.2

#define 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 // broj korištenih senzora

#define TIMEOUT 2500 // čeka 2500 us da se izlazi senzora smanje

#define EMITTER_PIN 12 // emiterom upravlja digitalni pin 2

#define DEBUG 0 // postavljeno na 1 ako je potreban serijski izlaz za otklanjanje grešaka

QTRSensorsRC qtrrc ((nepotpisani znak ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);

nepotpisani int sensorValues [NUM_SENSORS];

void setup ()

{

kašnjenje (1000);

manual_calibration ();

set_motors (0, 0);

}

int lastError = 0;

int last_proportional = 0;

int integral = 0;

void loop ()

{

Serial.begin (9600); // postavljanje serijske biblioteke na 9600 bps

Serial.println ("Adafruit Motorshield v2 - test istosmjernog motora!");

AFMS.begin (); // kreiranje sa zadanom frekvencijom 1,6KHz

//AFMS.begin(1000); // ILI s drugom frekvencijom, recimo 1KHz

// Podesite početnu brzinu, od 0 (isključeno) do 255 (maksimalna brzina)

motor1-> setSpeed (70);

motor1-> trčanje (NAPRIJED);

// uključiti motor

motor1-> pokreni (RELEASE);

motor2-> setSpeed (70);

motor2-> trčanje (NAPRIJED);

// uključiti motor

motor2-> pokreni (RELEASE);

int senzori bez potpisa [5];

int position = qtrrc.readLine (senzori);

int greška = pozicija - 2000;

int motorSpeed = KP * greška + KD * (greška - lastError);

lastError = greška;

int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;

int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;

// podešavamo brzine motora koristeći dvije gornje varijable brzine motora

set_motors (leftMotorSpeed, rightMotorSpeed);

}

void set_motors (int motor1speed, int motor2speed)

{

if (brzina motora1> M1_MAX_SPEED) brzina motora1 = M1_MAX_SPEED; // ograničenje najveće brzine

if (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // ograničenje najveće brzine

if (motor1speed <0) motor1speed = 0; // držite motor iznad 0

if (motor2speed <0) motor2speed = 0; // održava brzinu motora iznad 0

motor1-> setSpeed (motor1speed); // podešavanje brzine motora

motor2-> setSpeed (motor2speed); // podešavanje brzine motora

motor1-> trčanje (NAPRIJED);

motor2-> trčanje (NAPRIJED);

}

void manual_calibration () {

int i;

for (i = 0; i <250; i ++) // kalibracija će trajati nekoliko sekundi

{

qtrrc.calibrate (QTR_EMITTERS_ON);

kašnjenje (20);

}

if (DEBUG) {// ako je istina, generirajte senzorske podatke putem serijskog izlaza

Serial.begin (9600);

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

{

Serial.print (qtrrc.calibratedMinimumOn );

Serial.print ('');

}

Serial.println ();

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

{

Serial.print (qtrrc.calibratedMaximumOn );

Serial.print ('');

}

Serial.println ();

Serial.println ();

}

}

Bueno a ver que tal se nos e este proyecto “express” en la Competition del OSHWDEM.

Preporučuje se: