Tabla de contenido:
Video: TA-ZON-BOT (Seguidor de línea): 3 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
TA-ZON-BOT
El tazón siguelineas
Hemos realizado este robot siguelineas con la ayuda de 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 de Google
TA-ZON-BOT
El cuenco sigue la línea
Hemos hecho este robot siguiéndote con la ayuda de nuestros alumnos, (gracias minimakers).
Ha sido un proyecto expreso participar en el OSHWDEN de A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
traductor de Google
Paso 1: Paso 1: Componentes
Los componentes que hemos utilizado
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 motores con las siguientes especificaciones:
Especificaciones (Para 6V):
Dimensiones: 26 x 10 x 12 mm
Ratio de la reductora: 30: 1
Diámetro del eje: 3mm (con ranura de bloqueo)
Voltaje nominal: 6Vcc (puede funcionar entre 3 a 9Vcc)
Velocidad de giro sin carga: 1000rpm
Consumo sin carga: 120mA (1600mA con carga)
Esfuerzo de torsión: 0,6 kg / cm (máx.)
Peso: 10 gramos
Enlace de tienda online:
1 placa Arduino UNO (reciclada de un proyecto antiguo)
1 escudo para motores 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 matriz de sensores QTR-8RC con las siguientes características;
Especificaciones para el conjunto de sensores de reflectancia QTR-8x • Dimensiones: 2,95 "x 0,5" • Voltaje de funcionamiento: 3,3-5,0 V • Corriente de suministro: 100 mA • Formato de salida para el QTR-8A: 8 voltajes analógicos que van desde 0 V al voltaje suministrado • Formato de salida para el QTR-8RC: 8 señales digitales compatibles con E / S que se pueden leer como un pulso alto temporizado • Distancia de detección óptima: 0.125 "(3 mm) • Distancia de detección máxima recomendada para el QTR-8A: 0.25" (6 mm) • Distancia de detección máxima recomendada para el QTR-8RC: 0.375 "(9.5 mm) • Peso sin clavijas de cabezal: 0.11 oz (3.1 g) Lo podéis encontrar en:
tienda.bricogeek.com/componentes/257-array-…
Ensamblar todo… próximamente un vídeo más detallado…
Los componentes que hemos utilizado han sido los siguientes.
Pieza redonda de metacrilato. (Puedes usar cualquier diseño, nuestra base mide lo suficiente para colocar el cuenco boca abajo).
1 Bol de desayuno (utilizado para concentrar el robot en la línea).
2 ruedas de juguete reciclado.
2 motores con las siguientes especificaciones:
Especificaciones (para 6V): Dimensiones: 26 x 10 x 12 mm Relación del reductor: 30: 1 Diámetro del eje: 3 mm (con ranura de bloqueo) Voltaje nominal: 6Vdc (puede operar entre 3 y 9Vdc) Velocidad de giro sin carga: 1000rpm Consumo sin carga: 120mA (1600mA con carga) Par: 0,6 kg / cm (máx.) Peso: 10 gramos
Enlace tienda online:
1 placa Arduino UNO (reciclada de un proyecto antiguo)
1 escudo para motores Adafruit v2.3:
1 Un portapilas 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 portapilas y un trozo de lámina de plástico para la base del portapilas.
1 conjunto de sensores QTR-8RC con las siguientes características;
Especificaciones para el conjunto de sensores de reflectancia QTR-8x • Dimensiones: 2,95 "x 0,5" • Voltaje de funcionamiento: 3,3-5,0 V • Corriente de suministro: 100 mA • Formato de salida para el QTR-8A: 8 voltajes analógicos que van desde 0 V al voltaje suministrado • Formato de salida para el QTR-8RC: 8 señales digitales compatibles con E / S que se pueden leer como un pulso alto temporizado • Distancia de detección óptima: 0.125 "(3 mm) • Distancia de detección máxima recomendada para el QTR-8A: 0.25" (6 mm) • Distancia de detección máxima recomendada para el QTR-8RC: 0.375 "(9.5 mm) • Peso sin clavijas de cabezal: 0.11 oz (3.1 g) Puede encontrarlo en:
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Reúna todo … pronto un video más detallado …
Paso 2: Paso 2: Inspiración
Para probar el funcionamiento de 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.
Para calibrar el sensor 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…
Para probar el rendimiento de los motores hemos seguido este blog de soporte www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
Es un muy buen resumen de los diferentes motores que controla este escudo.
Para calibrar el sensor QTR-8RC puede seguir el tutorial de
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
Y un último enlace que puede ayudarlo es este instructivo;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
Paso 3: Paso 3: Código
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 al pin 8
número 2 al pin 9
número 3 al pin 2
número 4 al pin 3
número 5 al pin 4
número 6 al pin 5
número 7 al pin 6
número 8 al pin 7
El código va sin repasarlo (se aceptan sugerencias)
#incluir
#incluir
#incluir
#incluir
// Cree el objeto de la pantalla del motor con la dirección I2C predeterminada
Adafruit_MotorShield AFMS = Adafruit_MotorShield ();
// O créelo con una dirección I2C diferente (digamos para apilar)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// Seleccione qué 'puerto' M1, M2, M3 o M4. En este caso, M1
Adafruit_DCMotor * motor1 = AFMS.getMotor (1);
// También puedes hacer otro motor en el puerto M2
Adafruit_DCMotor * motor2 = AFMS.getMotor (2);
// Cambie los valores siguientes para adaptarlos a los motores, el peso, el tipo de rueda, etc. de su 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 // número de sensores utilizados
#define TIMEOUT 2500 // espera 2500 us para que las salidas del sensor bajen
#define EMITTER_PIN 12 // el emisor está controlado por el pin digital 2
#define DEBUG 0 // establecer en 1 si se necesita salida de depuración en serie
QTRSensorsRC qtrrc ((carácter sin firmar ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
unsigned int sensorValues [NUM_SENSORS];
configuración vacía ()
{
retraso (1000);
calibración_manual ();
set_motors (0, 0);
}
int lastError = 0;
int last_proportional = 0;
int integral = 0;
bucle vacío ()
{
Serial.begin (9600); // configurar la biblioteca serial a 9600 bps
Serial.println ("Adafruit Motorshield v2 - ¡Prueba de motor de CC!");
AFMS.begin (); // crear con la frecuencia predeterminada 1.6KHz
//AFMS.begin(1000); // O con una frecuencia diferente, digamos 1KHz
// Establecer la velocidad de inicio, de 0 (apagado) a 255 (velocidad máxima)
motor1-> setSpeed (70);
motor1-> ejecutar (ADELANTE);
// enciende el motor
motor1-> ejecutar (LIBERAR);
motor2-> setSpeed (70);
motor2-> ejecutar (ADELANTE);
// enciende el motor
motor2-> ejecutar (LIBERAR);
sensores int sin firmar [5];
int position = qtrrc.readLine (sensores);
int error = posición - 2000;
int motorSpeed = KP * error + KD * (error - lastError);
lastError = error;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;
// establecer las velocidades del motor utilizando las dos variables de velocidad del motor anteriores
set_motors (leftMotorSpeed, rightMotorSpeed);
}
void set_motors (int motor1speed, int motor2speed)
{
if (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // limitar la velocidad máxima
if (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // limitar la velocidad máxima
if (motor1speed <0) motor1speed = 0; // mantener el motor por encima de 0
if (motor2speed <0) motor2speed = 0; // mantener la velocidad del motor por encima de 0
motor1-> setSpeed (motor1speed); // establecer la velocidad del motor
motor2-> setSpeed (motor2speed); // establecer la velocidad del motor
motor1-> ejecutar (ADELANTE);
motor2-> ejecutar (ADELANTE);
}
void manual_calibration () {
int i;
for (i = 0; i <250; i ++) // la calibración tardará unos segundos
{
qtrrc.calibrate (QTR_EMITTERS_ON);
retraso (20);
}
if (DEBUG) {// si es verdadero, genera datos del sensor a través de la salida en serie
Serial.begin (9600);
para (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMinimumOn );
Serial.print ('');
}
Serial.println ();
para (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.
Recomendado:
Robot seguidor de línea con PICO: 5 pasos (con imágenes)
Robot seguidor de línea con PICO: antes de que seas capaz de crear un robot que pueda acabar con la civilización tal como la conocemos y sea capaz de acabar con la raza humana. Primero debes poder crear los robots simples, los que pueden seguir una línea dibujada en el suelo, y aquí es donde vas a
Pizarra blanca para el aula de Wallrides del seguidor de línea de Arduino: 8 pasos (con imágenes)
Pizarra blanca Arduino Line Follower Wallrides Classroom: ¡Seguir la línea en el suelo es demasiado aburrido! Intentamos mirar desde un ángulo diferente a los seguidores de línea y llevarlos a otro plano, a la pizarra de la escuela
Cómo hacer el robot seguidor de línea más pequeño del mundo (robo Rizeh): 7 pasos (con imágenes)
Cómo hacer el robot seguidor de línea más pequeño del mundo (robo Rizeh): cómo hacer el robot seguidor de línea más pequeño del mundo (vibrobot) " roboRizeh " peso: 5gr tamaño: 19x16x10 mm por: Naghi Sotoudeh La palabra " Rizeh " es una palabra persa que significa "diminuto". Rizeh es un ro muy pequeño basado en vibraciones
Robot seguidor de línea: 11 pasos (con imágenes)
Robot seguidor de línea: Hice un robot seguidor de línea con microprocesador PIC16F84A equipado con 4 sensores IR. Este robot puede correr sobre las líneas blancas y negras
Cómo hacer un seguidor de línea usando Arduino: 8 pasos (con imágenes)
Cómo hacer un seguidor de línea usando Arduino: si está comenzando con la robótica, uno de los primeros proyectos que hacen los principiantes incluye un seguidor de línea. Es un coche de juguete especial con la propiedad de correr a lo largo de una línea que normalmente es de color negro y contrasta con el fondo. Vamos a estrella