Come interfaccia il display OLED con Arduino Nano

Come interfaccia il display OLED con Arduino Nano

Arduino Nano è una piccola scheda di microcontrollore che utilizza ATMEGA328P per elaborare le istruzioni. È simile all'Arduino Uno, ma ha dimensioni molto più piccole e ha un prezzo inferiore. Arduino Nano è spesso utilizzato nei progetti in cui lo spazio è un vincolo, come nell'elettronica indossabile o nella robotica su piccola scala. L'Arduino Nano può essere utilizzato per controllare i dati del sensore di visualizzazione e di processo OLED. Questo articolo coprirà l'interfacciamento di un display OLED con Arduino Nano.

Questa lezione include i seguenti argomenti:

  • 1: Introduzione al display OLED
  • 2: Modulo di visualizzazione OLED di cablaggio su Arduino Nano
  • 3: installazione delle librerie richieste
  • 4: Controlla l'indirizzo I2C display OLED
  • 5: Esempio di idee di Arduino IDE OLED
  • 5.1: codice
  • 5.2: output
  • 6: Stampa di testo statico sul display OLED usando Arduino Nano
  • 6.1: codice
  • 6.2: output

1: Introduzione al display OLED

Un display OLED I2C è uno schermo di diodo a emissione di luce organica che utilizza il protocollo del circuito integrato (I2C) per la comunicazione. Gli schermi OLED hanno un rapporto di contrasto elevato e un maggiore angolo di visualizzazione che li rende 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. Questi pixel luminosità possono essere controllati separatamente.

Ora interfacciamo Arduino Nano con un display OLED.

2: Modulo di visualizzazione OLED di cablaggio su Arduino Nano

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 Arduino Nano con 0.Schermo OLED da 96 pollici (128 × 64 pixel).

Di seguito è riportata la tabella di connessione PIN:

Dato che abbiamo interfacciato Arduino Nano 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 Arduino Nano non può visualizzare la grafica su OLED.

Principalmente vengono utilizzate due librerie di Adafruit: Libreria SSD1306 e GFX.

Open Arduino Integrated Environment (IDE) e cerca nella libreria SSD1306. Installa la libreria Adafruit SSD1306.

Altro modo di installare è: Sketch> Includi la libreria> Gestisci le biblioteche:

Ora installa il Gfx Biblioteca di Adafruit:

Dato che abbiamo installato entrambe le librerie, così ora possiamo facilmente programmare Arduino Nano con un display OLED.

4: Controlla l'indirizzo I2C display OLED

I2C, o circuito inter-integrato, è un protocollo di comunicazione che consente di collegare più dispositivi e comunicare tra loro su un'interfaccia a due fili. Ogni dispositivo I2C deve avere un indirizzo univoco, che va da 0 a 127, per assicurarsi che possa essere identificato e comunicato sulla linea I2C. Dispositivi multipli con lo stesso indirizzo I2C non possono utilizzare lo stesso bus i2c.

Collegare il display OLED con Arduino Nano e dopo aver selezionato la scheda e la porta in Arduino IDE Carica il codice indicato di seguito sulla scheda Nano per verificare l'indirizzo I2C della schermata OLED.

#include /*include il filo.Biblioteca H per display OLED*/
void setup ()

Filo.inizio(); /*Comunicazione i2c con OLED inizia*/
Seriale.Inizia (9600); /*Tasso di baud definito per la comunicazione seriale*/
Mentre (!Seriale); /*Attendere l'output seriale*/
Seriale.println ("\ NI2C Scanner");

void loop ()

byte err, ADR; /*L'errore variabile è definito con indirizzo di I2C*/
int numero_of_devices;
Seriale.println ("scansione.");
numero_of_devices = 0;
per (ADR = 1; ADR < 127; adr++)

Filo.BeginTransmission (ADR);
err = filo.endTransmission ();
if (err == 0)

Seriale.stampa ("dispositivo i2c all'indirizzo 0x");
if (ADR < 16)
Seriale.print ("0");
Seriale.stampa (ADR, esadecimale);
Seriale.println (" !");
numero_of_devices ++;

altrimenti se (err == 4)

Seriale.print ("Errore sconosciuto all'indirizzo 0x");
if (ADR < 16)
Seriale.print ("0");
Seriale.println (ADR, esadecimale);


if (numero_of_devices == 0)
Seriale.println ("no i2c dispositivi allegati \ n");
altro
Seriale.println ("done \ n");
ritardo (5000); /*Aspetta 5 sec per la prossima scansione I2C*/

Dopo aver caricato il codice su Arduino Nano che segue l'output verrà visualizzato sul monitor seriale. Il nostro OLED è collegato all'indirizzo 0x3c.


