Cependant, j’ai trouvé que le code était assez difficile de lire/modifier et il a manqué une sortie série. Voici le nettoyé le code avec sortie série. En outre, j’ai trouvé qu’ajout d’une résistance de 100R en série avec la télédétection a conduit beaucoup l'améliore la sensibilité. Ce changement augmente la portée de la lumière sur le port série de 290-270 à 290-120.
#define lire A0
#define LED 13
base int = 0 ;
void setup() {}
pinMode (LED, sortie) ;
Serial.Begin(57600) ;
}
void loop() {}
sens int = readLED(50) ;
base = sens - 20 ; réglage de sensibilité - maintenant, il va réagir si la LED est inférieure à celle définie ci-dessus 20
pour (int y = 0; y < 1000; y ++) {/ / après chaque essais 1000 le programme réinitialisera le conduit à composer avec lumière changeante
sens = readLED(50) ;
Serial.println(sens) ;
Si (sens < base) / / test, c’est la led a été dans l’obscurité
digitalWrite (LED, haute) ;
d’autre
digitalWrite (LED, faible) ;
}
}
int readLED (int nombre) {/ / n fois la valeur analogique et avarage relire ces n fois
totaal int = 0 ;
pour (int x = 0; x < nombre; x ++) {}
totaal += analogRead(READ) ;
Delay(10) ;
}
retourner totaal/nombre ;
}