Práctica de control de motores

Ahora aprenderemos a usar los motores y gracias a la configuración que hemos hecho en la aplicación App ControlPad(apartado final de programación), podremos darle a los motores las ordenes de "U", "D", "L", "R" para que luego esas asignaciones alfabéticas se traduzcan para que la placa Arduino pueda trabajar con ello y ya podríamos darle a los motores el movimiento que queramos. Los valores que les dimos a los motores se deben a la realización de unas tablas de verdad que hemos hecho en clase previamente, para poder trabajar con los motores. Cada puerto se asocia a un polo, por eso a la hora de darles valores de giro, le damos valor al polo positivo de un motor  y valor al polo negativo del otro motor. Hay algunos valores con misma función debido a mala interpretación por el módulo bluetooth de los valores.

Codigo:

void setup() {

  pinMode (4, OUTPUT);

  pinMode (5, OUTPUT);

  pinMode (6, OUTPUT);

  pinMode (7, OUTPUT);

  pinMode (8, OUTPUT);

  pinMode (9, OUTPUT);

  Serial.begin(9600);

}

void loop() {

  if( Serial.available() )

  val = Serial.read();

    if (val == 'F' ) {

      digitalWrite (4, HIGH);

      digitalWrite (5, LOW);

      digitalWrite (6, HIGH);

      digitalWrite (7, LOW);

     }

     if (val == 'B') {

      digitalWrite (4, LOW);

      digitalWrite (5, HIGH);

      digitalWrite (6, LOW);

      digitalWrite (7, HIGH);

      }

      if (val == 'R') {

      digitalWrite (4, LOW);

      digitalWrite (5, HIGH);

      digitalWrite (6, HIGH);

      digitalWrite (7, LOW);

      }

      if (val == 'L') {

      digitalWrite (4, HIGH);

      digitalWrite (5, LOW);

      digitalWrite (6, LOW);

      digitalWrite (7, HIGH);

      }

      if (val == 'U') {

      digitalWrite (4, HIGH);

      digitalWrite (5, LOW);

      digitalWrite (6, HIGH);

      digitalWrite (7, LOW);

      digitalWrite (8, LOW);

      digitalWrite (9, HIGH);

      }

      if (val == 'D') {

      digitalWrite (4, HIGH);

      digitalWrite (5, LOW);

      digitalWrite (6, HIGH);

      digitalWrite (7, LOW);

      digitalWrite (8, HIGH);

      digitalWrite (9, LOW);

      }

      if (val == 'G') {

      digitalWrite (4, LOW);

      digitalWrite (5, LOW);

      digitalWrite (6, LOW);

      digitalWrite (7, LOW);

      }

      if (val == 'N') {

      digitalWrite (4, LOW);

      digitalWrite (5, LOW);

      digitalWrite (6, LOW);

      digitalWrite (7, LOW);

      }

      if (val == 'T') {

      digitalWrite (4, LOW);

      digitalWrite (5, LOW);

      digitalWrite (6, LOW);

      digitalWrite (7, LOW);

      }

      if (val == 'K') {

      digitalWrite (4, LOW);

      digitalWrite (5, LOW);

      digitalWrite (6, LOW);

      digitalWrite (7, LOW);

      }

      if (val == 'I') {

      digitalWrite (4, LOW);

      digitalWrite (5, LOW);

      digitalWrite (6, LOW);

      digitalWrite (7, LOW);

      digitalWrite (8, LOW);

      digitalWrite (9, LOW);

      }

      if (val == 'S') {

      digitalWrite (4, LOW);

      digitalWrite (5, LOW);

      digitalWrite (6, LOW);

      digitalWrite (7, LOW);

      digitalWrite (8, LOW);

      digitalWrite (9, LOW);

      }

}


Aquí la tabla de verdad:

VID_20230615_193837.mp4