#include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); const int LED = D3; String Command=""; // Variables to keep the current and last state volatile int encoderPosCount = 0; int lastEncoded = 0; void displayMessage(String(message)) { display.clearDisplay(); display.setTextSize(2); display.setCursor(2,2); display.print(message); display.display(); } void setup() { Serial.begin(115200); Wire.begin(); if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed!!")); // for (;;); } else{ Serial.println("ready"); } display.setTextColor(WHITE); // Set encoder pins as input with pull-up resistors pinMode(LED, OUTPUT); displayMessage("ready"); } void loop() { if (Serial.available() > 0) { Command=Serial.readStringUntil('\n'); Serial.println(Command); if(Command == "1" || Command == "0"){ if(Command == "1"){ digitalWrite(LED, HIGH); }else{ digitalWrite(LED, LOW); } }else{ displayMessage(Command); } } }