Sommario:
- Passaggio 1: Passaggio 1: Componenti
- Passaggio 2: Passaggio 2: Ispirazione
- Passaggio 3: Passaggio 3: Codice
Video: TA-ZON-BOT (inseguitore di linea): 3 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
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/
Google Traduttore
TA-ZON-BOT
La ciotola segue la linea
Abbiamo realizzato questo robot seguendoti con l'aiuto dei nostri studenti, (grazie minimaker).
È stato un progetto esplicito partecipare all'OSHWDEN di A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
Google Traduttore
Passaggio 1: Passaggio 1: Componenti
I componenti che utilizzano gli 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 concentrar al robot en la linea).
2 ruedas de un juguete reciclado.
2 motori con le specifiche specifiche:
Specifiche (Para 6V):
Dimensioni: 26 x 10 x 12 mm
Rapporto di riduzione: 30:1
Diametro dell'eje: 3mm (con ranura de bloqueo)
Tensione nominale: 6Vcc (puede funcionar entre 3 a 9Vcc)
Velocità del giro sin carga: 1000rpm
Consumo sin carico: 120mA (1600mA con carico)
Coppia: 0,6 kg/cm (max)
Peso: 10 grammi
Collegamento online:
1 placa Arduino UNO (reciclada de un proyecto antiguo)
1 scudo per motori Adafruit v2.3:
1 Un porta pilas de 8 pilas AAA(non utilizamos 2 fonti di alimentazione).
6 tornillos y tuercas para unir los elementis como se ve en la imagen
bridas para los motors, una gomma elastica per sujetar el porta pilas e un trozo de una lamina de plastics per la base del porta pilas.
1 array di sensori QTR-8RC con le sue caratteristiche principali;
Specifiche per l'array di sensori di riflettanza QTR-8x • Dimensioni: 2,95" x 0,5" • Tensione di esercizio: 3,3-5,0 V • Corrente di alimentazione: 100 mA • Formato di uscita per il QTR-8A: 8 tensioni analogiche che vanno da 0 V alla tensione di alimentazione • Formato di uscita per il QTR-8RC: 8 segnali digitali compatibili con I/O che possono essere letti come un impulso alto temporizzato • Distanza di rilevamento ottimale: 0,125" (3 mm) • Distanza di rilevamento massima consigliata per il QTR-8A: 0,25" (6 mm) • Distanza di rilevamento massima consigliata per il QTR-8RC: 0,375" (9,5 mm) • Peso senza perni di testata: 0,11 oz (3,1 g) Lo podéis encontrar en:
tienda.bricogeek.com/componentes/257-array-…
Ensamblar todo … prossimamente un video più dettagli…
I componenti che abbiamo utilizzato sono stati i seguenti.
Un pezzo tondo di metacrilato. (Puoi usare qualsiasi disegno, la nostra base misura quanto basta per posizionare la ciotola capovolta).
1 Ciotola colazione (usata per concentrare il robot sulla linea).
2 ruote di un giocattolo riciclato.
2 motori con le seguenti specifiche:
Specifiche (per 6V): Dimensioni: 26 x 10 x 12 mm Rapporto del riduttore: 30: 1 Diametro albero: 3mm (con scanalatura di bloccaggio) Tensione nominale: 6Vdc (può funzionare da 3 a 9Vdc) Velocità di rotazione a vuoto: 1000rpm Consumo senza carico: 120mA (1600mA con carico) Coppia: 0,6kg/cm (max) Peso: 10 grammi
Link al negozio online:
1 scheda Arduino UNO (riciclata da un vecchio progetto)
1 shield per motori Adafruit v2.3:
1 Un portabatterie da 8 batterie AAA (non usiamo 2 alimentatori).
6 viti e dadi per unire gli elementi come si vede nell'immagine
flange per i motori, una gomma elastica per contenere il portabatteria e un pezzo di un foglio di plastica per la base del portabatteria.
1 array di sensori QTR-8RC con le seguenti caratteristiche;
Specifiche per l'array di sensori di riflettanza QTR-8x • Dimensioni: 2,95 "x 0,5" • Tensione di esercizio: 3,3-5,0 V • Corrente di alimentazione: 100 mA • Formato di uscita per il QTR-8A: 8 tensioni analogiche che vanno da 0 V alla tensione di alimentazione • Formato di uscita per il QTR-8RC: 8 segnali digitali compatibili con I/O che possono essere letti come un impulso alto temporizzato • Distanza di rilevamento ottimale: 0,125 "(3 mm) • Distanza di rilevamento massima consigliata per il QTR-8A: 0,25" (6 mm) • Distanza di rilevamento massima consigliata per il QTR-8RC: 0,375 "(9,5 mm) • Peso senza perni di testata: 0,11 once (3,1 g) È possibile trovarlo in:
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Assemblate il tutto…a breve un video più dettagliato…
Passaggio 2: Passaggio 2: Ispirazione
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.
Per calibrare il sensore QTR-8RC podéis seguir el tutorial de
Y un ultimo enlace que os puede ayudar es este instructable;
www.instructables.com/id/Arduino-based-lin…
Per testare le prestazioni dei motori abbiamo seguito questo blog support www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
È un ottimo riassunto dei diversi motori controllati da questo scudo.
Per calibrare il sensore QTR-8RC puoi seguire il tutorial di
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
E un ultimo collegamento che può aiutarti è questo istruibile;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
Passaggio 3: Passaggio 3: Codice
las conexiones entre el array de
sensori e las placas las hicimos de la siguiente manera:
El Led ON va al pin digitale 12
Los 8 sensori van desde el
numero 1 al pin 8
numero 2 al pin 9
numero 3 al pin 2
numero 4 al pin 3
numero 5 al pin 4
numero 6 al pin 5
numero 7 al pin 6
numero 8 al pin 7
El código va sin repasarlo (se aceptan sugerencias)
#includere
#includere
#includere
#includere
// Crea l'oggetto scudo motore con l'indirizzo I2C predefinito
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
// Oppure, crealo con un indirizzo I2C diverso (ad esempio per lo stacking)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61);
// Seleziona quale 'porta' M1, M2, M3 o M4. In questo caso, M1
Adafruit_DCMotor *motor1 = AFMS.getMotor(1);
// Puoi anche creare un altro motore sulla porta M2
Adafruit_DCMotor *motor2 = AFMS.getMotor(2);
// Modifica i valori sottostanti per adattarli ai motori, al peso, al tipo di ruota, ecc. del tuo robot.
#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 // numero di sensori utilizzati
#define TIMEOUT 2500 // attende 2500 us affinché le uscite del sensore scendano
#define EMITTER_PIN 12 // l'emettitore è controllato dal pin digitale 2
#define DEBUG 0 // imposta a 1 se è necessario l'output di debug seriale
QTRSensorsRC qtrrc((unsigned char) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
unsigned int sensorValues[NUM_SENSORS];
configurazione nulla()
{
ritardo(1000);
calibrazione_manuale();
set_motors(0, 0);
}
int lastError = 0;
int last_proportional = 0;
intero intero = 0;
ciclo vuoto()
{
Serial.begin(9600); // imposta la libreria seriale a 9600 bps
Serial.println("Adafruit Motorshield v2 - Test motore CC!");
AFMS.begin(); // crea con la frequenza predefinita 1.6KHz
//AFMS.begin(1000); // OPPURE con una frequenza diversa, diciamo 1KHz
// Imposta la velocità per iniziare, da 0 (off) a 255 (velocità massima)
motor1->setSpeed(70);
motore1->run(AVANTI);
// accendi il motore
motore1->run(RELEASE);
motor2->setSpeed(70);
motore2->run(AVANTI);
// accendi il motore
motor2->run(RELEASE);
sensori int senza segno[5];
int posizione = qtrrc.readLine(sensori);
errore int = posizione - 2000;
int motorSpeed = KP * error + KD * (error - lastError);
lastError = errore;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;
// imposta la velocità del motore utilizzando le due variabili di velocità del motore sopra
set_motors(leftMotorSpeed, rightMotorSpeed);
}
void set_motors(int motor1speed, int motor2speed)
{
if (motor1speed > M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // limita la velocità massima
if (motor2speed > M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // limita la velocità massima
if (velocità motore1 < 0) velocità motore1 = 0; // mantieni il motore sopra 0
if (motor2speed < 0) motor2speed = 0; // mantiene la velocità del motore sopra 0
motor1->setSpeed(motor1speed); // imposta la velocità del motore
motor2->setSpeed(motor2speed); // imposta la velocità del motore
motore1->run(AVANTI);
motore2->run(AVANTI);
}
void manual_calibration() {
int io;
for (i = 0; i < 250; i++) // la calibrazione richiederà alcuni secondi
{
qtrrc.calibrate(QTR_EMITTERS_ON);
ritardo(20);
}
if (DEBUG) { // se vero, genera i dati del sensore tramite l'uscita seriale
Serial.begin(9600);
for (int i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtrrc.calibratedMinimumOn);
Serial.print(' ');
}
Serial.println();
for (int i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtrrc.calibratedMaximumOn);
Serial.print(' ');
}
Serial.println();
Serial.println();
}
}
Bueno a ver que tal se nos da este proyecto “express” en la competición del OSHWDEM.
Consigliato:
Robot inseguitore di linea con PICO: 5 passaggi (con immagini)
Robot Line Follower con PICO: prima che tu sia in grado di creare un robot che possa porre fine alla civiltà come la conosciamo, ed è in grado di porre fine alla razza umana. Per prima cosa devi essere in grado di creare i robot semplici, quelli che possono seguire una linea tracciata a terra, ed ecco dove potrai
Drone con inseguitore di linea autonomo con Raspberry Pi: 5 passaggi
Drone di follower di linea autonomo con Raspberry Pi: questo tutorial mostra come è possibile creare un drone di follower di linea alla fine. Questo drone avrà una "modalità autonoma" interruttore che farà entrare il drone in modalità. Quindi, puoi ancora pilotare il tuo drone come prima. Si prega di essere consapevoli del fatto che sta per
Robot inseguitore di linea mobile controllato con prevenzione degli ostacoli: 6 passaggi
Robot inseguitore di linea controllato da dispositivi mobili con prevenzione degli ostacoli: questa era solo un'idea in cui diverse funzionalità come evitare ostacoli, inseguitore di linee, controllo mobile, ecc. sono state mescolate insieme e realizzate in un unico pezzo. vestito per questa configurazione. In questo ho
Robot inseguitore di linea con PIC18F: 7 passaggi
Robot line follower con PIC18F: RACE LINK Ho realizzato questo robot line follower per il mio corso di microcontrollori all'università. Quindi ho realizzato questo robot line follower di base con l'utilizzo di Pic 18f2520 e ho utilizzato il compilatore di PIC CCS. Ci sono molti progetti di follower di linea su Internet con ardunio
Come creare un inseguitore di linea usando Arduino: 8 passaggi (con immagini)
Come creare un seguace di linea usando Arduino: Se stai iniziando con la robotica, uno dei primi progetti che i principianti fanno include un seguace di linea. È una speciale macchinina con la proprietà di correre lungo una linea che normalmente è di colore nero e in contrasto con lo sfondo. Cominciamo con la stella