2025-11-2012
This commit is contained in:
@@ -24,11 +24,13 @@ HardwareSerial Co2Port(1); // use UART2
|
|||||||
#define CO2_WARN_5 2000
|
#define CO2_WARN_5 2000
|
||||||
#define CO2_CRITICAL_PPM 1850
|
#define CO2_CRITICAL_PPM 1850
|
||||||
|
|
||||||
int CO2Wert = -99;
|
//int CO2Wert = -99;
|
||||||
char antwort[100] = {0xFF};
|
char antwort[100] = {0xFF};
|
||||||
int range =2000;
|
int range =2000;
|
||||||
bool readCo2Flag = true;
|
bool readCo2Flag = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char getCheckSum(char *packet)
|
char getCheckSum(char *packet)
|
||||||
{
|
{
|
||||||
char i, checksum;
|
char i, checksum;
|
||||||
@@ -94,7 +96,7 @@ void setRange()
|
|||||||
void beginC02()
|
void beginC02()
|
||||||
{
|
{
|
||||||
Co2Port.begin(9600, SERIAL_8N1, 32, 33);
|
Co2Port.begin(9600, SERIAL_8N1, 32, 33);
|
||||||
readCo2Flag = false;
|
//readCo2Flag = false;
|
||||||
delay(100);
|
delay(100);
|
||||||
calibrationCo2();
|
calibrationCo2();
|
||||||
delay(100);
|
delay(100);
|
||||||
|
|||||||
@@ -76,14 +76,36 @@ build_flags = ${env.build_flags}
|
|||||||
-DLUFTDRUCK=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/pressure\"
|
-DLUFTDRUCK=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/pressure\"
|
||||||
-DFEUCHTIGKEIT=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/humity\"
|
-DFEUCHTIGKEIT=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/humity\"
|
||||||
-DHELL=\"hjk/devices/DisplayMarcel/telemetry/Lux\"
|
-DHELL=\"hjk/devices/DisplayMarcel/telemetry/Lux\"
|
||||||
-DHTU_Korrectur=-0.55
|
-DHTU_Korrectur=-1.05
|
||||||
-DBME_Korrectur=-0.00
|
-DBME_Korrectur=-0.00
|
||||||
-DKorrekturLuftdruck=0.00
|
-DKorrekturLuftdruck=0.00
|
||||||
-DHTUKorrekturFeuchte=0.00
|
-DHTUKorrekturFeuchte=0.00
|
||||||
-DBME_KorrekturFeuchte=0.00
|
-DBME_KorrekturFeuchte=0.00
|
||||||
-DAKKU_GREZWERT=2.950
|
-DAKKU_GREZWERT=2.950
|
||||||
|
|
||||||
|
[env:marcelDebug] ; Sulzfeld
|
||||||
|
build_flags = ${env.build_flags}
|
||||||
|
-DSTASSID=\"MagentaWLAN-RGDO\"
|
||||||
|
-DSTAPSK=\"93329248424922704583\"
|
||||||
|
-DGATEWAY=\"192.168.127.1\"
|
||||||
|
-DDNS=\"192.168.127.1\"
|
||||||
|
-DSECONDARDNS=\"8.8.8.8\"
|
||||||
|
-DMYIP=\"192.168.127.52\"
|
||||||
|
-DSUBNET=\"255.255.255.0\"
|
||||||
|
-Dmqtt_server=\"hjkmqtt.dedyn.io\"
|
||||||
|
-DMQTTPORT=61883
|
||||||
|
|
||||||
|
-DAKKU=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/battery\"
|
||||||
|
-DWETTER=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/temperature_Htu_21\"
|
||||||
|
-DLUFTDRUCK=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/pressure\"
|
||||||
|
-DFEUCHTIGKEIT=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/humity\"
|
||||||
|
-DHELL=\"hjk/devices/DisplayMarcel/telemetry/Lux\"
|
||||||
|
-DHTU_Korrectur=-1.05
|
||||||
|
-DBME_Korrectur=-0.00
|
||||||
|
-DKorrekturLuftdruck=0.00
|
||||||
|
-DHTUKorrekturFeuchte=0.00
|
||||||
|
-DBME_KorrekturFeuchte=0.00
|
||||||
|
-DAKKU_GREZWERT=2.950
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
90
src/main.cpp
90
src/main.cpp
@@ -156,7 +156,7 @@ const int CoY = 43;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int Co2 = 0.00;
|
int Co2Messwert = 0.00;
|
||||||
float Covid19 = 0.00;
|
float Covid19 = 0.00;
|
||||||
float Aussentemp = -99.90;
|
float Aussentemp = -99.90;
|
||||||
int Pressure = 0;
|
int Pressure = 0;
|
||||||
@@ -340,7 +340,7 @@ void callback(char* topic1, byte* payload, unsigned int length) {
|
|||||||
Serial.print("Co2 Sensor !!!: ");
|
Serial.print("Co2 Sensor !!!: ");
|
||||||
Serial.print(msg);
|
Serial.print(msg);
|
||||||
Serial.println();
|
Serial.println();
|
||||||
Co2 = atoi(msg);
|
Co2Messwert = atoi(msg);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -418,22 +418,21 @@ void ZeigeTestTime(tm localTime)
|
|||||||
display.setFont(0);
|
display.setFont(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeigeCO(int xPos = 1, int yPos = 19)
|
void ZeigeCO(int Co2, int xPos = 1, int yPos = 19)
|
||||||
{
|
{
|
||||||
if (xPos < 1) xPos = 1;
|
if (xPos < 1) xPos = 1;
|
||||||
if (yPos < 19) yPos = 19;
|
if (yPos < 19) yPos = 19;
|
||||||
if (Co2 > 300.00){
|
display.fillRect(0, 34-10, 64, 8, myBLACK);
|
||||||
|
if (Co2 > 300){
|
||||||
char szCO[10];
|
char szCO[10];
|
||||||
sprintf(szCO, "%4d", CO2Wert);
|
sprintf(szCO, "%4d", Co2);
|
||||||
//Serial.print("CO = "); Serial.println(szCO);
|
|
||||||
//display.setCursor(xPos, yPos); */
|
|
||||||
display.setFont();
|
display.setFont();
|
||||||
switch (Co2){
|
switch (Co2){
|
||||||
case 0 ... CO2_WARN_1 -1: {
|
case 0 ... CO2_WARN_1 -1: {
|
||||||
display.setTextColor(myCo); // green
|
display.setTextColor(myCo); // green
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case CO2_WARN_3 ... CO2_WARN_4 -1: {
|
case CO2_WARN_1 ... CO2_WARN_4 -1: {
|
||||||
display.setTextColor(myYELLOW);
|
display.setTextColor(myYELLOW);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -447,17 +446,19 @@ void ZeigeCO(int xPos = 1, int yPos = 19)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
//display.setTextColor(myGREEN);
|
display.setCursor(0, 25);
|
||||||
display.fillRect(xPos, yPos-2, 64-xPos, 8+2, (myBLACK));
|
display.print("CO");
|
||||||
display.print("CO :");
|
|
||||||
display.print(szCO);
|
|
||||||
// Hochzeichen zeichen CO²
|
|
||||||
display.setFont(&Picopixel);
|
display.setFont(&Picopixel);
|
||||||
display.setCursor(xPos+14, yPos+2);
|
display.setCursor(13, 28);
|
||||||
display.print("2");
|
display.print("2");
|
||||||
display.setCursor(xPos+50, yPos+6);
|
display.setCursor(25, 31);
|
||||||
|
display.setFont(0);
|
||||||
|
display.print(szCO);
|
||||||
|
display.setFont(&Picopixel);
|
||||||
|
display.setCursor(50, 30);
|
||||||
display.print("ppm");
|
display.print("ppm");
|
||||||
display.setFont();
|
display.setFont(0);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -554,55 +555,6 @@ void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeigeInnenCO(int Co2){
|
|
||||||
char szWetter[15];
|
|
||||||
display.fillRect(0, 34-10, 64, 8, myBLACK);
|
|
||||||
//Serial.println(Co2);
|
|
||||||
if (Co2 > 0)
|
|
||||||
{
|
|
||||||
sprintf(szWetter, "%5d", Co2);
|
|
||||||
Serial.print("CO = "); Serial.println(Co2);
|
|
||||||
display.setFont();
|
|
||||||
display.setCursor(1, 35-10);
|
|
||||||
switch (Co2){
|
|
||||||
case 400 ... CO2_WARN_1: {
|
|
||||||
display.setTextColor(myGREEN);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CO2_WARN_1+1 ... CO2_WARN_2: {
|
|
||||||
display.setTextColor(myYELLOW);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CO2_WARN_2+1 ... CO2_WARN_3: {
|
|
||||||
display.setTextColor(myBraun);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CO2_WARN_3+1 ... CO2_WARN_5: {
|
|
||||||
display.setTextColor(myRED);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
/* case CO2_WARN_4 ... CO2_WARN_5 -1: {
|
|
||||||
display.setTextColor(myRED);
|
|
||||||
break;
|
|
||||||
} */
|
|
||||||
default: {
|
|
||||||
display.setTextColor(myMAGENTA);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
display.print("CO");
|
|
||||||
display.setFont(&Picopixel);
|
|
||||||
display.setCursor(13, 35-10+3);
|
|
||||||
display.print("2");
|
|
||||||
display.setCursor(15, 35-10+6);
|
|
||||||
display.setFont(0);
|
|
||||||
display.print(szWetter);
|
|
||||||
display.setFont(&Picopixel);
|
|
||||||
display.setCursor(47, 35-10+5);
|
|
||||||
display.print("ppm");
|
|
||||||
display.setFont(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void ZeigeAussenTemp(float Aussentemp){
|
void ZeigeAussenTemp(float Aussentemp){
|
||||||
char szWetter[15];
|
char szWetter[15];
|
||||||
if (Aussentemp > -99)
|
if (Aussentemp > -99)
|
||||||
@@ -882,8 +834,8 @@ void loop() {
|
|||||||
{
|
{
|
||||||
if (readCo2Flag == true) //eadCo2Flag
|
if (readCo2Flag == true) //eadCo2Flag
|
||||||
{
|
{
|
||||||
CO2Wert = readCO2();
|
Co2Messwert = readCO2();
|
||||||
Serial.print("CO = \t"); Serial.println(CO2Wert);
|
Serial.print("CO = \t"); Serial.println(Co2Messwert);
|
||||||
readCo2Flag = false;
|
readCo2Flag = false;
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
@@ -910,7 +862,7 @@ void loop() {
|
|||||||
{
|
{
|
||||||
ZeigeTemperatur(htu21Data.Temp, myGREEN);
|
ZeigeTemperatur(htu21Data.Temp, myGREEN);
|
||||||
ZeigeInnenFeuchtigkeit(htu21Data.Feuchte);
|
ZeigeInnenFeuchtigkeit(htu21Data.Feuchte);
|
||||||
ZeigeInnenCO(Co2);
|
ZeigeCO(Co2Messwert);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 15 ... 29:
|
case 15 ... 29:
|
||||||
@@ -924,7 +876,7 @@ void loop() {
|
|||||||
{
|
{
|
||||||
ZeigeTemperatur(htu21Data.Temp, myGREEN);
|
ZeigeTemperatur(htu21Data.Temp, myGREEN);
|
||||||
ZeigeInnenFeuchtigkeit(htu21Data.Feuchte);
|
ZeigeInnenFeuchtigkeit(htu21Data.Feuchte);
|
||||||
ZeigeInnenCO(Co2);
|
ZeigeCO(Co2Messwert);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 45 ... 59:
|
case 45 ... 59:
|
||||||
|
|||||||
Reference in New Issue
Block a user