#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Fonts/FreeSerif9pt7b.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(115200);
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("SSD1306 allocation failed");
for (;;);
}
delay(2000);
display.clearDisplay();
display.fillRoundRect(SCREEN_WIDTH / 6, 10, 40, 30, 2, WHITE);
display.fillRoundRect(SCREEN_WIDTH / 6 + SCREEN_WIDTH / 3 + 9, 10, 40, 30, 2, WHITE);
display.display();
delay(2000);
}
void loop() {
display.clearDisplay();
display.fillRoundRect(SCREEN_WIDTH / 6, 10, 40, 30, 2, WHITE);
display.fillRoundRect(SCREEN_WIDTH / 6 + SCREEN_WIDTH / 3 + 9, 10, 40, 30, 2, WHITE);
display.display();
delay(2000);
display.clearDisplay();
display.fillRoundRect(SCREEN_WIDTH / 6, 20, 40, 20, 2, WHITE);
display.fillRoundRect(SCREEN_WIDTH / 6 + SCREEN_WIDTH / 3 + 9, 20, 40, 20, 2, WHITE);
display.display();
delay(50);
display.clearDisplay();
display.fillRoundRect(SCREEN_WIDTH / 6, 30, 40, 10, 2, WHITE);
display.fillRoundRect(SCREEN_WIDTH / 6 + SCREEN_WIDTH / 3 + 9, 30, 40, 10, 2, WHITE);
display.display();
delay(50);
display.clearDisplay();
display.fillRoundRect(SCREEN_WIDTH / 6, 10, 40, 30, 2, WHITE);
display.fillRoundRect(SCREEN_WIDTH / 6 + SCREEN_WIDTH / 3 + 9, 10, 40, 30, 2, WHITE);
display.display();
delay(20);
}