SainSmart IIC/I2C/TWI – Display LCD seriale 2004 20×4

lcd04

Questo display prodotto dalla Sainsmart è decisamente un buon LCD, anche se mi ha fatto faticare un po’ per trovare una libreria che funzionasse con la IDE di Arduino 1.6.5. Ma andiamo per ordine. Dotato di 20 caratteri per 4 righe si presenta con un fondo blu retroilluminato e caratteri bianchi. Ne esiste anche una versione con sfondo “bianco” e caratteri neri, ad un prezzo che si aggira intorno ai 10-15 dollari, a seconda di dove si decide di acquistarlo. La grossa comodità che presenta questo LCD è che è pilotato dal bus I2C, il che significa che avremo bisogno di solo 4 connettori per gestirlo, 2 di alimentazione e i due classici SDA ed SCL. Nonostante le indicazioni del produttore la versione in commercio attualmente presenta un indirizzo I2C pari a 0x27 e non 0x34 come indicato. Se si ha qualche dubbio a riguardo dopo averlo acquistato è bene far girare, a collegamenti fatti, uno sketch contenente uno scanner I2C che ci possa indicare a quale indirizzo reperire l’LCD sul bus, in modo tale da riportarlo correttamente nella riga di configurazione. Uno sketch di questo tipo può essere reperito QUI.

Come ho accennato prima esistono alcune librerie su Internet, compresa quella indicata da Sainsmart, che sulle nuove versioni della IDE non compilano. Si tratta di codice rimasto fermo alla IDE 1.0.X, il che le rende assolutamente improponibili. C’è anche un po’ di ambiguità sul pin da utilizzare per gestire la retroilluminazione, il 13 negli schermi che ho io non funziona, va utilizzato il 3 e così via. Insomma, c’è rischio di perderci un po’ di tempo prima di vederlo funzionante e all’opera.

lcd01

Per farla breve quindi dirò che l’unica libreria che mi ha funzionato è reperibile a QUESTO indirizzo e che andando a rovistare tra il codice della stessa libreria ho ricavato tutte le funzioni disponibili per la gestione del display, che ho riportato nello sketch di test che pubblico qui di seguito.

SKETCH DI TEST:

 

2 pensieri riguardo “SainSmart IIC/I2C/TWI – Display LCD seriale 2004 20×4”

  1. Hai provato a vedere se funziona con la libreria u8glib?
    Facilita molto le cose con disegni e animazioni. Che torna utile per interfacce utenti.

    Comunque, ti ho “copiato” 🙂
    Il mio blog adesso è hostato su un Banana Pi con Bananian.

    Però ho migrato il sito da WordPress a Hugo, che è un generatore di siti statici. Quindi adesso il blog è una collezione di semplici file html. Le immagini e i commenti sono affidati a servizi esterni (rispettivamente Cloudinary e Disqus).
    In questo modo ho alleggerito sia il lavoro del Banana Pi che della connessione ADSL, visto che adesso il sito pesa in tutto 2MB!!! (+12MB su cloudinary). WordPress occupava 88,9MB.

    E’ la priva volta che configuro un server, ma nginx mi ha reso le cose semplici (e anche il fatto che non ho dovuto installare php o mysql).
    Mi sono divertito anche ad ottenere un certificato ssl gratuito con let’s encrypt. E quindi funziona anche il protocollo https.

    Spero di non aver messo a repentaglio la sicurezza del WiFi di casa 🙂 Nel dubbio ho installato fail2ban.

    Tra l’altro quel Banana Pi adesso controlla la tapparella della mia stanza, che adesso si apre quando suona la sveglia sul mio cellulare.

  2. Ciao Heron,
    purtroppo questo display (LCD2004) non è a matrice di punti ma gestito a caratteri, forse dalla foto si vede. Ogni carattere viene ospitato da una matrice rettangolare 5×8 distanziata, quindi non è una superficie uniforme di pixel. Per quello ci vorrebbe un 12864, ma va bene così.

    Complimenti per il blog, considera magari anche un firewall dopo un’analisi del traffico. Non mi ricordo se fail2ban gestisce anche possibili attacchi DOS che sono la rottura più frequente che può capitare. C’è gente che non ha niente di meglio da fare che cercare di sdraiarti il sito…. 🙂

Lascia un commento