Я использую oled-дисплей с библиотеками Adafruit_GFX
и Adafruit_SSD1306
.
Я пытаюсь создать меню на своем oled-дисплее (серия разных изображений). Я создал код, при котором при нажатии одной кнопки экран меняется на одно изображение, а при повторном нажатии экран меняется на второе изображение. Однако я хотел бы добавить к этому третье изображение, чтобы, когда вы нажимаете кнопку, отображалось первое изображение, затем, вы снова нажимаете кнопку, отображается второе изображение, затем вы снова нажимаете кнопку и отображается третье изображение. Как бы я это сделал, я пытался в течение нескольких часов безуспешно.
Это мой код, я не включал коды для своих изображений, так как он слишком большой.
#include <Adafruit_SSD1306.h>
#include <splash.h>
#define bitmap_height 128
#define bitmap_width 64
#include <Wire.h>
#include <Adafruit_GFX.h>
#define YELLOW 0xFFE0
#define OLED_RESET -1
Adafruit_SSD1306 display(OLED_RESET);
int buttonState1 = 0;
const int BUTTON_PIN1 = 2;
int toggle = 0;
const unsigned char s1 [] PROGMEM = {
//image code
};
const unsigned char s2 [] PROGMEM = {
//second image code
};
void setup() {
pinMode(BUTTON_PIN1, INPUT_PULLUP);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
}
void loop()
{
buttonState1 = digitalRead(BUTTON_PIN1);
if (buttonState1 == LOW) {
if (toggle ==0) {
display.clearDisplay();
display.drawBitmap(0, 0, s1, bitmap_height, bitmap_width, WHITE);
display.display();
toggle = 1;
} else {
display.clearDisplay();
display.drawBitmap(0, 0, s2, bitmap_height, bitmap_width, WHITE);
display.display();
toggle = 0;
}
}
}