//Arduino UNO with SSD1306 128x64 I2C OLED display
#include <Wire.h>
#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
#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
int potpin = A0;
int pot;
int white = SSD1306_WHITE; // colour white
int black = SSD1306_BLACK; // colour black
int wait = 1000;
void setup() {
Serial.begin(9600);
oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
oled.clearDisplay();
}
void loop() {
pot = analogRead(potpin);
pot = map(pot, 0,1023,0,255);
oled.clearDisplay();
frames();
oled.setTextSize(3);
oled.setCursor(68,30);
oled.print(pot);
oled.display();
}
void frames(){
oled.setTextSize(2);
oled.setTextColor(white);
oled.setCursor(4,4);
oled.println("FX:1");
oled.setTextSize(1); //Red frame
oled.setCursor(6,23);
oled.print("Red");
oled.setCursor(41,23);
oled.print("255");
oled.drawRect(4,21,56,11,white); //(x,y,w,h,color)
oled.setCursor(6,37); //green frame
oled.print("Green");
oled.setCursor(41,37);
oled.print("255");
oled.drawRect(4,35,56,11,white); //(x,y,w,h,color)
oled.setCursor(6,51); //blue frame
oled.print("Blue");
oled.setCursor(41,51);
oled.print("255");
oled.drawRect(4,49,56,11,white); //(x,y,w,h,color)
oled.setCursor(66,6); //speed frame
oled.print("Speed");
//oled.setCursor(68,30);
//oled.setTextSize(3);
//oled.print("255");
oled.drawRect(64,4,60,56,white); //(x,y,w,h,color)
oled.display();
}