Sunday 9 June 2013

Energia library: LCD 2x16 by C/D



Oggi pubblichiamo una nuova libreria per Energia di cui, almeno per quanto ci riguarda, sentivamo la mancanza. Si tratta di qualcosa molto simile alla "Liquid Crystal" di Arduino, nel nostro caso specifica per display LCD 2X16 (JDH162A/HD44780).

Il codice proposto è ispirato al lavoro di fatihinanc raggiungibile sul forum Stellaristi.

Si distingue da questo per due motivi. Prima di tutto parliamo di una libreria scritta per essere usata direttamente con l'ide Energia, di cui abbiamo parlato lungamente in diversi post precedenti, e poi perché aggiunge dei metodi intuitivi ma che effettuano operazioni abbastanza complesse.

Diamo giusto una lista delle operazioni fin qui accessibili ed auspichiamo che nel futuro se ne possano implementare delle altre, magari proposte proprio da voi utenti.
clear(void)
permette la cancellazione di quanto scritto su LCD;
print(int/char/String)
stampa un carattere, un intero o una stringa su LCD a partire dall'ultimo carattere scritto e dall'ultima riga selezionata;
print(int/char/String, row, column)
stampa un carattere, un intero o una stringa su LCD nella posizione specificata tramite ROW e COLUMN;
scrollLeft(String, row, ms)
stampa a scorrimento verso sinistra un testo su LCD nella posizione specificata tramite ROW con refresh pari a MS (in millisecondi);
scrollRight(String, row, ms)
stampa a scorrimento verso destra un testo su LCD nella posizione specificata tramite ROW con refresh pari a MS (in millisecondi);
init(RS, EN, DB4, DB5, DB6, DB7)
configura la porta di dialogo col display LCD, è possibile scegliere arbitrariamente ogni pin digitale disponibile, ma la configurazione consigliata è quella qui riportata.

Per ora è tutto, vi lascio al video dimostrativo ed ai vostri commenti.



Il codice è disponibile sul nostro github.

2 comments:

  1. salve Orlando Cosimo le scrivo per complimentarmi per la guida, una sola cosa non ho capito, nel codice c'è il commento che precisamente a riga 21 c'è scritto di collegare RS a PB_0, ma sulla mia launchpad riporta solo le porte P1.5 P6.4 come posso fare per capire a quale porta corrisponde??

    ReplyDelete

Hi at all, leave me a feedback for this post. Thx