ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Arduino codigo para seguidor de linea


Enviado por   •  21 de Noviembre de 2018  •  Prácticas o problemas  •  1.548 Palabras (7 Páginas)  •  679 Visitas

Página 1 de 7

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);                                                

...

Descargar como (para miembros actualizados)  txt (3.4 Kb)   pdf (38.3 Kb)   docx (10.5 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com