Lichtempfindliches Array¶
Dieses Programm wandelt die Messwerte eines lichtabhängigen Widerstands in eine entsprechende Anzahl beleuchteter LED-Lichter um und schafft so einen einfachen Indikator für die Helligkeit des Lichts.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
---|---|---|
Elite Explorer Kit |
300+ |
Sie können sie auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENVORSTELLUNG |
KAUF-LINK |
---|---|
- |
|
Verdrahtung
Schaltplan
Code
Bemerkung
Sie können die Datei
04_light_sensitive_array.ino
direkt unter dem Pfadelite-explorer-kit-main\fun_project\04_light_sensitive_array
öffnen.Oder kopieren Sie diesen Code in die Arduino IDE.
Wie funktioniert das?
Hier ist eine schrittweise Erklärung des Codes:
Konstanten- und Variablendefinitionen:
NbrLEDs
: Definiert die Anwesenheit von 8 LEDs.ledPins[]
: LEDs sind an die Arduino-Pins 5 bis 12 angeschlossen.photocellPin
: Der Fotowiderstand ist an den A0-Pin des Arduino angeschlossen.sensorValue
: Diese Variable speichert den vom Fotowiderstand gelesenen Wert.ledLevel
: Diese Variable speichert die Anzahl der LEDs basierend auf der Umwandlung des sensorValue.setup()
:Konfiguriert die Pins 5 bis 12 als Ausgang, um die LEDs anzusteuern.
loop()
:Liest den analogen Wert des Fotowiderstands vom Pin A0, typischerweise im Bereich von 0 bis 1023. Verwendet die Funktion map, um den Wert des Fotowiderstands von 300-1023 auf den Bereich 0-8 abzubilden. Das bedeutet, dass, wenn die Messung des lichtabhängigen Widerstands 300 beträgt, keine LEDs leuchten werden; wenn die Messung 1023 oder höher ist, werden alle 8 LEDs leuchten.
Die nachfolgende for-Schleife überprüft jede LED. Wenn ihr Index kleiner als ledLevel ist, wird die LED eingeschaltet; andernfalls wird sie ausgeschaltet.