Paso 3: Subir el sketch
int led = 13; el pin donde pones el LED
int sensorpin = A3; el pin analógico donde pones tu sensorLED
int resetteller = 0; el resto son contadores y variables para calcular con
sens de int = 0;
teller de int = 0;
int base = 1024;
int prueba = 1024;
int test2 = 1024;
test3 int = 1024;
Estos son los valores para jugar con a obtener mejor (o peor) resultados
marge int = 5; el espacio entre una lectura positiva y negativa
vertraging int = 1; la velocidad de las lecturas; un número más bajo es una velocidad más alta
muestras de int = 70; la cantidad de muestras a comparar para hacer una lectura
int resetsamples = 30; Cuántos ciclos para ejecutarse la luz antes de que usted no confíe en el valor ya
void setup() {}
pinMode (led, salida);
Serial.Begin(9600); ninguna parte real del programa, sólo para la depuración
para (teller = 0; cajero < muestras; cajera ++) {/ / Recuerde que el valor más bajo de muchas lecturas
Sens = analogRead(sensorpin);
Si (sens < base) {base = sens;}
Delay(vertraging); el sensor necesita un retraso aquí para coger su respiración
}
}
void loop() {}
para (teller = 0; cajero < muestras; cajera ++) {/ / Recuerde que el valor más bajo de muchas lecturas
Sens = analogRead(sensorpin);
Delay(vertraging); el sensor necesita un retraso aquí para coger su respiración
Si (sens < prueba) {}
test3 = sens; Recuerde que las lecturas más bajas 3
test2 = test3;
prueba = test2;}
}
Si (prueba < base-marge & & prueba2 < base-marge & & test3 < base-marge) {mus lecturas bajas de //all 3 ser < la lectura de la base
digitalWrite (led, alto);
resetteller ++; cuenta de cuánto tiempo el LED permanece encendido
}
Else {}
digitalWrite (led, baja);
base = test; Si la menor lectura de la prueba es superior a la base, se restablecerá la base
resetteller = 0;
}
Si (resetteller > resetsamples) {base = prueba;} Si el LED permanece encendido mucho tiempo, que no confía en él y restablecer la base
Serial.Print(basis); Serial.Print(""); Serial.Print(test); Serial.Print(""); Serial.println (sens); //just para la depuración
prueba = 1024;
}