این برنامه رو ببین
3 صفحه منو داره
اگه وارد صفحه 2 و 3 شد اما 5 ثانیه هیچ اکشنی انجام نشد برمیگرده به صفحه اول :
کد:#include <LCD_GFX.h> #include <NOKIA5110.h> NOKIA5110 display = NOKIA5110(7, 6, 5, 4, 3); int mpage = 0; int flag8 = 0; int oldflag8 = 0; int counter = 0; long long previousMillis = 0; unsigned long currentMillis = 0; void setup() { Serial.begin(9600); display.begin(); display.setContrast(60); display.display(); // show splashscreen delay(2000); display.clearDisplay(); // clears the screen and buffer pinMode(8, INPUT_PULLUP); pinMode(9, INPUT_PULLUP); Serial.println("End of setup"); } void loop() { keyAction(); } void showData(String data) { display.println(data); //Write a Text display.setTextSize(1); display.display(); display.clearDisplay(); display.setCursor(0, 15); display.println("Counter="); //Write a Text display.setTextSize(1); display.display(); display.clearDisplay(); display.setCursor(50, 15); display.println(counter); //Write a Text display.setTextSize(1); display.display(); display.clearDisplay(); } void keyAction() { currentMillis = millis(); if ( digitalRead(8) == LOW ) { previousMillis = currentMillis; flag8++; delay(200); } if ( digitalRead(9) == LOW ) { previousMillis = currentMillis; counter++; delay(200); } menuProcess() ; menuTimeProcess() ; } void menuProcess() { if ( flag8 == 0) { Serial.println("first"); showData("Main menu"); oldflag8 = flag8; } if ( flag8 == 1) { Serial.println("second"); showData("submenu1"); } if ( flag8 == 2) { Serial.println("Third"); showData("submenu2"); } if ( flag8 == 3) { flag8 = 0; } } void menuTimeProcess() { long diff = currentMillis - previousMillis; if ( diff > 5000 ) { flag8 = 0; } }


3 لایک
LinkBack URL
About LinkBacks



پاسخ با نقل قول