Paso 9: Pegarles y programación arduino
Conecte los cables al motor escudo como se muestra en la figura. Ahora es libre, sólo un cable que sirve para conectar con los LEDs. Luego pegue el el controlador del motor y escudo arduino usando caliente el pegamento de pistola. En la última imagen que he mostrado que los cables de puente largo conectado a bluetooth módulo es venteado en el tablero del módulo blutooth para ahorrar espacio.
En el siguiente paso que vamos para insertar los componentes electrónicos en a la tubería de PVC, hay que programarlo.
Yo ' estoy usando el FTDI paralelo a serial converter programa arduino pro, si no tienes este convertidor. Ir a través de este instructable para programar con arduino uno.
Este es el programa, descargarlo y subirlo a arduino pro mini. No dude en editarlo ;)
Tubo Bot
Constantes y variables
int motor1Pin1 = 5; Pin 2 IC L293D
int motor1Pin2 = 6; PIN 7 IC L293D
int motor2Pin1 = 8; PIN 10 IC L293D
int motor2Pin2 = 7; PIN 15 IC L293D
char dataIn = de ';
determinante de Char;
char det;
vel de int = 0; Cosas de Bluetooth
whitelight int = 13;
int rojo = 10;
void setup() {}
Serial.Begin(9600); Biblioteca Serial a 9600 bps
define los pines como salidas:
pinMode (motor1Pin1, salida);
pinMode (motor1Pin2, salida);
pinMode (motor2Pin1, salida);
pinMode (motor2Pin2, salida);
pinMode (whitelight, salida);
pinMode (redlight, salida);
Mensajes de inicialización
Serial.println ("Arduin tubo bot");
digitalWrite (whitelight, LOW);
digitalWrite (redlight, LOW);
}
void loop() {}
det = check(); llamar subrotine check() para obtener el código serial
Análisis de código de serie
interruptor (det) {}
caso 'F': / / F, avanzar
digitalWrite (motor1Pin1, HIGH);
digitalWrite (motor1Pin2, bajo);
digitalWrite (motor2Pin1, bajo);
digitalWrite (motor2Pin2, HIGH);
det = check();
rotura;
caso 'B': / / B, retroceder
digitalWrite (motor1Pin1, bajo);
digitalWrite (motor1Pin2, HIGH);
digitalWrite (motor2Pin1, HIGH);
digitalWrite (motor2Pin2, bajo);
det = check();
rotura;
caso 'L': / / L, ruedas de movimiento a la izquierda
digitalWrite (motor1Pin1, HIGH);
digitalWrite (motor1Pin2, bajo);
digitalWrite (motor2Pin1, bajo);
digitalWrite (motor2Pin2, bajo);
det = check();
rotura;
caso 'R': / / R, ruedas de movimiento derecha
digitalWrite (motor1Pin1, bajo);
digitalWrite (motor1Pin2, bajo);
digitalWrite (motor2Pin1, bajo);
digitalWrite (motor2Pin2, HIGH);
det = check();
rotura;
de caso ': / / S, parada
digitalWrite (motor1Pin1, bajo);
digitalWrite (motor1Pin2, bajo);
digitalWrite (motor2Pin1, bajo);
digitalWrite (motor2Pin2, bajo);
det = check();
rotura;
caso de la 'U': / / V, rojo claro en
Serial.println ("luz roja");
digitalWrite (redlight, HIGH);
rotura;
caso 'u': / / v, rojo apagado
Serial.println ("rojo apagado");
digitalWrite (redlight, LOW);
rotura;
caso 'W': / / W, luces delanteras en
Serial.println ("blanco luz en");
digitalWrite (whitelight, HIGH);
rotura;
caso 'w': / / w, frente apagado de las luces
Serial.println ("blanco luz apagado");
digitalWrite (whitelight, LOW);
rotura;
}
}
obtener código de bluetooth recibido de puerto serie
int check() {}
Si (Serial.available() > 0) {/ / si hay datos válidos en el puerto serie
dataIn = Serial.read(); / / almacena los datos en una varialbe
comprobar el código de
Si (dataIn == 'F') {//Forward
determinante = 'F';
}
else if (dataIn == 'B') {//Backward
determinante = 'B';
}
else if (dataIn == 'L') {//Left
determinante = 'L';
}
else if (dataIn == 'R') {//Right
determinante = 'R';
}
else if (dataIn == de ') {//Stop
determinante = de ';
}
else if (dataIn == 'U') {//Red luces en
determinante = 'U';
}
else if (dataIn == 'u') {//Red luces Off
determinante = 'u';
}
else if (dataIn == 'W') {//White luces en
determinante = 'W';
}
else if (dataIn == 'w') {//White luces Off
determinante = 'w';
}
volver determinante;
}
}