Hallo ich habe eine kleine Frage zu einem einfachen Menü. Ich war der Annahme das ein Menü aus einer
Switch Case Funktion besteht in der die einezelnen Menüpunkte hinterlegt werden. Der Switch Case Funktion geht in meinem Fall eine Variable vorraus die ich per Tasterabfrage hochzählen lasse. Je nachdem auf welchem Wert die Variable steht wird dann auch entsprechend der Menüpunkt angezeigt. Nur leider funktioniert das nicht so wie ich mir das gewünscht hätte :o . Bei Tastendruck ändert sich nichts. Die Variable wird anscheinend nicht hochgezählt. Kann mir hier evtl. jemand helfen. Hier mein Code dazu.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int backPin = 4;
int enterPin = 7;
int leftPin = 6;
int rightPin = 2;
int downPin = 3;
int upPin = 5;
int relaisPin = 8;
void setup()
{
lcd.begin();
pinMode(backPin,INPUT);
pinMode(enterPin,INPUT);
pinMode(leftPin,INPUT);
pinMode(rightPin,INPUT);
pinMode(downPin,INPUT);
pinMode(upPin,INPUT);
pinMode(relaisPin,OUTPUT);
}
void loop() {
int zahler;
int menucounter = 0;
if (digitalRead(upPin)==HIGH)
{
menucounter++;
digitalWrite(relaisPin, HIGH);
} else {
digitalWrite(relaisPin, LOW);
}
switch (menucounter)
{
case 1:
lcd.setCursor(0,0);
lcd.print("Heizzeiten ");
lcd.setCursor(0,1);
lcd.print(" ");
break;
case 2:
lcd.setCursor(0,0);
lcd.print("Temperaturen ");
lcd.setCursor(0,1);
lcd.print(" ");
break;
default:
lcd.setCursor(0,0);
lcd.print("Hauptmenue ");
lcd.setCursor(0,1);
lcd.print(" ");
}
}