Paso 6: Lo que todos juntos
EL CÓDIGO FINAL:
Ligero bosquejo de robot que buscan:
int izquierda = 2; control del motor conectado al pin 2 a la izquierda
int derecha = 4; control motor derecho conectado al pin 4
int = adelante 7; delantero del control motor conectado al pin 7
int al revés = 8; / / control hacia atrás del motor conectado al pin 8
int ledleft = A5; izquierda luz sensor led conectado al pin analógico 5
int ledright = A4; derecho sensor led pin conectado a analógica 4
int lf = 0; almacena el valor de la izquierda llevó
lr de int = 0; almacena el valor de la derecha condujo
int x = 0; utiliza para almacenar el valor absoluto de los leds
int i = 1; sólo se utiliza para mantener el do y loop abierto
void setup() //does sólo una vez cuando está conectado el Arduino
{
pinMode (a la izquierda, salida); tipos de configuración de pines para cada led y motor
pinMode (a la derecha, salida);
pinMode (hacia adelante, salida);
pinMode (hacia atrás, salida);
pinMode (ledleft, entrada);
pinMode (ledright, entrada);
}
void go_forward() {/ / crear funciones para reducir la cantidad de mecanografiar más adelante
digitalWrite (delantero, alto);
digitalWrite (hacia atrás, baja);
}
void go_backward() {}
digitalWrite (al revés, alta);
digitalWrite (delantero, baja);
}
void go_left() {}
digitalWrite (izquierda, arriba);
digitalWrite (a la derecha, baja);
}
void go_right () {}
digitalWrite (derecha, alto);
digitalWrite (a la izquierda, baja);
}
void go_stop() {}
digitalWrite (a la derecha, baja);
digitalWrite (a la izquierda, baja);
digitalWrite (delantero, baja);
digitalWrite (hacia atrás, baja);
}
void loop() {/ / va una y otra vez hasta que se apague
LF = analogRead (ledleft); led de la lf establece el valor de la izquierda
LR = analogRead (ledright); lr de sistemas al valor del derecho condujo
x = abs (lf - lr); establece x a la diferencia entre los dos LED de Google si desea obtener más información sobre cómo funciona
{}
Si (x < 10) {//change la decena a la cantidad que su LED de cuando estaban ambos en directo / / luz. Esto es la sensibilidad de tu robot y tendrá algún ensayo y error para obtener derecho
go_forward();
Delay(500);
go_stop();
rotura; sale de la do y loop y vuelve a la parte superior
}
Si (lr > lf) {/ / gira a la izquierda cuando hay más luz en el lado izquierdo del coche
go_right();
go_forward();
Delay (500);
go_stop();
rotura; se remonta a la parte superior del lazo y volverá a evaluar los valores de leds
}
Si (lf > lr) {/ / gira a la derecha si hay más luz a la derecha del coche
go_left();
go_forward();
Delay(500);
go_stop();
rotura; va de nuevo a la parte superior del lazo y reevaluar los valores de leds
}
} mientras (i == 1); mantiene la do al lazo de control abierto
}
DEJAR DE COPIAR AQUÍ
Finales cosas
Primer elástico el protoboard y el Arduino en el coche, a continuación fije la batería de 9v para el auto y enchúfelo en el Arduino usando el 9v con cable de Arduino. También no olvide poner las baterías en el coche y encenderlo.
Terminado su coche rc debe ahora buscar la luz. Si no comprobar todas las conexiones y asegúrese de que nada es que ponga en cortocircuito. Si tu coche sólo va recto y su sensibilidad es baja y se necesita disminuir la x < número __. Si tu coche cambia constantemente las direcciones que su sensibilidad es muy alta y el x < número __ tiene que ser más grande. Y asegúrese de que las baterías no están muertas:)
Si tienes algún problema les comenten y por favor tarifa. Gracias por leerme (y edificio?)