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+

Elite Explorer Kit

Sie können sie auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENVORSTELLUNG

KAUF-LINK

Arduino Uno R4 WiFi

-

Steckbrett

BUY

Jumperkabel

BUY

Widerstand

BUY

LED

BUY

Fotowiderstand

BUY

Verdrahtung

../_images/04_light_sensitive_array_bb.png

Schaltplan

../_images/04_light_sensitive_array_schematic.png

Code

Bemerkung

  • Sie können die Datei 04_light_sensitive_array.ino direkt unter dem Pfad elite-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:

  1. 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.

  2. setup():

    Konfiguriert die Pins 5 bis 12 als Ausgang, um die LEDs anzusteuern.

  3. 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.