#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.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)
#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
double radius = 27, x, y, endx = 128, centerx = endx / 2, endy = 64, centery = endy / 2;
void setup() {
Serial.begin(115200);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.display();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.drawPixel(centerx, centery, SSD1306_WHITE);
display.drawRect(0, 0, endx, endy, SSD1306_WHITE);
}
void loop() {
for (float i = 0; i < PI * 2; i += .05) {
x = radius * cos(i);
y = radius * sin(i);
// draw buffer (with white)
display.drawPixel(x + centerx, y + centery, SSD1306_WHITE);
// display.setTextColor(SSD1306_WHITE);
// display.setCursor(x + centerx, y + centery);
// display.print("o");
// display buffer
display.display();
// erase buffer (with black)
display.drawPixel(x + centerx, y + centery, SSD1306_BLACK);
// display.setTextColor(SSD1306_BLACK);
// display.setCursor(x + centerx, y + centery);
// display.print("o");
}
}