52 lines
1.1 KiB
Arduino
52 lines
1.1 KiB
Arduino
|
void readsensors() {
|
||
|
ledon();
|
||
|
digitalWrite(regensensorpower, HIGH);
|
||
|
delay(50);
|
||
|
|
||
|
temp = 0;
|
||
|
bodentemp = 0;
|
||
|
druck_sensorwert = 0;
|
||
|
feuchte = 0;
|
||
|
lux = 0;
|
||
|
regensensorwert = 0;
|
||
|
uv = 0;
|
||
|
|
||
|
for (int i = 0; i < 3; ++i) {
|
||
|
//BME280
|
||
|
//temp += bme.readTemperature();
|
||
|
druck_sensorwert += bme.readPressure();
|
||
|
feuchte += bme.readHumidity();
|
||
|
|
||
|
//BH1750
|
||
|
lux += lightMeter.readLightLevel();
|
||
|
|
||
|
//DS18B20
|
||
|
ds18b20.requestTemperatures();
|
||
|
bodentemp += ds18b20.getTempC(ds18b20_0m);
|
||
|
temp += ds18b20.getTempC(ds18b20_2m);
|
||
|
|
||
|
//VEML6070
|
||
|
uv += uvMeter.readUV(); //measurement takes as long as the integration time is set
|
||
|
|
||
|
//Regensensor
|
||
|
regensensorwert += analogRead(regensensorpin);
|
||
|
|
||
|
delay(100);
|
||
|
}
|
||
|
temp = temp / 3;
|
||
|
druck_sensorwert = druck_sensorwert / 3;
|
||
|
feuchte = feuchte / 3;
|
||
|
lux = lux / 3;
|
||
|
bodentemp = bodentemp / 3;
|
||
|
uv = uv / 3;
|
||
|
regensensorwert = regensensorwert / 3;
|
||
|
digitalWrite(regensensorpower, LOW);
|
||
|
|
||
|
//Rechnen
|
||
|
//druck = (druck_sensorwert / 100) + (hoehe / 8.5);
|
||
|
druck = druck_sensorwert / 100;
|
||
|
druck = bme.seaLevelForAltitude(hoehe, druck);
|
||
|
|
||
|
ledoff();
|
||
|
}
|