2.12 Das Licht spüren

Der Fotowiderstand ist ein typisches Bauelement für analoge Eingänge und funktioniert sehr ähnlich wie ein Potentiometer. Sein Widerstandswert ist abhängig von der Lichtintensität: Je stärker das Licht, desto geringer der Widerstandswert und umgekehrt.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Bauteile.

Es ist definitiv praktisch, ein komplettes Set zu erwerben. Hier ist der Link:

Name

ARTIKEL IN DIESEM SET

LINK

Kepler-Set

450+

Kepler Kit

Sie können die Komponenten auch einzeln über die folgenden Links erwerben.

SN

KOMPONENTE

ANZAHL

LINK

1

Raspberry Pi Pico W

1

BUY

2

Micro-USB-Kabel

1

3

Steckbrett

1

BUY

4

Jumperkabel

Mehrere

BUY

5

Widerstand

1 (10KΩ)

BUY

6

Fotowiderstand

1

BUY

Schaltplan

sch_photoresistor

In dieser Schaltung sind der 10K-Widerstand und der Fotowiderstand in Reihe geschaltet; der durch sie fließende Strom ist identisch. Der 10K-Widerstand dient als Schutz, und GP28 liest den umgewandelten Spannungswert des Fotowiderstands.

Wenn das Licht intensiver wird, sinkt der Widerstand des Fotowiderstands, und somit auch seine Spannung. Daraufhin wird auch der Wert von GP28 niedriger. Sollte das Licht ausreichend stark sein, nähert sich der Widerstand des Fotowiderstands dem Wert 0 an, und der Wert von GP28 wird ebenfalls nahe 0 liegen. In diesem Fall spielt der 10K-Widerstand eine schützende Rolle, um einen Kurzschluss zwischen 3,3V und GND zu vermeiden.

Platziert man den Fotowiderstand in einer dunklen Umgebung, wird der Wert von GP28 ansteigen. In völliger Dunkelheit wäre der Widerstand des Fotowiderstands unendlich, und seine Spannung wäre nahe 3,3V (der 10K-Widerstand ist vernachlässigbar), und der Wert von GP28 würde sich dem Maximalwert von 65535 annähern.

Die Berechnungsformel lautet wie folgt:

(Vp/3.3V) x 65535 = Ap

Verdrahtung

wiring_photoresistor

Code

Bemerkung

  • Öffnen Sie die Datei 2.12_feel_the_light.py im Verzeichnis kepler-kit-main/micropython oder kopieren Sie diesen Code in Thonny und führen Sie ihn mit „Aktuelles Skript ausführen“ oder einfach mit F5 aus.

  • Vergewissern Sie sich, dass der Interpreter „MicroPython (Raspberry Pi Pico)“ in der unteren rechten Ecke ausgewählt ist.

  • Für ausführliche Anleitungen siehe Code direkt öffnen und ausführen.

import machine
import utime

photoresistor = machine.ADC(28)

while True:
    light_value  = photoresistor.read_u16()
    print(light_value)
    utime.sleep_ms(10)

Nachdem das Programm läuft, werden die Werte des Fotowiderstands in der Shell ausgegeben. Man kann die Werte verändern, indem man eine Taschenlampe darauf richtet oder den Fotowiderstand mit der Hand abdeckt.