void menu() { exitMenu = 1; buttonValue = analogRead(buttonPin); //lecture de la valeur des boutons Serial.println(buttonValue); //debug if(buttonValue <1000){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(F(">Seuil bas: ")); display.println(rpmlow); display.print(F(" Seuil haut: ")); display.println(rpmhigh); display.print(F(" facteur: ")); display.println(rpmfactor); display.display(); btPresse=1; menuValue = MENU1_1; Serial.println(F("Init menu OK")); //debug while(exitMenu == 1){ Serial.println(F("while loop entry")); //debug //exitMenu = 0; //debug noInterrupts(); buttonValue = analogRead(buttonPin); //lecture de la valeur des boutons int tmpButtonState = 0; // the current reading from the input pin if(buttonValue>=BUTTON1LOW && buttonValueBUTTON2LOW && buttonValueBUTTON3LOW && buttonValueBUTTON4LOW && buttonValueBUTTON5LOW && buttonValue1000){ btPresse = 0; buttonState=7; } // check to see if you just pressed the button // (i.e. the input went from LOW to a buttonState), and you've waited // long enough since the last press to ignore any noise: // If the switch changed, due to noise or pressing: if (tmpButtonState != lastButtonState) { // reset the debouncing timer lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) { // whatever the reading is at, it's been there for longer // than the debounce delay, so take it as the actual current state: buttonState = tmpButtonState; } // save the reading. Next time through the loop, // it'll be the lastButtonState: lastButtonState = tmpButtonState; Serial.print(F("buttonsState: ")); Serial.println(buttonState); switch(buttonState){ case BUTTON1: //gauche switch(menuValue){ case MENU1_1: if (btPresse == 0){ exitMenu = 0; btPresse = 1; } break; case MENU1_2: if (btPresse == 0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(F(">Seuil bas: ")); display.println(rpmlow); display.print(F(" Seuil haut: ")); display.println(rpmhigh); display.print(F(" facteur: ")); display.println(rpmfactor); display.display(); menuValue=MENU1_1; btPresse = 1; } break; case MENU2_1: if (btPresse ==0){ exitMenu = 0; btPresse = 1; } break; case MENU2_2: if (btPresse == 0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(F(" Seuil bas: ")); display.println(rpmlow); display.print(F(">Seuil haut: ")); display.println(rpmhigh); display.print(F(" facteur: ")); display.println(rpmfactor); display.display(); menuValue=MENU2_1; btPresse = 1; } break; case MENU3_1: if (btPresse ==0){ exitMenu = 0; btPresse = 1; } break; case MENU3_2: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(F(" Seuil bas: ")); display.println(rpmlow); display.print(F(" Seuil haut: ")); display.println(rpmhigh); display.print(F(">facteur: ")); display.println(rpmfactor); display.display(); menuValue =MENU3_1; btPresse = 1; } break; } break; case BUTTON2: //haut switch(menuValue){ case MENU1_1: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(">Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); btPresse = 1; } break; case MENU1_2: if (btPresse ==0){ rpmlow=rpmlow-100; display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; case MENU2_1: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(">Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); menuValue=MENU1_1; btPresse = 1; } break; case MENU2_2: if (btPresse==0){ rpmhigh=rpmhigh-100; display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(">Seuil bas: "); display.println(rpmlow); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; case MENU3_1: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(">Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); menuValue=MENU2_1; btPresse = 1; } break; case MENU3_2: if (btPresse == 0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("facteur: "); display.println(rpmfactor); display.display(); btPresse = 1; } break; } break; case BUTTON3: //droite switch(menuValue){ case MENU1_1: if (btPresse == 0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); menuValue=MENU1_2; btPresse = 1; } break; case MENU1_2: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; case MENU2_1: if (btPresse==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); menuValue=MENU2_2; btPresse=1; } break; case MENU2_2: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; case MENU3_1: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("facteur: "); display.println(rpmfactor); display.display(); menuValue =MENU3_2; btPresse = 1; } break; case MENU3_2: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; } break; case BUTTON4: //OK switch(menuValue){ case MENU1_1: if (btPresse == 0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); menuValue=MENU1_2; btPresse = 1; } break; case MENU1_2: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; case MENU2_1: if (btPresse==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); menuValue=MENU2_2; btPresse=1; } break; case MENU2_2: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; case MENU3_1: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("facteur: "); display.println(rpmfactor); display.display(); menuValue =MENU3_2; btPresse = 1; } break; case MENU3_2: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; } break; case BUTTON5: //bas switch(menuValue){ case MENU1_1: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(">Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); menuValue=MENU2_1; btPresse = 1; } break; case MENU1_2: if (btPresse ==0){ rpmlow=rpmlow+100; display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; case MENU2_1: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(">facteur: "); display.println(rpmfactor); display.display(); menuValue=MENU3_1; btPresse = 1; } break; case MENU2_2: if (btPresse==0){ rpmhigh=rpmhigh+100; display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(">Seuil bas: "); display.println(rpmlow); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("Seuil haut: "); display.println(rpmhigh); display.print(" facteur: "); display.println(rpmfactor); display.display(); btPresse=1; } break; case MENU3_1: if (btPresse ==0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.print(">facteur: "); display.println(rpmfactor); display.display(); btPresse = 1; } break; case MENU3_2: if (btPresse == 0){ display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextColor(WHITE,BLACK); display.print(" Seuil bas: "); display.println(rpmlow); display.print(" Seuil haut: "); display.println(rpmhigh); display.setTextColor(BLACK,WHITE); display.print(">"); display.setTextColor(WHITE,BLACK); display.print("facteur: "); display.println(rpmfactor); display.display(); btPresse = 1; } break; } break; } EEPROM_writeAnything(0, rpmlow); EEPROM_writeAnything(2, rpmhigh); EEPROM_writeAnything(4, rpmfactor); interrupts(); } //fin while } //fin if }