#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "bitmap.h"
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define BITMAP_WIDTH 25
#define BITMAP_HEIGHT 13
int MAXX = SCREEN_WIDTH - BITMAP_WIDTH;
int MAXY = SCREEN_HEIGHT - BITMAP_HEIGHT;
int xMov = 2;
int yMov = 2;
int x = random(SCREEN_WIDTH);
int y = random(SCREEN_HEIGHT);
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(9600);
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // 0x3c = 128x64?
Serial.println(F("SSD1306 allocation failed"));
while (true) {};
}
}
void loop() {
bounce();
}
void bounce() {
if (x <= 0 || x >= MAXX) // x boundries
xMov = -xMov;
if (y <= 0 || y >= MAXY) // y boundries
yMov = -yMov;
x += xMov;
y += yMov;
oled.clearDisplay();
oled.drawBitmap(x, y, myBitmap, BITMAP_WIDTH, BITMAP_HEIGHT, WHITE);
oled.display();
}
Loading
ssd1306
ssd1306
USB
PWR