«

»

Ago 21

Stampa Articolo

SSD1331 OLED RGB WeMos

SSD1331 oled rgb WeMos è dedicato alla possibilità di utilizzare un display oled con driver di controllo SSD1331 con una WeMos.

SSD1331 OLED RGB Wemos

Già in passato ho testato e scritto un articolo display in abbinamento ad un arduino uno e usando le lbrerie Adafruit.

Oggi leggi come utilizzare tale display con una WeMos D1 Mini per un progetto a cui sto lavorando in questi giorni e che presto vedrai realizzato.

Il display è prodotto da Waveshare ed io l’ho acquistato da robotics-3d.com come la maggior parte dei componenti che utilizzo nei miei tutorial.

Schema collegamenti SSD1331 OLED RGB WeMos

lo schema dei collegamenti è un po’ complesso per il numero di cavetti in gioco anche se ho cercato di rendere i collegamenti tra l’oled e la WeMos più semplici possibili:

SSD1331 OLED RGB Wemos schema fritzing

inoltre ho fotografato sia il collegamento lato OLED:

SSD1331 OLED RGB Wemos oled connections

sia quello lato WeMos D1 mini per facilitarti il compito:

SSD1331 OLED RGB Wemos connections

ti consiglio di utilizzare colori differenti nei fili che utilizzi perché è molto semplice invertire i collegamenti essendo molti ed il comportamento dell’SSD1331 OLED RGB WeMos potrebbe risultare imprevedibile.

Lo sketch

Ho usato come primo test uno degli esempi forniti dalla Adafruit per la gestione dell’SSD1331 oled rgb WeMos, solo al fine di verificarne il funzionamento.

Poi ho scritto un semplice sketch:

#define sclk D7
#define mosi D8
#define cs   D6
#define rst  D0
#define dc   D5

// Color definitions
#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, mosi, sclk, rst);  

// Waveshare SSD1331 96x64 .95inch

void setup(void) {
  Serial.begin(9600);
  Serial.print("hello!");
  display.begin();

  Serial.println("init");
  drawtext("ZeroBot",WHITE,2,5,0,1);                 delay(500);
  display.drawFastHLine(0, 20, display.width()-1, WHITE); delay(500);
  drawtext("Joystick v1.0",RED,1,18,display.height()-8,0);delay(500);
}

void loop() {
}

void drawtext(char *text, uint16_t color, uint8_t fontsize, uint8_t x, uint8_t y, boolean clean) {
  if ( clean ) display.fillScreen(BLACK);
  display.setTextSize(fontsize);
  display.setTextColor(color);
  display.setCursor(x,y);
  display.println(text);
}

linee 01-05: definisci i pin a cui sono connessi i terminali sclk,miso,cs,rst e dc ricordando di precedere ciascu pin con la lettera “D”;

linee 07-15: ho lasciato le definizioni dei colori presenti nello sketch di esempio rilsciato con la libreria;

linee 17-19: includi le librerie necessarie al funzionamento del display e la gestione della parte grafica;

linea 21: crea l’istanza display della classe Adafruit_SSD1331 passandole i pin a cui è connesso il display e definiti alle linee precedenti;

linea 28: inizializza la comunicazione con il display ssd1331 oled rgb WeMos usando il metodo begin();

linea 31: sono presenti due istruzioni, la prima è l’invocazione della funzione “drawtext” definita di seguito ed alla quale invii la frase da scrivere sul monitor, il colore in cui scriverla, la grandezza del font, la posizione x ed y da cui iniziare a scrivere e la necessità di pulire il monitor prima di iniziare a scrivere. La seconda istruzione è un semplice delay di 500 millisecondi;

linea 32: disegna una linea orizzontale sul display partendo dalle coordinate x=0 ed y=20 per la lunghezza width-1 e del colore bianco;

linea 33: scrivi in rosso, in basso a destra il testo “Joystick v1.0” di font inferiore al precedente e sfruttando la funzione drawtext;

linea 39: definisci la fuzione drawtext che accetta tutti i parametri che le passi quando la richiami, vedi linee 31 o 33;

linea 41: se l’ultimo parametro clean è stato impostato a true, ossia 1, pulisci lo schermo;

linea 42: imposta la grandezza del font;

linea 43: imposta il colore del font;

linea 44: imposta la posizione del cursore;

linea 45: scrivi il testo passato come primo parametro e porta il cursore a capo.

La sequenza delle operazioni che hai letto nello sketch ti permettono di visualizzare sull’ssd1331 oled rgb WeMos il seguente messaggio:

SSD1331 OLED RGB Wemos oled connections

Nei prossimi articoli proverò ad utilizzare contemporaneamente altre funzioni della wemos e potresti utilizzare il display per pubblicare informazioni relative alla comunicazione wifi o similari.

Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/ssd1331-oled-rgb-wemos.html

1 ping

  1. WeMos OLED WiFi - Mauro Alfieri Elettronica Domotica Robotica

    […] display di tipo OLED hai già letto l’articolo in cui hai eseguito i collegamenti e provato a visualizzare sul display del […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>