Indice
Questo
display OLED da 0.95"risoluzione
96x64 pixel, 65536 Colori è basato sul
driver SSD1331 ed è dotato di interfaccia di comando SPI, può essere alimentato con una tensione
compresa tra i 3.3V - 5V.
Datasheet del display
NOTA: è disponibile una versione aggiornata della pagina a
questo link
Il modulo è disponibile presso il sito
Risoluzione: |
96*64 |
Colori: |
65536 Colori |
Driver IC: |
SSD1331 |
Tensione di alimentazione:
|
3.3 V-5 V |
Definizione di SPI Connettore: |
1. GND-Gound
2. VCC-Tensione Positiva
3. SCL-Linea di Clock
4. SDA-Linea Dati
5. RES-Reset
6. DC-Dati/Richiesta
7. CS-Chip Select |
|
Il circuito del display utilizza oltre
al display U1 con il driver tipo
driver SSD1331, il circuito di alimentazione è formato dal
regolatore U2 tipo LM6206N3 e il Boost converter
U3 tipo LM2733, che eleva la tensione sino al
valore di 14V.
LM6206N3 Low Dropout CMOS
Voltage Regulators |
|
|
|
Piedinatura |
Datasheet |
Foto dell'integrato |
GND |
Power ground |
VCC |
2.8-5.5V power supply |
SCL (SCLK) |
Serial Clock (emesso
dal master) |
SDA (MOSI) |
Serial Data Output, Master Output Slave Input
(uscita dal master) |
RES
|
Reset |
DC |
Data / command |
CS |
Chip Select, Slave Select,
emesso dal master per scegliere con quale dispositivo slave
vuole comunicare |
|
Connessioni
interfaccia SPI
La seguente tabella mostra su quali pin
le linee SPI sono scomposte sulle diverse schede Arduino:
Scheda |
SCL (SCK) |
SDA (MOSI) |
RES |
DC |
CS |
Livello |
Uno |
13 o ICSP-3 |
11 o ICSP-4 |
9 |
8 |
10 |
5V |
Nano |
13 o ICSP-3 |
11 o ICSP-4 |
9 |
8 |
10 |
5V |
Mega1280 or
Mega2560 |
52 o ICSP-3 |
51 o ICSP-4 |
9 |
8 |
10 |
5V |
Due |
ICSP-3 |
ICSP-4 |
9 |
8 |
10 |
3,3V |
Wemos d1 mini |
|
|
|
|
|
|
|
Si noti che SCK e MOSI sono
disponibili in una posizione fisica coerente sull'intestazione ICSP; questo è
utile, ad esempio, nella progettazione di uno shield che funzioni su ogni
scheda.
Per utilizzare il display OLED è necessario installare
l'apposita libreria, questa può essere cercata tra le librerie installabili
nell’IDE, basterà inserire nel campo "SSD1331".
In questo caso si è scelta
quella fornita dalla Adafruit nella versione 1.0.2, una volta caricata sarà
mostrata la dicitura "INSTALLED"
Per maggiori informazioni
vedere il link.
Analogamente, sempre per gestire la parte grafica occorre
caricare la libreria grafica "Adafruit GFX Library", in questo caso si è
scelta la versione 1.2.9, una volta caricata sarà
mostrata la dicitura "INSTALLED".
Per maggiori informazioni
vedere il link.
Test base per la prova di funzionamento del display, si è
utilizzato un
Arduino UNO
collegando tramite cavi il display montato su una piccola breadBoard. Si potrà
utilizzare lo Sketch presente nella cartella esempi della libreria, oppure lo
Sketch mostrato sotto.
sketch di Test_oled_SSD1331_arduino_uno.ino
Sketch testato con versione IDE 1.8.5 e libreria
versione 1.0.2
/*
Programma: Test_oled_SSD1331_arduino_uno.ino
This is a example sketch demonstrating the graphics
capabilities of the SSD1331 library for the 0.96"
16-bit Color OLED with SSD1331 driver chip
Ultima modifica il 6/5/2018
Applicazione realizzata da Adriano Gandolfo
Sito http://www.adrirobot.it
Blog http://it.emcelettronica.com/author/adrirobot
Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
Istagram https://www.instagram.com/adrirobot/
This example code is in the public domain.
*/
// Definizione dei pin di collegamento
#define sclk 13
#define mosi 11
#define cs 10
#define rst 9
#define dc 8
// Definizione dei colori
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1331.h>
#include <SPI.h>
Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);
void setup(void) {
display.begin();
}
void loop() {
display.fillScreen(BLACK);
display.setTextSize(2);
display.setCursor(20, 0);
display.setTextColor(WHITE);
display.print("TEST");
display.setCursor(5, 16);
display.setTextColor(YELLOW);
display.print("DISPLAY");
display.drawFastHLine(0, 45, display.width() - 1, RED);
display.setCursor(0, 52);
display.setTextColor(GREEN);
display.setTextSize(1);
display.print("WWW.ADRIROBOT.IT");
delay(1500);
} |
|
Test base per la prova di funzionamento del display
utilizzando un
Arduino
Nano clone dalla HiLetgo il cui
negozio online
potrete trovare su AMAZON.
Sia la scheda Arduino Nano che il display OLED sono stati
montati su una breadboard 400 punti dalle dimensioni di 85x55mm, per i
collegamenti si utilizzeranno dei cavi jumper 100mm maschio/maschio di diverso
colore. Nello schema sotto riportato sono riportati i vari collegamenti.
Una volta effettuati i collegamenti si collegherà l'Arduino Nano al PC e si
caricherà lo
Sketch
nella memoria. Una volta caricato, lo Sketch, mostrerà una serie di
parole sul display.
sketch di Test_oled_SSD1331_arduino_nano.ino
Sketch testato con versione IDE 1.8.5 e libreria
versione 1.0.2
/*
Programma: Test_oled_SSD1331_arduino_nano.ino
This is a example sketch demonstrating the graphics
capabilities of the SSD1331 library for the 0.96"
16-bit Color OLED with SSD1331 driver chip
Ultima modifica il 22/7/2018
Applicazione realizzata da Adriano Gandolfo
Sito http://www.adrirobot.it
Blog http://it.emcelettronica.com/author/adrirobot
Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
Istagram https://www.instagram.com/adrirobot/
This example code is in the public domain.
*/
// Definizione dei pin di collegamento
#define sclk 13
#define mosi 11
#define cs 10
#define rst 9
#define dc 8
// Definizione dei colori
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1331.h>
#include <SPI.h>
Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);
void setup(void) {
display.begin();
}
void loop() {
display.fillScreen(BLACK);
display.setTextSize(2);
display.setCursor(5, 0);
display.setTextColor(WHITE);
display.print("ARDUINO");
display.setCursor(25, 16);
display.setTextColor(GREEN);
display.print("NANO");
display.setCursor(10, 32);
display.setTextColor(RED);
display.print("Hi");
display.setTextColor(WHITE);
display.print("Letgo");
display.drawFastHLine(0, 50, display.width() - 1, RED);
display.setCursor(0, 54);
display.setTextColor(BLUE);
display.setTextSize(1);
display.print("WWW.ADRIROBOT.IT");
delay(1500);
} |
|
La versione dello Sketch per la scheda
WeMos Mega, è
simile a quella per Arduino UNO l'unica
modifica all'interno dello Sketch sono i pin che si utilizzeremo
sketch di Test_oled_SSD1331_wemos_mega.ino
Sketch testato con versione IDE 1.8.5 e libreria
versione 1.0.2
/*
Programma: Test_oled_SSD1331_wemos_mega.ino
This is a example sketch demonstrating the graphics
capabilities of the SSD1331 library for the 0.96"
16-bit Color OLED with SSD1331 driver chip
Ultima modifica il 6/5/2018
Applicazione realizzata da Adriano Gandolfo
Sito http://www.adrirobot.it
Blog http://it.emcelettronica.com/author/adrirobot
Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
Istagram https://www.instagram.com/adrirobot/
This example code is in the public domain.
*/
// Definizione dei pin di collegamento
#define sclk 52
#define mosi 51
#define cs 10
#define rst 9
#define dc 8
// Definizione dei colori
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1331.h>
#include <SPI.h>
Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);
void setup(void) {
display.begin();
}
void loop() {
display.fillScreen(BLACK);
display.setTextSize(2);
display.setCursor(20, 0);
display.setTextColor(WHITE);
display.print("TEST");
display.setCursor(5, 16);
display.setTextColor(YELLOW);
display.print("DISPLAY");
display.drawFastHLine(0, 45, display.width() - 1, RED);
display.setCursor(0, 52);
display.setTextColor(GREEN);
display.setTextSize(1);
display.print("WWW.ADRIROBOT.IT");
delay(1500);
} |
|
Test base con Wemos
D1 mini
Se si utilizza il display con il modulo
Wemos D1 mini,
il compilatore potrebbe segnalarvi l'errore sotto riportato
Adafruit_SSD1331.cpp:308:15: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to
'PortReg* {aka volatile unsigned char*}' in assignment rsportreg = portOutputRegister(digitalPinToPort(_rs));
|
in questo caso occorre modificare la libreria inserendo alcune righe all'interno
del file Adafruit_SSD1331.h come mostrato in
questa pagina oppure
scaricare direttamente
questo file e sostituitelo a quello
presente nella cartella della libreria relativa.
sketch di Test_oled_SSD1331_wemos_d1.ino
Sketch testato con versione IDE 1.8.5 e libreria
versione 1.0.2
/*
Programma: Test_oled_SSD1331_wemos_d1.ino
This is a example sketch demonstrating the graphics
capabilities of the SSD1331 library for the 0.96"
16-bit Color OLED with SSD1331 driver chip
Ultima modifica il 10/5/2018
Applicazione realizzata da Adriano Gandolfo
Sito http://www.adrirobot.it
Blog http://it.emcelettronica.com/author/adrirobot
Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
Istagram https://www.instagram.com/adrirobot/
This example code is in the public domain.
*/
// Definizione dei pin di collegamento
#define sclk D5
#define mosi D7
#define cs D8
#define rst D3
#define dc D1
// Definizione dei colori
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1331.h>
#include <SPI.h>
//Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);
Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, mosi, sclk, rst);
void setup(void) {
display.begin();
}
void loop() {
display.fillScreen(BLACK);
display.setTextSize(2);
display.setCursor(20, 0);
display.setTextColor(WHITE);
display.print("TEST");
display.setCursor(5, 16);
display.setTextColor(YELLOW);
display.print("DISPLAY");
display.drawFastHLine(0, 45, display.width() - 1, RED);
display.setCursor(0, 52);
display.setTextColor(GREEN);
display.setTextSize(1);
display.print("WWW.ADRIROBOT.IT");
delay(1500);
} |
|
Elenco
revisioni: |
22/07/2018 |
Aggiornato pagina, inserito gestione con Arduino Nano |
10/05/2018 |
Aggiornato pagina, inserito gestione con Arduino uno,
Wemos D1 mini, inserto possibilità di scaricare
sketch |
07/03/2018 |
Emissione preliminare |
Private Policy
Cookie Policy