IL Indirizzo 0x3C I2C verrà utilizzato nel codice Arduino Nano per l'interfaccia dei display OLED.

5: Esempio di idee di Arduino IDE OLED

Una volta installate le librerie di visualizzazione OLED nell'IDE Arduino, possiamo vedere un codice di esempio pre -scritto nell'IDE. Per testare l'interfaccia di Arduino Nano, caricheremo un codice di esempio SSD1306 in Arduino Nano.

Vai a: File> Esempi> Adafruit SSD1306> SSD1306_128x64_I2C

Nota: Ricorda di selezionare la dimensione corretta e il protocollo di comunicazione durante l'apertura del codice di esempio. Qui nel nostro caso, stiamo usando I2C OLED con dimensioni 128x64.

1: codice

Si aprirà una nuova finestra IDE dove possiamo vedere il codice di esempio OLED Adafruit. Questo codice visualizzerà diversi motivi su OLED come stelle, cerchi, testo a scorrimento e testo animato.

Nota: Ricorda di aggiornare l'indirizzo I2C con il tuo display.

2: output

Dopo aver caricato il codice su Arduino Nano, possiamo vedere diversi motivi sul display OLED:

Ora abbiamo interfacciato con successo il display OLED con Arduino Nano usando il codice della libreria pre -scritta. Ora visualizzeremo un po 'di testo su uno schermo OLED usando Arduino Nano.

6: Stampa di testo statico sul display OLED usando Arduino Nano

La libreria GFX Adafruit ci consente di visualizzare il testo su uno schermo OLED. Ora scriveremo un codice semplice per visualizzare il testo su OLED.

1: codice

Apri Arduino IDE e Codice di upload su Arduino Nano Board:

#includere
#includere
#includere
#define screen_width 128 /*128 larghezza di OLED in pixel* /
#define screen_height 64 /*64 altezza di OLED in pixel* /
Display Adafruit_SSD1306 (screen_width, screen_height, & wire, -1); /*Display OLED collegato a pin i2c (SDA, SCL)*/
void setup ()
Seriale.Inizia (115200); / *Tasso di baud comunicazione UART */
Se(!Schermo.inizio (ssd1306_switchcapvcc, 0x3c)) /*i2c Indirizzo a cui OLED comunicherà* /
Seriale.println (f ("allocazione SSD1306 non riuscita"));
per(;;);

ritardo (2000);
Schermo.clearDisplay (); /*Cancella display*/
Schermo.setTextSize (2); /*Dimensione del testo dello schermo OLED definita*/
Schermo.setTextColor (bianco); /*Testo dello schermo OLED Colore*/
Schermo.setCursor (0, 10); /*Visualizza testo statico*/
Schermo.println ("LinuxHint.com "); /*stringa da rappresentare sul display OLED* /
Schermo.Schermo();

void loop ()

All'inizio del codice prima abbiamo importato le due librerie che includono la libreria di filo e adafruit. Il cavo.La libreria H consente di utilizzare il protocollo di comunicazione i2C mentre la seconda libreria Adafruit aiuta a visualizzare il testo su uno schermo OLED.

Il prossimo codice è definito di seguito Funzione di visualizzazione:

Display Adafruit_SSD1306 (screen_width, screen_height, & wire, -1);

I comandi di visualizzazione Adafruit prendono 4 parametri che includono il Screen_width e screen_height variabili. Queste due variabili richiederanno le dimensioni dello schermo OLED. Stiamo usando un OLED con dimensioni 128x64. E il terzo parametro è &Filo.

L'ultimo parametro è -1 che indica che lo schermo OLED non ha un pulsante di ripristino esterno. Se abbiamo uno schermo OLED con un pulsante di ripristino, passeremo questo parametro al pin GPIO. Se viene premuto il pulsante di ripristino, l'OLED visualizzerà il testo.

Next I2C Indirizzo (0x3c) è definito che abbiamo ottenuto usando Arduino I2C Codice scanner.

Infine, la stringa che deve essere visualizzata sullo schermo OLED è definita insieme alla dimensione e al colore del carattere.

Ora osserveremo l'output sullo schermo OLED.

2: output

Nell'output possiamo vedere una stringa "Linuxhint.com"Viene visualizzato su uno schermo OLED con una dimensione del carattere di 2.

Abbiamo completato l'interfaccia del display OLED I2C con la scheda Arduino Nano.

Conclusione

I2C OLED (diodo a emissione di luce organica) è un tipo di display OLED che comunica con un microcontrollore o un altro dispositivo utilizzando il protocollo I2C. Questo articolo ha coperto il codice per interfaccia Arduino Nano con display I2C OLED utilizzando l'IDE Arduino. Utilizzando il metodo dato qualsiasi display OLED può essere interfacciato con la scheda Arduino Nano.