Coche sigue líneas
En este proyecto vamos hacer un coche sigue
líneas hecho por arduino. Solo podrá seguir líneas de color negro , en la
partes más baja del coche.
1. Tiene 2 placas de cny70 que son sensores
infrarrojos que al mandar unas ondas a
la línea le hace rebotar al sensor para saber el recorrido que tienes que hacer
.
2. También le pusimos un placa de arduinoshield
que pueden estar conectadas encima de la placa de arduino.
3. También tenemos 2 motores de corriente
continua que transforma la energía eléctrica en mecánica provocando un
movimiento
.
4. También una placa de placa de arduinouno , que
cuenta con 14 pines . Se diferencia por los demás porque no usa chip de controlador
USB.
ESQUEMAS
CNY70
ARDUINO SHIELD
MOTOR CC
RUEDAS
ARDUINO UNO
FOTOS DEL COCHE
CODIGO ARDUINO
int E1 = 0; //Habilita o desablita la primera mitad del driver
int E2 = 1; //Habilita o desablita la segunda mitad del driver
int m11 = 2; //m11 y m12 son los bits de control del motor uno (en la tabla PIN5 PIN7)
int m12 = 3;
int m21 = 4; //m21 y m22 son los bits de control del motor dos (en la tabla PIN10 PIN12)
int m22 = 5;
void setup() {
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(E1, HIGH); //ACTIVAR DRIVER
digitalWrite(E2, HIGH);
digitalWrite(m11, LOW); //ADELANTE
digitalWrite(m12, HIGH);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(1500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, LOW); //IZQUIERDA 90°
digitalWrite(m12, HIGH);
digitalWrite(m21, HIGH);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, LOW); //ADELANTE
digitalWrite(m12, HIGH);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(1500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, HIGH); //DERECHA 90°
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, LOW); //ADELANTE
digitalWrite(m12, HIGH);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(1500);
digitalWrite(m11, LOW); //IZQUIERDA
digitalWrite(m12, HIGH);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(1500);
digitalWrite(m11, LOW); //DERECHA
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(1500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, HIGH); //REVERSA
digitalWrite(m12, LOW);
digitalWrite(m21, HIGH);
digitalWrite(m22, LOW);
delay(2000);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(9000);
}
Hecho : Jose Manuel Calleja Gómez
Nestor García
Jefferson Chasipanta
int E1 = 0; //Habilita o desablita la primera mitad del driver
int E2 = 1; //Habilita o desablita la segunda mitad del driver
int m11 = 2; //m11 y m12 son los bits de control del motor uno (en la tabla PIN5 PIN7)
int m12 = 3;
int m21 = 4; //m21 y m22 son los bits de control del motor dos (en la tabla PIN10 PIN12)
int m22 = 5;
void setup() {
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(E1, HIGH); //ACTIVAR DRIVER
digitalWrite(E2, HIGH);
digitalWrite(m11, LOW); //ADELANTE
digitalWrite(m12, HIGH);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(1500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, LOW); //IZQUIERDA 90°
digitalWrite(m12, HIGH);
digitalWrite(m21, HIGH);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, LOW); //ADELANTE
digitalWrite(m12, HIGH);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(1500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, HIGH); //DERECHA 90°
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, LOW); //ADELANTE
digitalWrite(m12, HIGH);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(1500);
digitalWrite(m11, LOW); //IZQUIERDA
digitalWrite(m12, HIGH);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(1500);
digitalWrite(m11, LOW); //DERECHA
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(1500);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(500);
digitalWrite(m11, HIGH); //REVERSA
digitalWrite(m12, LOW);
digitalWrite(m21, HIGH);
digitalWrite(m22, LOW);
delay(2000);
digitalWrite(m11, LOW); //ALTO
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
delay(9000);
}
Hecho : Jose Manuel Calleja Gómez
Nestor García
Jefferson Chasipanta
No hay comentarios:
Publicar un comentario