Disegnare una barra di avanzamento su OLED con Esptop 10 usando Arduino IDE

Disegnare una barra di avanzamento su OLED con Esptop 10 usando Arduino IDE
ESP32 è una scheda microcontrollore di conservazione dell'alimentazione basata su IoT. ESP32 ha tutte quelle caratteristiche di cui ha bisogno una scheda microcontrollore. ESP32 con OLED può visualizzare diversi tipi di dati in forma grafica. Qui in questo articolo, copriremo il codice per visualizzare le barre di avanzamento su uno schermo OLED. Ciò sposterà i progressi in tempo reale in base a un intervallo prestabilito.

Questa lezione include i seguenti argomenti:

  • 1: Introduzione al display OLED ESP32
  • 2: Modulo di visualizzazione OLED di cablaggio su ESP32
  • 3: installazione delle librerie richieste
  • 4: disegnare una barra di avanzamento sul display OLED usando Arduino IDE
  • 4.1: codice
  • 4.2: output

1: Introduzione al display OLED ESP32

Un display I2C OLED è un tipo di display di diodo a emissione di luce organica (OLED) che utilizza il protocollo del circuito inter-integrato (I2C) per la comunicazione. I display OLED sono noti per il loro elevato rapporto di contrasto, un ampio angolo di visualizzazione e tempi di risposta rapidi, rendendoli adatti per una varietà di applicazioni di visualizzazione.

Un display OLED I2C è in genere costituito da un piccolo schermo OLED e un circuito del driver che converte i segnali I2C nelle tensioni e correnti appropriate necessarie per guidare i pixel OLED.

I LED all'interno dello schermo OLED illuminano i pixel che ci visualizzano immagini e testo diversi. Mentre sull'altro lato lo schermo LCD utilizza una retroilluminazione per illuminare i suoi pixel. La luminosità di questi pixel può essere controllata pixel da pixel.

Ora interfacciamo ESP32 con un display OLED.

2: Modulo di visualizzazione OLED di cablaggio su ESP32

Gli schermi OLED lavorano principalmente su due protocolli di comunicazione. Questi sono i2c e SPI. Tra questi due SPI (interfaccia periferica seriale) è più veloce rispetto a I2C, ma la maggior parte delle volte il display OLED I2C è preferito a causa di un numero inferiore di fili.

I2C è un protocollo di comunicazione seriale a due fili che consente a più dispositivi di condividere un singolo set di linee di dati e clock, rendendolo una scelta conveniente per il collegamento di display OLED a microcontrollori e altri dispositivi

Utilizzando I2C OLED a due pin SDA e SCL sono sufficienti per la visualizzazione di immagini e testo. L'immagine data mostra ESP32 con 0.Schermo OLED da 96 pollici (128 × 64 pixel).

La connessione per pin ESP32 con OLED è la seguente:

Dato che abbiamo interfacciato ESP32 con un display OLED, ora installeremo le librerie necessarie nell'IDE Arduino in modo da poter andare avanti con le forme che vengono visualizzate sullo schermo OLED.

3: installazione delle librerie richieste

Per la visualizzazione di immagini, dobbiamo installare le librerie necessarie per il display OLED in Arduino IDE. Senza usare queste librerie ESP32 non può visualizzare la grafica su OLED.

Principalmente vengono utilizzate due librerie di Adafruit: SSD1306 E Libreria GFX. Prima apri l'IDE Arduino e cerca nella libreria SSD1306. Installa la libreria OLED SSD1306 di Adafruit. Altro modo di installare è: Schizzo> Includi la libreria> Gestisci le biblioteche:

Ora installa il Gfx Biblioteca di Adafruit:

Ora abbiamo installato entrambe le librerie. Ora possiamo facilmente programmare ESP32 con un display OLED.

4: disegnare una barra di avanzamento sul display OLED usando Arduino IDE

Per disegnare una barra di avanzamento su uno schermo OLED useremo il Schermo.DrawProgressbar (20, 20, 100, 20, progresso); funzione.

Questa funzione prende 5 argomenti:

  • Posizione del centro rispetto alla coordinata X
  • Posizione del centro rispetto alla coordinata Y
  • Il terzo argomento è larghezza della barra
  • Il quarto argomento è l'altezza della barra di progresso
  • L'ultimo argomento è il progresso effettivo che passiamo un valore intero tra 0 e 100

Dopo aver definito tutti questi 5 parametri, caricare il codice sulla scheda ESP32.

1: codice

Apri Arduino IDE, Connect ESP32 e Codice di caricamento:

Codice avviato includendo i file della libreria SSD1306 necessari. Dopodiché abbiamo definito l'indirizzo I2C e i pin i2C per la comunicazione.

Ricorda di controllare l'indirizzo I2C prima di definire. Per controllare l'indirizzo I2C di qualsiasi dispositivo caricare il codice indicato in Tutorial Come scansionare l'indirizzo I2C in ESP32 utilizzando Arduino IDE.

Se stai usando più di un dispositivo I2C con lo stesso indirizzo, devi prima cambiare l'indirizzo di uno di essi.

Successivamente nel codice abbiamo inizializzato il display OLED e definito una formula di avanzamento.

La formula di avanzamento calcolerà l'avanzamento e il valore memorizzano nel progresso variabile globale. Sumiamo semplicemente il 10 al valore di avanzamento corrente e otteniamo il resto dividendolo con 110 utilizzando l'operatore del modulo. Una volta completata la barra di avanzamento, avremo il 110%110 che ci dà 0. Questo avverrà automaticamente di nuovo la barra da zero.

Prossimo DrawProgressbar è chiamato e questa funzione visualizzerà la barra di avanzamento in base al valore corrente del progresso variabile. Questa funzione richiederà 5 argomenti come spiegato in precedenza.

#include "SSD1306.H"
Display SSD1306 (0x3c, 21, 22);
int progress = 0;
void setup ()
Schermo.dentro();

void loop ()
Schermo.chiaro();
progresso = (progresso + 10) % 110;
Schermo.DrawProgressbar (20, 20, 100, 20, progresso);
Schermo.Schermo();
ritardo (1000);

2: output

Dopo il caricamento del codice in ESP32 sotto verrà visualizzato l'output sullo schermo OLED. Questo output mostra che la barra di avanzamento è al 10% che è la posizione set iniziale:

Ora la barra di avanzamento è al 100%, il che significa che una determinata attività è completata:

Ecco le fasi di uscita tra lo 0% e il 100%. Abbiamo impostato l'intervallo di avanzamento su 10:

Conclusione

La barra del progresso è un ottimo modo per mostrare il progresso in tempo reale di un progetto. Usando i display OLED con ESP32 possiamo prendere i dati in tempo reale e visualizzarli sullo schermo. L'uso del codice fornito uno qualsiasi dei dati può essere rappresentato sotto forma di barra di avanzamento.