Aprende a programar el puente H TB6612 para un seguidor de línea en Arduino
El puente H TB6612 es un componente fundamental para controlar motores en proyectos de robótica, como un seguidor de línea. En este artículo, aprenderás cómo programar este puente H específicamente para un seguidor de línea utilizando Arduino. ¡Sigue leyendo para descubrir cómo hacerlo!
¿Qué es un puente H TB6612?
El puente H TB6612 es un circuito integrado que actúa como un controlador de motor, permitiendo que los motores giren en ambas direcciones y controlando su velocidad. Es ideal para proyectos de robótica debido a su capacidad para manejar corrientes de hasta 1.2 A, lo que lo hace perfecto para pequeños robots como un seguidor de línea.

¿Por qué es importante programar el puente H para un seguidor de línea?
Programar el puente H TB6612 para un seguidor de línea en Arduino te permitirá controlar con precisión los motores de las ruedas del robot, asegurando que siga la línea de manera efectiva. Esto es esencial para que el robot pueda navegar de manera autónoma siguiendo una ruta predefinida.

¿Cómo programar el puente H TB6612 en Arduino para un seguidor de línea?
Para programar el puente H TB6612 en Arduino para un seguidor de línea, primero debes conectar correctamente el puente H a tu placa Arduino y a los motores del robot. Luego, utilizando el entorno de desarrollo de Arduino, puedes escribir un código que controle el funcionamiento de los motores basado en la lectura de los sensores de línea.
Es importante tener en cuenta la lógica necesaria para que el robot pueda girar, avanzar y retroceder según las señales de los sensores de línea. Asegúrate de calibrar correctamente el código para que el robot pueda seguir la línea de manera precisa y sin desviarse.
A continuación verás el diagrama de conexiones de nuestro ejemplo:

📟 Ejemplo para el puente h TB6612 en Arduino
#define MOT2A 10 // Motor 2, canal A
#define MOT2B 9 // Motor 2, canal B
#define MOT1A 6 // Motor 1, canal A
#define MOT1B 5 // Motor 1, canal B
//CAMBIO DE GIRO DE CADA MOTOR
int dirMotDer = -1; // 1 = normal, -1 = invertido
int dirMotIzq = 1; // 1 = normal, -1 = invertido
void motores(int izq, int der)
{
izq = izq*dirMotIzq;
der = der*dirMotDer;
if (izq == 0)
{
digitalWrite(MOT1A, LOW);
digitalWrite(MOT1B, LOW);
}
else if (izq < 0)
{
izq = -izq;
digitalWrite(MOT1A, LOW);
analogWrite(MOT1B, izq);
}
else if (izq > 0)
{
analogWrite(MOT1A, izq);
digitalWrite(MOT1B, LOW);
}
if (der == 0)
{
digitalWrite(MOT2A, LOW);
digitalWrite(MOT2B, LOW);
}
else if (der < 0)
{
der = -der;
digitalWrite(MOT2A, LOW);
analogWrite(MOT2B, der);
}
else if (der > 0)
{
analogWrite(MOT2A, der);
digitalWrite(MOT2B, LOW);
}
}
void testeoMotores(){
for(int i = 0; i <= 255; i++){
motores(i, i);
delay(50);
}
motores(0,0);
for(int i = 0; i <= 255; i++){
motores(-i, -i);
delay(50);
}
motores(0,0);
}
void setup()
{
// Configuración de pines de motores como salida
pinMode(MOT2A, OUTPUT);
pinMode(MOT2B, OUTPUT);
pinMode(MOT1A, OUTPUT);
pinMode(MOT1B, OUTPUT);
Serial.begin(9600);
Serial.println("Inciando... LINE FOLLOWER STARTER KIT");
}
void loop()
{
motores(-255,255);
}
📥 Descargables
Código Arduino: Puente H TB6612 - Arduino