LØST rotary encoder og trykknap

Hej igen

tak for din ide. Det fungerer godt.
dog har jeg et lille problem. Efter skiftet til Switch Case skriver Serial.println flere gange, uvilkårligt.
Jeg SKAL kun have Serial.println til at skrive 1 gang,(for hvert tryk på knap) fordi den skal aktivere en fil på computer via Gobetwino. Hvis Serial.println skriver mere end en gang, starter Gobetwino'en filen flere gange.
I sketch'en er "rotary-emneskift-delen" udskiftet med "trykknap op/ned-emneskift-del".

const int  KonUP = 13;           //up & down//
const int KonDO = 12;

int buttonPushCounter = 0;   
int buttonState = 0; 
int buttonState2 = 0;
int lastButtonState = 0;     
int lastButtonState2 = 0;

const int kon1 = 2;       //knapper//
const int kon2 = 3;


int currState1;
int prevState1;
int currState2;
int prevState2;







void setup() {

  pinMode(KonUP, INPUT);       // Up & down//
  digitalWrite(KonUP, HIGH);
  pinMode(KonDO, INPUT);
  digitalWrite(KonDO, HIGH);

  pinMode(kon1, INPUT);        // knapper//
  digitalWrite(kon1, HIGH);
  pinMode(kon2, INPUT);
  digitalWrite(kon2, HIGH);


  Serial.begin(9600);
}


void loop() 

{



  buttonState = digitalRead(KonUP);


  if (buttonState != lastButtonState) {

    if (buttonState == LOW) {

      buttonPushCounter++;

      Serial.print("emne:  ");
      Serial.println(buttonPushCounter);

    }
  }

  lastButtonState = buttonState;

  {

    buttonState2 = digitalRead(KonDO);


    if (buttonState2 != lastButtonState2) {

      if (buttonState2 == LOW) {

        buttonPushCounter--;

        Serial.print("emne:  ");
        Serial.println(buttonPushCounter);

      }
    }

    lastButtonState2 = buttonState2;

  }

  //kontakter koder//


  {
    currState1 = digitalRead(kon1);
    currState2 = digitalRead(kon2);
  



    if (currState1 !=prevState1)            //trykknap 1//
      switch (buttonPushCounter) {
      case 1 : 
        Serial.println("1"); 
        break;
      case 2 : 
        Serial.println("11"); 
        break;
      case 3: 
        Serial.println("21"); 
        break;
      }
    prevState1=currState1 ;
  }

  if (currState2 !=prevState2)            //trykknap 2//
    switch (buttonPushCounter) {
    case 1 : 
      Serial.println("2"); 
      break;
    case 2 : 
      Serial.println("12"); 
      break;
    case 3: 
      Serial.println("22"); 
      break;
    }
  prevState2=currState2 ;
}