Arduino codigo para seguidor de linea
Enviado por Erick Hernandez • 21 de Noviembre de 2018 • Práctica o problema • 1.548 Palabras (7 Páginas) • 713 Visitas
byte i; // variable global
void setup() {
// Declaración de pines de entrada y salida
pinMode(12, INPUT); // Pulsador entrada
pinMode(2, INPUT); // Sensor Derecho
pinMode(4, INPUT); // Sensor izquierdo
pinMode(10, OUTPUT); // Motor A Atras
pinMode(5, OUTPUT); // Motor A adelante
pinMode(6, OUTPUT); // Motor B adelante
pinMode(9, OUTPUT); // Motor B Atras
digitalWrite(12, HIGH); // Pullup para pulsador
}
void loop() {
inicio: // etiqueta de inicio del programa por uso de saltos
analogWrite(5, 0); // Velocidad 0
analogWrite(6, 0); // Velocidad 0
analogWrite(10, 0); // Velocidad 0
analogWrite(9, 0); // Velocidad 0
while (digitalRead(12)==1); // Pulsador para inicio de ejecución, el programa solo iniciará cuando se pulse
while (digitalRead(12)==0); // una vez sea pulsado se espera a que se deje de presionar para iniciar
delay(100); // retardo de 100ms se evitan rebotes
for(;;)
{
if (digitalRead(4) && digitalRead(2)) // Lectura de las señales digitales y ejecucion cuando los dos sensores estan en blanco
{ analogWrite(5, 80); // Movimiento adelante
analogWrite(6, 0);
analogWrite(10, 0);
analogWrite(9, 80);
}
else if (digitalRead(2) && digitalRead(4)) // Lectura de las señales digitales y ejecución cuando el sensor izquierdo entra a la linea negra
{ analogWrite(5, 23);
analogWrite(6, 23);
analogWrite(10, 0);
analogWrite(9, 0);
}
else if (digitalRead(2) && !digitalRead(4)) // Lectura de las señales digitales y ejecución cuando el sensor derecho entra a la lànea negra
{ analogWrite(5, 0);
analogWrite(6, 0);
analogWrite(10, 23);
...