#define M1pin1 9
#define M1pin2 8
#define M2pin1 10
#define M2pin2 11
#definir Sensor1 A0
#define Sensor2 A1
int sensor_value1, sensor_value2, diff;
configuración nula ()
{
Serial.begin (9600);
pinMode (M1pin1, SALIDA);
pinMode (M1pin2, SALIDA);
pinMode (M2pin1, SALIDA);
pinMode (M2pin2, SALIDA);
retraso (5000);
sensor_value1 = analogRead (Sensor1);
sensor_value2 = analogRead (Sensor2);
diff = sensor_value2-sensor_value1;
// ON (M1pin1, M1pin2);
// ON (M2pin1, M2pin2);
}
bucle vacío ()
{
sensor_value1 = analogRead (Sensor1) + diff;
sensor_value2 = analogRead (Sensor2);
if (sensor_value2-sensor_value1> 1 || sensor_value2-sensor_value1 <-1)
APAGADO (M2pin1, M2pin2);
más si (sensor_value1-sensor_value2> 1 || sensor_value1-sensor_value2 <-1)
APAGADO (M1pin1, M1pin2);
más
{
ENCENDIDO (M2pin1, M2pin2);
ENCENDIDO (M1pin1, M1pin2);
}
- ¿Cuál es el color más común usado en las banderas y por qué?
- ¿Por qué la mayoría de las banderas africanas tienen un color verde?
- ¿Por qué el color de los códigos de barras siempre es negro?
- ¿Por qué Quora es roja mientras que Facebook, WhatsApp y Twitter son azules?
- ¿Cuál fue la razón del uso extensivo del color rojo para colorear la casa en Noruega?
}
vacío ON (int Mpin1, int Mpin2) // ejecuta el motor
{
digitalWrite (Mpin1, HIGH);
digitalWrite (Mpin2, LOW);
}
void OFF (int Mpin1, int Mpin2) // Detiene el motor
{
digitalWrite (Mpin1, LOW);
digitalWrite (Mpin2, LOW);
}
Prueba esta pieza de código. Funciona en la diferencia entre los dos valores del sensor (siempre que tenga uno a cada lado de la línea).
Por lo tanto, funcionará tanto para líneas blancas como negras.
* Utilicé LDR para mi seguidor de línea