32 lines
1.4 KiB
C++
32 lines
1.4 KiB
C++
// Arduino Grundkurs des Z-Lab Bruchsal.
|
|
// Dies ist Übung 5: Ein Lichtsensor (analoger Sensor)
|
|
// Eine ausführliche Beschreibung mit Erklärungen findest du hier:
|
|
// https://git.digital-infinity.de/DigitalInfinity/Z-Lab/src/branch/main/Arduino_Grundlagen/05_Lichtsensor
|
|
// Dort findest du auch eine Skizze für die Verkabelung
|
|
|
|
// Hier legen wir fest, wo der Sensor angeschlossen werden soll, nämlich am Port A0
|
|
int sensorPin = A0;
|
|
// für die Anzeige verwenden wir wieder die LED auf dem Arduino
|
|
int ledPin = LED_BUILTIN;
|
|
// Und zum Speichern der Helligkeit brauchen wir eine Variable, die eine Zahl (int wie Integer, also eine Ganzzahl ohne Vorzeichen - wie eine natürliche Zahl) speichern kann
|
|
int sensorWert = 0;
|
|
|
|
void setup() {
|
|
pinMode(ledPin, OUTPUT);
|
|
}
|
|
|
|
void loop() {
|
|
// analogRead liest die aktuelle Helligkeit vom Lichtsensor
|
|
// Der Lichtsensor gibt eine Zahl zwischen 0 (für ganz dunkel) und 1000 (für ganz hell) zurück
|
|
sensorWert = analogRead(sensorPin);
|
|
// jetzt schalten iwr die LED ein
|
|
digitalWrite(ledPin, HIGH);
|
|
// Dann warten wir...
|
|
// Wir warten so lange, wie der Lichtsensor gesagt hat, dass es hell ist
|
|
// Also wenn es heller ist warten wir länger, weil die Zahl, die der Lichtsensor zurückgegeben hat größer ist
|
|
// Wenn es dunkler ist warten wir kürzer, weil die Zahl, die zurückgegeben wurde kleiner ist
|
|
delay(sensorWert);
|
|
digitalWrite(ledPin, LOW);
|
|
delay(sensorWert);
|
|
}
|