|
|
|
|
@ -8,12 +8,72 @@
@@ -8,12 +8,72 @@
|
|
|
|
|
#include "BH1750.h" |
|
|
|
|
#include "hseSensorProtocol.h" |
|
|
|
|
#include "ATSAMD21_ADC.h" |
|
|
|
|
#include <RTCZero.h> |
|
|
|
|
|
|
|
|
|
#define I2C_POWER 5 // bei Feather M0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// hse-Protokoll Datensatz
|
|
|
|
|
HseSP hse(2, 60); |
|
|
|
|
RTCZero zerortc; |
|
|
|
|
char szUhrzeit2[25]; |
|
|
|
|
uint16_t uiOldHour; |
|
|
|
|
uint16_t uiOnStd; |
|
|
|
|
|
|
|
|
|
// Uhr anhand des Compiler Zeitpunkt setzen
|
|
|
|
|
// es geht nur die Uhrzeit (Monat und Jahr von Hand)
|
|
|
|
|
void InitTimeDate(void) |
|
|
|
|
{ |
|
|
|
|
int h,m,t; |
|
|
|
|
|
|
|
|
|
zerortc.begin(); // Set up clocks
|
|
|
|
|
|
|
|
|
|
// nutze das Compiler Datum zum Stellen der Uhr
|
|
|
|
|
h = (__TIME__[0]-0x30)*10; |
|
|
|
|
h += (__TIME__[1]-0x30); |
|
|
|
|
|
|
|
|
|
m = (__TIME__[3]-0x30)*10; |
|
|
|
|
m += (__TIME__[4]-0x30); |
|
|
|
|
|
|
|
|
|
//Jun 10 2020.
|
|
|
|
|
//01234567890
|
|
|
|
|
t =(__DATE__[4]-0x30)*10; |
|
|
|
|
t +=(__DATE__[5]-0x30); |
|
|
|
|
|
|
|
|
|
// Uhrzeit stellen
|
|
|
|
|
zerortc.begin(); // Set up clocks
|
|
|
|
|
zerortc.setTime(h, m, 1); |
|
|
|
|
zerortc.setDate(t, 1, 22); |
|
|
|
|
|
|
|
|
|
uiOnStd = 0; |
|
|
|
|
Serial.println(" InitTimeDate "); |
|
|
|
|
|
|
|
|
|
PrintTimeDate(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//--------------------------------------------------
|
|
|
|
|
void PrintTimeDate(void) |
|
|
|
|
{ |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
// Datum auch
|
|
|
|
|
sprintf(szUhrzeit2, "%02d.%02d.%02d ", zerortc.getDay(), zerortc.getMonth(), zerortc.getYear() ); |
|
|
|
|
Serial.print(szUhrzeit2); |
|
|
|
|
|
|
|
|
|
// Zum Test Uhrzeit ausgeben
|
|
|
|
|
sprintf(szUhrzeit2, "%02d:%02d:%02d", zerortc.getHours(), zerortc.getMinutes(), zerortc.getSeconds() ); |
|
|
|
|
Serial.println(szUhrzeit2); |
|
|
|
|
|
|
|
|
|
// gesammt Stunden berechnen
|
|
|
|
|
i = zerortc.getHours(); |
|
|
|
|
if ( uiOldHour != i) |
|
|
|
|
{ |
|
|
|
|
uiOldHour = i; |
|
|
|
|
uiOnStd++; |
|
|
|
|
Serial.println(uiOnStd); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
@ -32,7 +92,10 @@ return result;
@@ -32,7 +92,10 @@ return result;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//--------------------------------------
|
|
|
|
|
// Messung vorbereiten
|
|
|
|
|
// zeig welche Sensoren angeschlossen sind
|
|
|
|
|
//--------------------------------------
|
|
|
|
|
void init_Messen() { |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
@ -77,12 +140,15 @@ void init_Messen() {
@@ -77,12 +140,15 @@ void init_Messen() {
|
|
|
|
|
Serial.println("ende"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//--------------------------
|
|
|
|
|
//------------------------------------------
|
|
|
|
|
// Messwerte beschaffen
|
|
|
|
|
//------------------------------------------
|
|
|
|
|
void MessenSensoren() { |
|
|
|
|
int i; |
|
|
|
|
float t, p, h, fUb; |
|
|
|
|
unsigned int lVisLux; |
|
|
|
|
|
|
|
|
|
PrintTimeDate(); |
|
|
|
|
|
|
|
|
|
Set_I2C_Adresse(BME280_ADR); |
|
|
|
|
i = I2C_read8(BME280_REGISTER_CHIPID); |
|
|
|
|
@ -146,5 +212,5 @@ void MessenSensoren() {
@@ -146,5 +212,5 @@ void MessenSensoren() {
|
|
|
|
|
hse.addClimateSensor(&cs); |
|
|
|
|
|
|
|
|
|
hse.addVoltage(fUb/1000.0); // in Volt
|
|
|
|
|
// hse.addCounter(uiOnStd); // Zeit On
|
|
|
|
|
hse.addCounter(uiOnStd); // Zeit On
|
|
|
|
|
} |
|
|
|
|
|