Introduzione
In questo progetto realizzeremo un grafico in tempo reale su display OLED utilizzando Arduino.
Useremo un sensore (in questo caso una fotoresistenza LDR) per leggere un valore analogico e lo visualizzeremo come grafico dinamico sul display.
Questo tipo di sistema è utilizzato in molti contesti come:
Alla fine del progetto avremo creato un sistema che visualizza l’andamento di un sensore sotto forma di grafico.
In questo progetto realizzeremo un grafico in tempo reale su display OLED utilizzando Arduino.
Useremo un sensore (in questo caso una fotoresistenza LDR) per leggere un valore analogico e lo visualizzeremo come grafico dinamico sul display.
Questo tipo di sistema è utilizzato in molti contesti come:
- monitoraggio sensori
- strumenti elettronici
- interfacce professionali
- dashboard dati
Alla fine del progetto avremo creato un sistema che visualizza l’andamento di un sensore sotto forma di grafico.
Materiale necessario
- Arduino Uno (o compatibile)
- Display OLED 128x64 I2C (SSD1306)
- Fotoresistenza (LDR)
- Resistenza 10kΩ
- Breadboard
- Cavi jumper
🧰 Non hai ancora i componenti?
👉 Kit Arduino consigliato:
https://amzn.to/4b3dxjW
📘 Scopri i miei libri:
https://amzn.to/4rfzjXE
👉 Kit Arduino consigliato:
https://amzn.to/4b3dxjW
📘 Scopri i miei libri:
https://amzn.to/4rfzjXE
Schema di collegamento
Display OLED I2C
Fotoresistenza (LDR)
Collegamenti:
Display OLED I2C
- VCC → 5V Arduino
- GND → GND Arduino
- SDA → A4 Arduino
- SCL → A5 Arduino
Fotoresistenza (LDR)
Collegamenti:
- Un lato → 5V Arduino
- Altro lato → A0 Arduino
- Resistenza 10kΩ tra A0 e GND
Librerie necessarie
Librerie richieste:
InstallazioneSketch → Include Library → Manage Libraries
Installa:
Librerie richieste:
- Adafruit SSD1306
- Adafruit GFX
InstallazioneSketch → Include Library → Manage Libraries
Installa:
- Adafruit SSD1306
- Adafruit GFX
Codice Arduino
Progetto 76 - Grafico sensore su OLED
Come funziona il programma
Arduino legge il valore della fotoresistenza tramite:
analogRead().
Il valore viene convertito in una coordinata verticale con:
map().
Ogni valore viene disegnato come un punto sul display tramite:
drawPixel().
Il grafico si costruisce nel tempo spostandosi da sinistra verso destra.
Quando il grafico raggiunge la fine dello schermo, viene cancellato e ricomincia.
Arduino legge il valore della fotoresistenza tramite:
analogRead().
Il valore viene convertito in una coordinata verticale con:
map().
Ogni valore viene disegnato come un punto sul display tramite:
drawPixel().
Il grafico si costruisce nel tempo spostandosi da sinistra verso destra.
Quando il grafico raggiunge la fine dello schermo, viene cancellato e ricomincia.
Varianti possibili
Grafico temperatura
Utilizzare un sensore DHT11 o LM35.
Grafico multiplo
Mostrare più sensori contemporaneamente.
Dashboard completa
Aggiungere testo e valori numerici insieme al grafico.
Grafico temperatura
Utilizzare un sensore DHT11 o LM35.
Grafico multiplo
Mostrare più sensori contemporaneamente.
Dashboard completa
Aggiungere testo e valori numerici insieme al grafico.