نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
من یه پروژه ساده ساخته بودم با nokia 5110
منو سه صفحه ای داشت و یه کانتر رو توی سه صفحه می شد مقادیرش رو با کلید دوم تغییر داد

میتونید از این کد الهام بگیرید و پیش برید :
کد:
#include <LCD_GFX.h>
#include <NOKIA5110.h>


NOKIA5110 display = NOKIA5110(7, 6, 5, 4, 3);


int mpage = 0;
int flag8 = 0;
int counter=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()
{
  if ( digitalRead(8) == LOW  ) {
    flag8++;
    Serial.println(flag8);
    delay(200);
  }
  if ( digitalRead(9) == LOW  ) {
    counter++;
    Serial.println(counter);
    delay(200);
  }
  menuProcess() ;
}


void menuProcess() {
  if ( flag8 == 0)  {
    Serial.println("first");
    showData("Main menu");
  }
  if ( flag8 == 1)  {
    Serial.println("second");
    showData("submenu1");
  }
  if ( flag8 == 2) {
 
    Serial.println("Third");
    showData("submenu2");
  }
  if ( flag8 == 3) {
    flag8 = 0;
  }
}
ممنون . مشکل حل شد . دستور lcd.clear رو از حلقه ها حذف کردم درست شد/