Paso 4: El código
Si usted quiere probar el circuito, subir el siguiente bosquejo a tu Arduino.
/ * Línea siguiente Robot
Muestra el uso del IR LED para una línea simple
después de robot, si sale la linea negra que va
intento localizarlo.El circuito:
* Siga el instructivo construir.2011 creado
por dominio de la redEste ejemplo de código es de dominio público.
*/
Salidas de motor
Motor izquierda
int M1B = 11; Marcha atrás
int M1F = 10; Hacia adelante
Motor adecuado
int M2B = 6; Marcha atrás
int M2F = 5; Hacia adelante
Velocidad del motor
int mSpeed = 115;2 pines de entrada analógica del Sensor de infrarrojos
int LIRPin = A0; Sensor izquierdo
int RIRPin = A1; Sensor derecho2 variables de lectura analógica de IR
int LIRReading; Lectura de izquierda
int RIRReading; Lectura correctavoid setup(void) {}
Serial.Begin(9600); Para propósitos de depuración
pinMode (M1F, salida); Motor 1 delantero
pinMode (M1B, salida); Motor 1 revés
pinMode (M2F, salida); Motor 2 adelante
pinMode (M2B, salida); Marcha de motor 2
}void loop(void) {}
leftirscan();
rightirscan();
Delay(1000);
}void rightirscan() {}
RIRReading = analogRead(RIRPin);Serial.Print ("derecha =");
Serial.Print(RIRReading);Vamos a tener unos threshholds, cualitativamente determinados
Si (RIRReading < 20) {}
Serial.println ("-ninguna corrección");
analogWrite (M2F, 0);} else if (RIRReading < 200) {}
Serial.println ("-corrección de menor importancia");
analogWrite (M2F, mSpeed + 10);} else if (RIRReading < 500) {}
Serial.println ("-moderada corrección");
analogWrite (M2F, mSpeed + 50);} else if (RIRReading < 800) {}
Serial.println ("-severa corrección");
analogWrite (M2F, mSpeed + 100);} else {}
Serial.println ("-corrección extrema");
analogWrite (M2F, 255);
}
}void leftirscan() {}
LIRReading = analogRead(LIRPin);Serial.Print ("izquierda =");
Serial.Print(LIRReading);Vamos a tener unos threshholds, cualitativamente determinados
Si (LIRReading < 20) {}
Serial.println ("-ninguna corrección");
analogWrite (M1F, 0);} else if (LIRReading < 200) {}
Serial.println ("-corrección de menor importancia");
analogWrite (M1F, mSpeed + 10);} else if (LIRReading < 500) {}
Serial.println ("-moderada corrección");
analogWrite (M1F, mSpeed + 50);} else if (LIRReading < 800) {}
Serial.println ("-severa corrección");
analogWrite (M1F, mSpeed + 100);} else {}
Serial.println ("-corrección extrema");
analogWrite (M1F, 255);
}
}
Una vez que hayas subido el bosquejo a tu Arduino abre el monitor de serie y usted debe notar una serie de valores estado impreso en la ventana por ejemplo «Izquierda = 21 – corrección menor».
Que significa que el sensor izquierdo está recibiendo más luz refleja en el transistor de la foto y corregiremos de curso para reducir la luz se reflejada girando ya sea izquierda o derecha hasta que el valor se ha reducido por debajo del umbral.
Aquí es una demostración de concepto simple.