Kann mir jemand bei meinem Countdown helfen?

Servus zusammen,
anbei die andere Hälfte des Codes für meinem Pulverofen.
Hier ist die Tasterabfrage noch anders codiert. Wobei diese auf am Ofen funktioniert.
@Deltaflyer Kannst du mir evtl. wenn es dir recht ist die Hälften mit dem Counter Code zusammenfügen? Das wäre super nett :slight_smile:

//Letzte aktualisierung -> 04.01.2024 um 17:51 Uhr 

#include <LCD_I2C.h>
#include <max6675.h>

LCD_I2C LCD1(0x27, 20, 4);
LCD_I2C LCD2(0x23, 20, 4);

//Taster für Temperatursensoren
const int tasterPin = 27;
const int tasterPin_2 = 25;
const int tasterPin_3 = 24;
const int tasterPin_4 = 26;

int tasterZustand = LOW;
int vorherigerTasterZustand = HIGH;  
int zaehler = 0;

int tasterZustand_2 = LOW;
int vorherigerTasterZustand_2 = HIGH;  
int zaehler_2 = 0;

int tasterZustand_3 = LOW;
int vorherigerTasterZustand_3 = HIGH;  
int zaehler_3 = 0;

int tasterZustand_4 = LOW;
int vorherigerTasterZustand_4 = HIGH;  
int zaehler_4 = 0;


//Temperatursensor 1
int thermoDO = 11;
int thermoCS = 12;
int thermoCLK = 10;
MAX6675 thermocouple1(thermoCLK, thermoCS, thermoDO);

//Temperatursensor 2
int thermoDO_2 = 5;
int thermoCS_2 = 4;
int thermoCLK_2 = 13;
MAX6675 thermocouple2(thermoCLK_2, thermoCS_2, thermoDO_2);

//Temperatursensor 3
int thermoDO_3 = 3;
int thermoCS_3 = 2;
int thermoCLK_3 = 1;
MAX6675 thermocouple3(thermoCLK_3, thermoCS_3, thermoDO_3);

//Temperatursensor 4
int thermoDO_4= 0;
int thermoCS_4 = 22;
int thermoCLK_4 = 23;
MAX6675 thermocouple4(thermoCLK_4, thermoCS_4, thermoDO_4);

//Variablen für Berechnungen und Anzeigen
double Temperatur_1;
double Temperatur_2;
double Temperatur_3;
double Temperatur_4;

int Summe_1 = Temperatur_1 + Temperatur_2;
int Summe_2 = Temperatur_1 + Temperatur_3;
int Summe_3 = Temperatur_1 + Temperatur_4;

int Summe_4 = Temperatur_2 + Temperatur_3;
int Summe_5 = Temperatur_2 + Temperatur_4;

int Summe_6 = Temperatur_3 + Temperatur_4;

int Summe_7 = Temperatur_1 + Temperatur_2 + Temperatur_3;
int Summe_8 = Temperatur_1 + Temperatur_2 + Temperatur_4;
int Summe_9 = Temperatur_2 + Temperatur_3 + Temperatur_4;
int Summe_11 = Temperatur_1 + Temperatur_3 + Temperatur_4;

int Summe_10 = Temperatur_1 + Temperatur_2 + Temperatur_3 + Temperatur_4;

float Mittelwert_1 = Summe_1 / 2.0;
float Mittelwert_2 = Summe_2 / 2.0;
float Mittelwert_3 = Summe_3 / 2.0;
float Mittelwert_4 = Summe_4 / 2.0;
float Mittelwert_5 = Summe_5 / 2.0;
float Mittelwert_6 = Summe_6 / 2.0;
float Mittelwert_7 = Summe_7 / 3.0;
float Mittelwert_8 = Summe_8 / 3.0;
float Mittelwert_9 = Summe_9 / 3.0;
float Mittelwert_10 = Summe_10 / 4.0;
float Mittelwert_11 = Summe_11 / 3.0;



