#include <Wire.h>
#define ledPin 5
#define movementPin A0 // mindestens 3 V liefert
#define S1 10 // Schalter
#define SENSOR_ADR 0x23
float Get_B()
{
byte msb;
byte lsb;
float lux;
// Pointer-Byte senden
Wire.beginTransmission(SENSOR_ADR);
Wire.write(0x23);
Wire.endTransmission();
delay(200);
Wire.requestFrom(SENSOR_ADR, 2); // erwartet 2 bytes
msb = Wire.read();//liest ein BYTE
lsb = Wire.read();//liest ein BYTE
// Lux berechnen
lux = (msb * 256 + lsb) / 1.2;
return lux;
}
void setup()
{
Serial.begin(9600);
Wire.begin();
pinMode(S1, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop()
{
float B = Get_B();
Serial.print("Beleuchtungsstaerke: ");
Serial.print(B);
Serial.print(" lx");
delay(500);
if (digitalRead(S1) == LOW) // HIGH
{
if (B <= 300)
{
digitalWrite(ledPin, HIGH);
}
}
else if (digitalRead(S1) == HIGH) // LOW
{
if ((B > 300) && ())
{
analogWrite(movementPin, HIGH);
delay(60000); // delay is hierbei zullaesig
}
}
}