Utilizzare un display LCD con un collegamento seriale con Linux

ArticleCategory: [Es gibt verschiedene Artikel Kategorien]

Hardware

AuthorImage:[Ein Bild von Dir]

[Foto dell'autore]

TranslationInfo:[Author and translation history]

original in en Guido Socher

en to it Toni Tiveron

AboutTheAuthor:[Eine kleine Biographie über den Autor]

Guido è un fan di Linux da molto tempo. La sua homepage su Linux può essere trovata presso www.oche.de/~bearix/g/.

Abstract:[Here you write a little summary]

Questo articolo vi mosterà come utilizzare il display BLC2021 PC-Bay su linee seriali, costruito dalla Matrix Orbital con Linux. Il BLC2021 è un piccolo display LCD a matrice di punti, molto semplice da utilizzare e non richiede nessun controller addizionale o alcun driver complesso.

ArticleIllustration:[This is the title picture for your article]

[Illustrazione]

ArticleBody:[The article body]

Introduzione

Con un poca di pratica hobbistica potete utilizzare il vostro vecchio PC per costruire un lettore MP3 per il vostro soggiorno o per controllare il riscaldamento della vostra casa o utilizzarlo come server intranet. I campi di applicazione di un simile oggetto sono molteplici. In ogni caso non sarebbe piacevole avere in computer completo, ma sarebbe preferibile una piccola scatola di metallo senza alcun monitor - ingombrante per lo più - o alcuna tastiera. Al posto di questi due ultimi potrete avere un piccolo display LCD che vi mostra, per esempio, il titolo della canzone che state ascoltando, o la temperatura della stanza, lo stato del Vostro server,...

I display LCD prodotti dalla matrix-orbital sono ottimi per questi tipo di applicazioni.

I display LCD e i componenti elettronici per computer sono, di norma, materiale delicato. Collegare un display LCD con l'alimentazione invertita o con una tensione troppo elevata lo può guastare. In questo articolo vi presenterò il BLC2021, un display seriale da inserire in uno slot per PC, molto semplice da installare e che viene fornito con tutti i cavi necessari per collegarlo al PC. Tutto quello che vi serve per installare il BLC2021 è un piccolo cacciavite. Con i cavi forniti assieme al display, non vi sono molte possibiità di commettere errori.

Installazione

Il BLC2021 viene forinto con i cavi necessari per essere alloggiato in uno slot da 5.25 pollici. Dovrete solo collegare il cavo si almentazione ad una presa del Vostro alimentatore e la piattina (il cavo piatto, simile a quello del floppy o dell'hard disc) ad una porsta RS232 (la normale porta seriale che avete nel Vostro PC). Una possibiltà per raggiungere questo connettore è quella di ricorrere alla rimozione di una placchetta-tappo presente su di uno slot libero. Altra soluzione, attuabile solo se le porte seriali del Vostro computer non sono saldate sulla piastra madre, è quella di collegare il cavo al connettore a 10 pin presente sulla medesima per mezzo di un connettore. In questo ultimo caso dovrete però fare molta attenzione ai sengali presenti nei pin del connettore sulla piasta madre.

La Matrix-orbital fornisce un software-driver su di un floppy disk. Esso contiene lcdproc-0.3.3 per Linux. Si tratta di un software GPL e disponibile come codice sorgente. Tuttavia il software lcdproc-0.3.3 è stato creato per display a 4 righe mentre il BLC2021 ne ha solamente 2. Utilizzando questo software il display sarà affetto da sfarfallio.
Le ultime versioni di lcdproc sembrano poter essere utilizzate con i display a due righe, tuttavia io non le ho testate.

lcdproc è stato scritto con l' intento di mostrare ciclicamente le informazioni sul sistema, tipo utilizzo della memoria, tempo trascorso dal boot, etc...
In questo articolo non utlizzeremo lcdproc. Si tratterà un metodo più generico per scrivere infomazioni su di un display seriale. Utilizzare questo tipo di display è semplice e, se usato con Linux, non necessita di complessi driver o software per utilizzarlo. Tutto quello che vi serve è di inizializzare in maniera propria la linea seriale (ovvero la nostra porta seriale), a quel punto potrete ricorrere ad uno script per pilotarlo. La parte restante di questo articolo Vi spiega come.

Utilizzare il display LCD

Il BLC2021 può interpretare caratteri ASCII da una linea seriale, ma si deve prima inizializzare la linea seriale:

  1. Scaricate il programma mtxorb(mtxorb-0.2.tar.gz), decomprimetelo con il seguente comando tar zxvf mtxorb-0.2.tar.gz (nota: alcuni navigatori web decomprimono automaticamente i file con estensione . gz (per mezzo di "gunzip") ma non cambiano il nome in mtxorb-0.2.tar. In questo caso provate con il comando tar xvf mtxorb-0.2.tar.gz).
  2. Compilatelo: cd mtxorb-0.2; make
  3. Create un softlink al device a cui il display è collegato:
    cd /dev; ln -s ttyS0 lcd      (per la prima porta seriale, COM1)
    cd /dev; ln -s ttyS1 lcd      (per la seconda porta seriale, COM2)
  4. Il programma mtxorb assume che voi abbiate configurato il display LCD (per mezzo di una serie di ponticelli) alla velocità di 19200 baud. Questa è anche la configurazione predefinita del display BLC2021.
  5. Utilizzate il comando mtxorb per inizializzare la linea seriale, nel seguente modo:
    mtxorb /dev/lcd

Ora il display è pronto all'uso. Qui trovate un piccolo esempio di uno script in perl che fa vedere un contatore che incrementa di secondo in secondo:
#!/usr/bin/perl -w
open(LCD,">/dev/lcd")||die "ERROR: can not write to /dev/lcd\n";
$|=1;
my $i=0;
while(1){
    $i++;
    print LCD chr(0xFE),"X"; # clear the display
    print LCD "Count $i\n";
    sleep(1);
}
close LCD;

Il BLC2021 gestice un piccolo insieme di comandi. Per accedere alla modalità comandi dovete inviare il carattere FE in esadecimale ed inviare il carattere di comando. Il carattere-comando X cancella il contenuto del display. I comandi sono documentati in un piccolo manuale a corredo del display. Vi sono comandi che permettono anche di modificare il contrasto, accendere o spegnere la retroilluminazione e di creare caratteri personalizzati.

Scrivere le informazioni del sistema sul display

Come precedentemente detto, una possibilità per scrivere sul display lo stato del sistema è quello di utilizzare il programma lcdproc.

Un'altra opzione è di utilizzre il programma mtxorb, poco fa citato, e creare un piccolo script in perl. Potete leggere l'uptime del sistema dal file /proc/uptime, l'utilizzo della memoria virtuale da /proc/meminfo e lo stato della cpu da /proc/loadavg. Questo è esattamente quello che fa questo script in perl, che ho chiamato lcdwriter. Trattandosi, per l'appunto, di uno script in perl è molto semplice da personalizzare e possono essere aggiunte altre variabili da far vedere per mezzo del display.

Dove acquistare il display BLC2021.

La Matrix Orbital sembra esser il classico esempio di una azienda di ottimi prodotti ma con un reparto marketing che lascia a desiderare. Il display che mi volevano inviare non giunse mai. La stessa casa ha una lista di rivenditori presso il loro sito. Per la Germania io sono ricorso a "elektronikladen.de" che vende questo display. Lo ho ordinato per e-mail e nel giro di 24 ore me lo sono trovato nella mia cassetta delle lettere. Ottimo e veloce servizio! La lista dei rivendori contiene indirizzi anche per altri paesi. Il prezzo dello BLC2021 si aggira si aggira sui 100 Euro.