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: