#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET 4
#define OLED_ADDRESS 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(115200);
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDRESS);
display.clearDisplay();
display.display();
}
void loop() {
pattern1();
delay(2000);
pattern2();
delay(2000);
pattern3();
delay(2000);
}
void pattern1() {
for (byte j = 0; j < SCREEN_HEIGHT; j++) {
for (byte i = 0; i < SCREEN_WIDTH; i++) {
if (j % 2) {
if (i % 2)
display.drawPixel(i, j, 1);
else
display.drawPixel(i, j, 0);
} else {
if (i % 2)
display.drawPixel(i, j, 0);
else
display.drawPixel(i, j, 1);
}
}
}
display.display();
}
void pattern2() {
for (byte j = 0; j < SCREEN_HEIGHT; j++) {
for (byte i = 0; i < SCREEN_WIDTH; i++) {
if ((j % 2) && (i % 2))
display.drawPixel(i, j, 1);
else
display.drawPixel(i, j, 0);
}
}
display.display();
}
void pattern3() {
for (byte j = 0; j < SCREEN_HEIGHT; j++) {
for (byte i = 0; i < SCREEN_WIDTH; i++) {
if ((j % 2) || (i % 2))
display.drawPixel(i, j, 1);
else
display.drawPixel(i, j, 0);
}
}
display.display();
}