#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_ADDR 0x3C
Adafruit_SSD1306 display(128, 64, &Wire, -1);
int j = 0;
void IRAM_ATTR clk(){
if(digitalRead(25) == 0) {
j--;
}
else {
j++;
}
if(j < 0) j = 2;
if(j > 2) j = 0;
}
void setup() {
// put your setup code here, to run once:
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
display.clearDisplay();
display.setTextColor(BLUE);
display.setTextSize(2);
Serial.begin(115200);
Serial.println("Hello, ESP32!");
attachInterrupt(25, clk, FALLING);
pinMode(26, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(j);
switch(i){
case 0:
display.clearDisplay();
display.setCursor(10, 10);
display.println(">>Menu 1");
display.setCursor(10, 30);
display.println(" Menu 2");
display.setCursor(10, 50);
display.println(" Menu 3");
display.display();
break;
case 1:
display.clearDisplay();
display.setCursor(10, 10);
display.println(" Menu 1");
display.setCursor(10, 30);
display.println(">>Menu 2");
display.setCursor(10, 50);
display.println(" Menu 3");
display.display();
break;
case 2:
display.clearDisplay();
display.setCursor(10, 10);
display.println(" Menu 1");
display.setCursor(10, 30);
display.println(" Menu 2");
display.setCursor(10, 50);
display.println(">>Menu 3");
display.display();
break;
}
}