¿Qué es y para qué sirve un puente h?
- Permite controlar la velocidad y dirección de motores de una cierta potencia, de manera muy sencilla.
¿Cuáles son las entradas y salidas de un L298N?
- Los pines ENA, IN1, IN2 corresponden a las entradas para controlar el MOTOR A (OUT1 y OUT2).
- De igual manera ENB, IN3, IN4 corresponden a las salidas para controlar el MOTOR B (OUT3 y OUT4).
¿Cuál es la conexión de un L298N?
- Utilizando una sola fuente, conectada a la entrada de 12V y con el Jumper para habilitar el regulador, aclarando que el voltaje de la fuente es el que soporta el motor. De esta forma la entrada de 5V no debe estar conectada a ninguna fuente, ya que en este pin están presentes 5V a través del regulador interno; pero puedes utilizar este pin como una salida de 5V, pero sin exceder los 500mA de consumo. Se recomienda hacer esta conexión para voltajes menores de 12V para no sobrecalentar el regulador
- Utilizando dos fuentes, una de 5V conectada a la entrada de 5V (puede ser los 5V de un Arduino) y otra fuente con el valor del voltaje que trabaja el motor, conectada al pin de 12V. Para esto se tiene que desconectar el Jumper lo que deshabilitará al regulador.
¿Qué es lo que hay que evitar al trabajar con un L298N?
- Hay que evitar introducir corriente por V lógico con el jumper de regulación, puesto que se podría dañar el módulo.
¿Cuál es el programa Arduino básico para avanzar, retroceder y parar utilizando dos motorreductores conectados a un L298N?
int PinIN1 = 7; int PinIN2 = 6; void setup() { // inicializar la comunicación serial a 9600 bits por segundo: Serial.begin(9600); // configuramos los pines como salida pinMode(PinIN1, OUTPUT); pinMode(PinIN2, OUTPUT); } void loop() { MotorHorario(); Serial.println("Giro del Motor en sentido horario"); delay(1000); MotorAntihorario(); Serial.println("Giro del Motor en sentido antihorario"); delay(1000); MotorStop(); Serial.println("Motor Detenido"); delay(1000); } void MotorHorario() { digitalWrite (PinIN1, HIGH); digitalWrite (PinIN2, LOW); } void MotorAntihorario() { digitalWrite (PinIN1, LOW); digitalWrite (PinIN2, HIGH); } void MotorStop() { digitalWrite (PinIN1, LOW); digitalWrite (PinIN2, LOW); }