#include <Wire.h> //seleziona la libreria per i2c
#include <Adafruit_GFX.h> //seleziona la libreria per la grafica
#include <Adafruit_SSD1306.h> //seleziona la libreria per questo tipo di display
#define larghezza 128 // definisce la larghezza del display in pixel
#define altezza 64 // definisce l'altezza del display in pixel
#define reset -1 // pin di reset (-1 indica che è lo stesso di Arduino)
#define i2c 0x3C //si va su Wire e poi si seleziona i2c scanner per trovare l'indirizzo i2c
Adafruit_SSD1306 display(larghezza, altezza, &Wire, reset); //inizializza l'oggetto "display"
void setup()
{
if(!display.begin(SSD1306_SWITCHCAPVCC, i2c)) //inizializza il display sull'indirizzo i2c
for(;;); //se non ci riesce allora va in loop infinito
}
void loop()
{
display.clearDisplay(); //cancella tutto il display
display.setTextSize(2); // seleziona il testo di grandezza 2
display.setTextColor(SSD1306_WHITE); //seleziona il colore bianco
display.setCursor((millis()/100)%128, (millis()*2/100)%64);
//il primo numero sposta il cursore verso destra, il secondo verso il basso
display.print("ciao"); //scrive un testo sullo schermo
display.display(); //invia i dati al display, fino a questa istruzione niente viene scritto
delay(100);
}