#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// Canvas size
const int a = 128;
const int b = 64;
const int reset = -1;
int info,x=0,y=b,oldstate1=0,oldstate2=0;
// Create display
Adafruit_SSD1306 display(a, b, &Wire, reset);
void setup() {
Serial.begin(115200);
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("SSD1306 allocation failed");
for (;;)
; // Don't proceed, loop forever
}
display.display();
delay(500);
display.clearDisplay();
delay(200);
}
void display_text(String text, int u, int v) {
display.setTextSize(1); // Normal 1:1 pixel scale
display.setTextColor(WHITE); // Draw white text
display.setCursor(u, v); // Start at top-left corner
display.println(text);
display.display();
}
/*
void draw_fill(int xx,int yy,int widt,int heit){
display.fillRect(xx,yy,widt,heit,WHITE);
}*/
void loop() {
//display.clearDisplay();
Serial.println(info);
info=analogRead(A0)/8;
//display_text("Filled rectangle..",0,5);
display_text("Graphical wave...",0,5);
if(info!=oldstate1){oldstate1=info;
if(x>125){x=0;display.clearDisplay();}
if(info>oldstate2){oldstate2=info;
x++;y--;
display.drawPixel(x,y,WHITE);
display.display();
}
else if(info<oldstate2){oldstate2=info;
x++;y++;
display.drawPixel(x,y,WHITE);
display.display();
}}
}