void setup()
{
  LCD1.begin();
  LCD1.backlight();
  LCD2.begin();
  LCD2.backlight();
  Serial.begin(9600);
  updateLCD_1();
  updateLCD();
  pinMode(Poti_Counter, INPUT);
  pinMode(tasterPin, INPUT_PULLUP);
  pinMode(tasterPin_2, INPUT_PULLUP);
  pinMode(tasterPin_3, INPUT_PULLUP);
  pinMode(tasterPin_4, INPUT_PULLUP);
}

void loop() 
{
  //*******************************************Abfrage der Temperatur************************************************************
  //Temperatursensor_1 Abfrage
     TemperaturSensor_1 = thermocouple1.readCelsius();

   //Temperatursensor_2 Abfrage
     TemperaturSensor_2= thermocouple2.readCelsius();

  //Temperatursensor_3 Abfrage
     TemperaturSensor_3 = thermocouple3.readCelsius();

  //Temperatursensor_4 Abfrage
    TemperaturSensor_4 = thermocouple4.readCelsius();
  //*****************************************************************************************************************************


  //Tasterabfrage und Änderung des Zählerstandes für S1 
  tasterZustand = digitalRead(tasterPin);
  if (tasterZustand == HIGH && vorherigerTasterZustand == LOW) 
  {
    zaehler = 1 - zaehler;
    Serial.println("Zählerstand_1: ");
    Serial.println(zaehler);
  }
  vorherigerTasterZustand = tasterZustand;

 //Tasterabfrage und Änderung des Zählerstandes für S2
  tasterZustand_2 = digitalRead(tasterPin_2);
  if (tasterZustand_2 == HIGH && vorherigerTasterZustand_2 == LOW) 
  {
    zaehler_2 = 1 - zaehler_2;
    Serial.println("Zählerstand_2: ");
    Serial.println(zaehler_2);
  }
  vorherigerTasterZustand_2 = tasterZustand_2;

 //Tasterabfrage und Änderung des Zählerstandes für S3
  tasterZustand_3 = digitalRead(tasterPin_3);
  if (tasterZustand_3 == HIGH && vorherigerTasterZustand_3 == LOW) 
  {
    zaehler_3 = 1 - zaehler_3;
    Serial.println("Zählerstand_3: ");
    Serial.println(zaehler_3);
  }
  vorherigerTasterZustand_3 = tasterZustand_3;

 //Tasterabfrage und Änderung des Zählerstandes für S4
  tasterZustand_4 = digitalRead(tasterPin_4);
  if (tasterZustand_4 == HIGH && vorherigerTasterZustand_4 == LOW) 
  {
    zaehler_4 = 1 - zaehler_4;
    Serial.println("Zählerstand_4: ");
    Serial.println(zaehler_4);
  }
  vorherigerTasterZustand_4 = tasterZustand_4;

  updateLCD();
}


