L293D - Programación

 25 de Noviembre

Este día nosotros hicimos la programación de la conexion que estabamos trabajando ayer, la conexión que estamos trabajando es esta:

Avanzar y retroceder

Hoy trabajamos con la programación para el respectivo funcionamiento de la conexión, la conexión es la siguiente:
Y el funcionamiento o el resultado que va a dar, es que, los motores van a cambiar su velocidad, primero va a salir en positivo y luego en negativo:

Parar

Para parar el auto, todos los valores de EN tienen que estar en LOW, aquí un ejemplo de código que funciona (ya es comprobado):

Un ejemplo de lo que va a pasar, primero va a avanzar, luego retroceder y luego va a finalizar con una detención:

Girar

Se va a mostrar las funcionalidades o los motivimientos que tiene que hacer la rueda para hacer un giro del auto (sea izquierda o derecha):

Girar a la izquierda

Ejemplo de código que tenemos que usar para que el mecanizmo pueda girar a la izquierda:
El resultado que va a salir es el siguiente, se notará que una saldrá 0 y el otro saldrá un valor (aparecerá en el final del video):


Girar a la derecha

Ejemplo de código que se va a usar para poder poner el funcionamiento al mecanismo:
Aquí se mostrará el video con el resultado del código, va a hacer lo mismo que el anterior, solo que cambiará algunos valores (el de la derecha es al final del video):


Código final

int EN1=3;
int EN2=9;
int EN3=10;
int EN4=12;

void setup()
{
  pinMode(EN1, OUTPUT);
   pinMode(EN2, OUTPUT);
   pinMode(EN3, OUTPUT);
   pinMode(EN4, OUTPUT);
}

void loop()
{
  //adelante (Motor 1)
  digitalWrite(EN1, HIGH);
  digitalWrite(EN2, LOW);
  
  //adelante (Motor 2)
  digitalWrite(EN3, HIGH);
  digitalWrite(EN4, LOW);

  delay(2000);

  //atras (Motor 1)
  digitalWrite(EN2, HIGH);
  digitalWrite(EN1, LOW);
  
  //atras (Motor 2)
  digitalWrite(EN4, HIGH);
  digitalWrite(EN3, LOW);
  
  delay(2000);
  
  //parar
  digitalWrite(EN1, LOW);
  digitalWrite(EN2, LOW);
  digitalWrite(EN3, LOW);
  digitalWrite(EN4, LOW);
  
  delay(2000);
  
  //izquierda
  digitalWrite(EN1, LOW);
  digitalWrite(EN2, LOW);
  digitalWrite(EN3, HIGH);
  digitalWrite(EN4, LOW);
  
  delay(2000);
 
  
  //derecha
  digitalWrite(EN1, HIGH);
  digitalWrite(EN2, LOW);
  digitalWrite(EN3, LOW);
  digitalWrite(EN4, LOW);
  
  
  delay(2000);
}

Preguntas de reflexión

¿Qué aprendí hoy?
Hoy aprendí a desarrollar usando el componente L293D

¿Cómo aprendí?
Mediante proyecciones y con los pasos indicados por la profesora

¿Qué me falta por aprender?
Necesito reforzar mas el desarrollo con arduino.

Comentarios