// Der Lichtaddierer nach einer Idee von Marwin Grumpelt 21.03.2017
// modifiziert von S. Schlote 22.03.2017
int sensorPin = A0; // Analogeingang A0 mit der Mitte des Spannungsteilers
// aus LDR und Widerstand
int ledPin = 3; // PWM-Ausgang für die Lichtquelle. Zu Testzwecken eine
// LED, die über 330 Ohm mit Masse (GND) verbunden ist.
int sensorValue = 0; // Variable für den Sensorwert
int ledPlus = 0; // Variable für den Aktorwert z.B. Licht
void setup()
{
pinMode(ledPin,OUTPUT); // Lege Digitalpin Nr ledPin als Ausgang fest.
Serial.begin(9600); // Bereite die Kommunikation mit der Serial-Monitor vor
}
void loop()
{
sensorValue = analogRead(sensorPin); // Auslesen des Messwerts für Helligkeit
Serial.print("LDR: ");
Serial.print(sensorValue, DEC); // Schreibe den Rohwert in den Serial-Monitor
ledPlus = map(sensorValue, 500, 0, 255, 0); // sensorValue nimmt mit zunehmenden Licht
// von circa 500 auf fast 0 ab
// der Aktivität des Aktors (Lichtquelle)
// soll im gleichen Maß von 0 bis 255 zunehmen
if (ledPlus < 30 ) // Grenze ab der Zusatzlicht benötigt wird
{
ledPlus = 0;
}
analogWrite(ledPin, ledPlus);
Serial.print(" Aktion: ");
Serial.println(ledPlus, DEC); // Ausgabe des kalkulierten Werts für Zusatzlicht
delay(250); // kurze Pause
}
TAG-Tag am 21.03.2017: Die Technik-Garage beschäftigte sich mit Projekten rund um die kommenden Maker Faire. Im Zentrum stand der Fotobioreaktor. Wie verlängert man die Photoperiode und minimiert die für das notwendige Zusatzlicht eingesetzte Energie?
Weiterlesen …