void updateLCD()
{
  delay(1000);
  
  switch (1000 * zaehler + 100 * zaehler_2 + 10 * zaehler_3 + 1* zaehler_4) 
  {
    case 1000: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("T1 = ");
      LCD1.print(Temperatur_1);
      LCD1.setCursor(0, 1);
      LCD1.print("Temperatur 2 = AUS");
      LCD1.setCursor(0, 2);
      LCD1.print("Temperatur 3 = AUS");
      LCD1.setCursor(0, 3);
      LCD1.print("Temperatur 4 = AUS");
      Serial.println("case 1000");
      break;

    case 100: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("Temperatur 1 = AUS ");
      LCD1.setCursor(0, 1);
      LCD1.print("T 2 = ");
      LCD1.print(Temperatur_2);
      LCD1.setCursor(0, 2);
      LCD1.print("Temperatur 3 = AUS");
      LCD1.setCursor(0, 3);
      LCD1.print("Temperatur 4 = AUS");
      Serial.println("case 100");
      break;

    case 10: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("Temperatur 1 = AUS");
      LCD1.setCursor(0, 1);
      LCD1.print("Temperatur 2 = AUS");
      LCD1.setCursor(0, 2);
      LCD1.print("T3 = ");
      LCD1.print(Temperatur_3);
      LCD1.setCursor(0, 3);
      LCD1.print("Temperatur 4 = AUS");
      Serial.println("case 10");
      break;

    case 1: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("Temperatur 1 = AUS");
      LCD1.setCursor(0, 1);
      LCD1.print("Temperatur 2 = AUS");
      LCD1.setCursor(0, 2);
      LCD1.print("Temperatur 3 = AUS");
      LCD1.setCursor(0, 3);
      LCD1.print("T4 = ");
      LCD1.print(Temperatur_4);
      Serial.println("case 1");
      break;

    case 1100: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("T1= ");
      LCD1.print(Temperatur_1);
      LCD1.setCursor(0, 1);
      LCD1.print("T2= ");
      LCD1.print(Temperatur_2);
      LCD1.setCursor(11, 1);
      LCD1.print("D= ");
      LCD1.print(Mittelwert_1);
      LCD1.setCursor(0, 2);
      LCD1.print("Temperatur 3 = AUS");
      LCD1.setCursor(0, 3);
      LCD1.print("Temperatur 4 = AUS");
      Serial.println("case 1100");
      break;

    case 1010: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("T1 = ");
      LCD1.print(Temperatur_1);
      LCD1.setCursor(0, 1);
      LCD1.print("Temperatur 2 = AUS");
      LCD1.setCursor(0, 2);
      LCD1.print("T3 = ");
      LCD1.print(Temperatur_3);
      LCD1.setCursor(11, 2);
      LCD1.print("D=");
      LCD1.print(Mittelwert_2);
      LCD1.setCursor(0, 3);
      LCD1.print("Temperatur 4 = AUS");
      Serial.println("case 1010");
      break;

    case 1001: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("T1 = ");
      LCD1.print(Temperatur_1);
      LCD1.setCursor(0, 1);
      LCD1.print("Temperatur 2 = AUS");
      LCD1.setCursor(0, 2);
      LCD1.print("Temperatur 3 = AUS");
      LCD1.setCursor(0, 3);
      LCD1.print("T4 = ");
      LCD1.print(Temperatur_4);
      LCD1.setCursor(11, 3);
      LCD1.print("D=");
      LCD1.print(Mittelwert_3);
      Serial.println("case 1001");
      break;

    case 110: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("Temperatur 1 = AUS");
      LCD1.setCursor(0, 1);
      LCD1.print("T2 = ");
      LCD1.print(Temperatur_2);
      LCD1.setCursor(0, 2);
      LCD1.print("T3 = ");
      LCD1.print(Temperatur_3);
      LCD1.setCursor(11, 2);
      LCD1.print("D=");
      LCD1.print(Mittelwert_4);
      LCD1.setCursor(0, 3);
      LCD1.print("Temperatur 4 = AUS");
      Serial.println("case 110");
      break;

    case 101: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("Temperatur 1 = AUS");
      LCD1.setCursor(0, 1);
      LCD1.print("T2 = ");
      LCD1.print(Temperatur_2);
      LCD1.setCursor(0, 2);
      LCD1.print("Temperatur 3 = AUS");
      LCD1.setCursor(0, 3);
      LCD1.print("T4 = ");
      LCD1.print(Temperatur_4);
      LCD1.setCursor(11, 3);
      LCD1.print("D=");
      LCD1.print( Mittelwert_5);
      Serial.println("case 0101");
      break;

    case 11:  /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("Temperatur 1 = AUS");
      LCD1.setCursor(0, 1);
      LCD1.print("Temperatur 2 = AUS");
      LCD1.setCursor(0, 2);
      LCD1.print("T3 = ");
      LCD1.print(Temperatur_3);
      LCD1.setCursor(0, 3);
      LCD1.print("T4 = ");
      LCD1.print(Temperatur_4);
      LCD1.setCursor(11, 3);
      LCD1.print("D=");
      LCD1.print(Mittelwert_6);
      Serial.println("case 0011");
      break;

    case 1110: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("T1 = ");
      LCD1.print(Temperatur_1);
      LCD1.setCursor(0, 1);
      LCD1.print("T2 = ");
      LCD1.print(Temperatur_2);
      LCD1.setCursor(0, 2);
      LCD1.print("T3 = ");
      LCD1.print(Temperatur_3);
      LCD1.setCursor(11, 2);
      LCD1.print("D=");
      LCD1.print(Mittelwert_7);
      LCD1.setCursor(0, 3);
      LCD1.print("Temperatur 4 = AUS");
      Serial.println("case 1110");
      break;

    case 1101: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("T1 = ");
      LCD1.print(Temperatur_1);
      LCD1.setCursor(0, 1);
      LCD1.print("T2 = ");
      LCD1.print(Temperatur_2);
      LCD1.setCursor(0, 2);
      LCD1.print("Temperatur 3 = AUS");
      LCD1.setCursor(0, 3);
      LCD1.print("T4 = ");
      LCD1.print(Temperatur_4);
      LCD1.setCursor(11, 3);
      LCD1.print("D=");
      LCD1.print(Mittelwert_8);
      Serial.println("case 1101");
      break;
    
    case 1011: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("T1 = ");
      LCD1.print(Temperatur_1);
      LCD1.setCursor(0, 1);
      LCD1.print("Temperatur 2 = AUS");
      LCD1.setCursor(0, 2);
      LCD1.print("T3 = ");
      LCD1.print(Temperatur_3);
      LCD1.setCursor(0, 3);
      LCD1.print("T4 = ");
      LCD1.print(Temperatur_4);
      LCD1.setCursor(11, 3);
      LCD1.print("D=");
      LCD1.print(Mittelwert_11);
      Serial.println("case 1011");
      break;

    case 111: /*-------------------------------------------Fertig-------------------------------------*/
    LCD1.clear();
    LCD1.setCursor(0, 0);
    LCD1.print("Temperatur 1 = AUS");
    LCD1.setCursor(0, 1);
    LCD1.print("T2 = ");
    LCD1.print(Temperatur_2);
    LCD1.setCursor(0, 2);
    LCD1.print("T3 = ");
    LCD1.print(Temperatur_3);
    LCD1.setCursor(0, 3);
    LCD1.print("T4 = ");
    LCD1.print(Temperatur_4);
    LCD1.setCursor(11,3);
    LCD1.print("D=");
    LCD1.print(Mittelwert_9);
    Serial.println("case 0111");
    break;

    case 1111: /*-------------------------------------------Fertig-------------------------------------*/
    LCD1.clear();
    LCD1.setCursor(0, 0);
    LCD1.print("T1 = ");
    LCD1.print(Temperatur_1);
    LCD1.setCursor(0, 1);
    LCD1.print("T2 = ");
    LCD1.print(Temperatur_2);
    LCD1.setCursor(0, 2);
    LCD1.print("T3 = ");
    LCD1.print(Temperatur_3);
    LCD1.setCursor(0, 3);
    LCD1.print("T4 = ");
    LCD1.print(Temperatur_4);
    LCD1.setCursor(11, 3);
    LCD1.print("D=");
    LCD1.print(Mittelwert_10);
    Serial.println("case 1111");
    break;

    default: /*-------------------------------------------Fertig-------------------------------------*/
      LCD1.clear();
      LCD1.setCursor(0, 0);
      LCD1.print("Temperatur 1 = AUS");
      LCD1.setCursor(0, 1);
      LCD1.print("Temperatur 2 = AUS");
      LCD1.setCursor(0, 2);
      LCD1.print("Temperatur 3 = AUS");
      LCD1.setCursor(0, 3);
      LCD1.println("Temperatur 4 = AUS");
      break;
  }
}