// Como uso pines analógicos necesito poner resistencias pulldown de 15 kohm en cada fotodetector.
// Además hay que poner una resistencia de 180 ohm en el diodo.
// El estado 0 significa que no está midiendo nada.
// El estado 1023 (o casi) significa que el sensor está midiendo algo.
#define pin_sensor_1 A1
#define pin_leds_IR 8
int contador_tercios_de_vuelta = 0;
int umbral_de_deteccion = 800; // Más o menos 4 V.
boolean deteccion_sensor_1 = false;
int estado_sensor_1_actual = 0;
int estado_sensor_1_actual_IR = 0;
int estado_sensor_1_actual_Ruido = 0;
int estado_sensor_1_anterior = 0;
void setup(){
Serial.begin(9600);
pinMode(pin_led_IR, OUTPUT);
digitalWrite(pin_led_IR, LOW);
}
void loop(){
digitalWrite(pin_transistor_leds_IR, HIGH);
delay(1);
estado_sensor_1_actual_IR = analogRead(pin_sensor_1);
estado_sensor_2_actual_IR = analogRead(pin_sensor_2);
estado_sensor_3_actual_IR = analogRead(pin_sensor_3);
digitalWrite(pin_transistor_leds_IR, LOW);
delay(1);
estado_sensor_1_actual_Ruido = analogRead(pin_sensor_1);
estado_sensor_2_actual_Ruido = analogRead(pin_sensor_2);
estado_sensor_3_actual_Ruido = analogRead(pin_sensor_3);
estado_sensor_1_actual = estado_sensor_1_actual_IR - estado_sensor_1_actual_Ruido;
estado_sensor_2_actual = estado_sensor_2_actual_IR - estado_sensor_2_actual_Ruido;
estado_sensor_3_actual = estado_sensor_3_actual_IR - estado_sensor_3_actual_Ruido;
Serial.print("IR: ");
Serial.print(estado_sensor_1_actual_IR);
Serial.print(",");
Serial.print("Ruido: ");
Serial.print(estado_sensor_1_actual_Ruido);
Serial.print(",");
Serial.print("Filtrado: ");
Serial.println(estado_sensor_1_actual);
}