Guida completa a jaLCDs
Carlo "Dhs" Demichelis ha scritto per noi una dettagliatissma guida per lo jaLCDs, il piu′ completo, e complicato, programma di gestione di un display LCD basato su interfaccia Hitachi HD44780.
di Stefano Pepe pubblicato il 24 Febbraio 2003 nel canale ModdingLe bargraph
Adesso cominciamo a vedere le cose veramente interessanti
Bargraph:
questo comando consente di visualizzare graficamente, tramite una barra liberamente dimensionabile (in orizzontale) i propri valori numerici.
Il comando consta di vari parametri.
(PS: leggete e ricordate per i futuro: quando parlo di parametri ricordate che questi potranno *sempre* essere sia valori fissi che variabili...).
la sintassi e′ quindi:
"$bar:a:b:c:d:e:f§"
dove:
a = riga di partenza
b = colonna di partenza
c = lunghezza della barra (in caratteri)
d = valore minimo
e = valore da mostrare
f = valore massimo
Vediamo un esempio pratico (in tutti gli esempi da qui in avanti suppongo che si disponga di un LCD da 20x4).
Supponiamo di voler mostrare, sulla stessa riga, il valore percentuale di occupazione della CPU, e, a fianco di questo, una barra grafica che mostri lo stesso dato graficamente.
"CPU: $cpuload§$bar:1:10:11:0:$cpuload§:100§"
Cosa succede?
Scriviamo (in testo) la parola CPU:
Inseriamo la variabile che ci mostrerà, numericamente, la percentuale di occupazione.
Definiamo una barra che parta nella riga 1, dalla colonna 10, per una lungezza massima di 11 caratteri, con un valore minumo di 0, il valore di cpuload, che ha un valore massimo di 100.
Carino, eh?
ma! Cosa e′ quella roba li?!
Notiamo una cosa.
Il valore numerico della cpu puo′ essere lungo da 1 a 3 caratteri (es: 1, 22, 100). Quando viene mostrato sullo schermo, il valore viene sempre allineato a sinistra, cosa non propriamente bella da vedersi...
che facciamo?
Andiamo a vedere il comando $format§
Questo comando consente appunto di "formattare" un valore numerico in modo tale che questo venga presentato secondo i nostri voleri La sintassi e′:
"$format:VAL:FORMAT§"
dove VAL e′ il valore da formattare, FORMAT e′ il formato.
il sistema per specificare la formattazione e′ lo stesso del Visual Basic o di exel, quindi potete fare riferimento a quelli.
Per ottenere, ad esempio, il valore *decimale* di occupazione della cpu possiamo semplicemente scrivere:
"$format:$cpuload§:0.0§
nel nostro caso, facciamo in modo che il valore percentuale venga *sempre* mostrato di 3 cifre. Qundi, la riga di prima varierà cosi′:
"CPU: $format:$cpuload§:000§$bar:1:10:11:0:$cpuload§:100§"
Seguendo questo esempio, possiamo, ad esempio, mostrare dei dati relativi all′occupazione della ram nella seconda riga:
"RAM: $ramfree§ $bar:2:10:11:0:$ramfree§:$ramtotal§§"
Mostriamo quindi il valore numerico della ram libera, dopodiche′ definiamo una barra, che parte nella riga 2, colonna 10, lunghezza 11, con valore minumo 0, con il contenuto della ram libera ($ramfree§) e definendo come valore massimo quello reale, che e′ contenuto nella variabile $ramtotal§.
Notare che alla fine della linea ci sono 2 simboli "§". Questo perche′ quello piu′ esterno chiude l′istruizione "bar", quello piu′ a sinistra fa parte della variabile $ramtotal§.
Completiamo il nostro primo screen inserendo nella terza riga i seguenti comandi:
"$date§ $time§
continuando a scorrere la lista delle funzioni scopriamo l′Advanced Bargraph. Che e′?!
E′ una barra del tutto simile alla precente, con la differenza che ci consente di inseire, in maniera grafica, all′interno della grafica, un valore (di massimo 5 caratteri).
Pensate a quello che penso io?
Andate alla prima riga e modificatela cosi′:
"CPU $advbar:1:5:16:0:$cpuload§:100:$cpuload§%:1§"
Scriviamo la parola CPU seguita da uno spazio.
Definiamo una advbar che inizi alla riga 1, colonna 5, lunga 16 caratteri, con valore minimo 0, che mostri il valore di cpuload, che ha un valore massimo di 100, scriviamo il valore numerico di cpuload piu′ il segno percentuale a partire dalla posizione 1 (si conta dall′inizio della barra).
Abbiamo cosi′ ottenuto una barra piu′ lunga senza pero′ eliminare il valore numerico di del dato visualizzato. Mica male, eh?
Adesso vi faccio fare un bell′esperimento!
Clickate Add e create un nuovo schermo chiamato "clock".
Sulla destra dategli un time to show di almeno 10000.
Selezionate una riga (una qualsiasi), e scriveteci dentro
"$clock2§ "
Salvate la vostra configurazione, caricatela con jalcds e quando viene mostrato l′orologione......... 00.00 ?!?!?!!? Ma come?!?!!?
Ok, Windows:
Start, pannello di controllo, Opzioni internazionali e della lingua, personalizza...
settate come segue:
Sotto il tab "ora" :
Formato ora: HH:mm:ss
Separatore ora: : (il simbolo ":")
Sotto il tab "Data":
Formato data breve: gg.MM.aaaa
Separatore data: . (il simbolo ".")
Formato data estesa: gggg, g. MMMM aaaa
Applica, ok, guardate il vostro LCD.
Che bello, ora avete il vostro orologione da 2/3/4/5 milioni, a seconda di quanto avete pagato il PC e quanto ci avete messo dentro tra schede, schifezze varie e modding. :)
Bargraph:
questo comando consente di visualizzare graficamente, tramite una barra liberamente dimensionabile (in orizzontale) i propri valori numerici.
Il comando consta di vari parametri.
(PS: leggete e ricordate per i futuro: quando parlo di parametri ricordate che questi potranno *sempre* essere sia valori fissi che variabili...).
la sintassi e′ quindi:
"$bar:a:b:c:d:e:f§"
dove:
a = riga di partenza
b = colonna di partenza
c = lunghezza della barra (in caratteri)
d = valore minimo
e = valore da mostrare
f = valore massimo
Vediamo un esempio pratico (in tutti gli esempi da qui in avanti suppongo che si disponga di un LCD da 20x4).
Supponiamo di voler mostrare, sulla stessa riga, il valore percentuale di occupazione della CPU, e, a fianco di questo, una barra grafica che mostri lo stesso dato graficamente.
"CPU: $cpuload§$bar:1:10:11:0:$cpuload§:100§"
Cosa succede?
Scriviamo (in testo) la parola CPU:
Inseriamo la variabile che ci mostrerà, numericamente, la percentuale di occupazione.
Definiamo una barra che parta nella riga 1, dalla colonna 10, per una lungezza massima di 11 caratteri, con un valore minumo di 0, il valore di cpuload, che ha un valore massimo di 100.
Carino, eh?
ma! Cosa e′ quella roba li?!
Notiamo una cosa.
Il valore numerico della cpu puo′ essere lungo da 1 a 3 caratteri (es: 1, 22, 100). Quando viene mostrato sullo schermo, il valore viene sempre allineato a sinistra, cosa non propriamente bella da vedersi...
che facciamo?
Andiamo a vedere il comando $format§
Questo comando consente appunto di "formattare" un valore numerico in modo tale che questo venga presentato secondo i nostri voleri La sintassi e′:
"$format:VAL:FORMAT§"
dove VAL e′ il valore da formattare, FORMAT e′ il formato.
il sistema per specificare la formattazione e′ lo stesso del Visual Basic o di exel, quindi potete fare riferimento a quelli.
Per ottenere, ad esempio, il valore *decimale* di occupazione della cpu possiamo semplicemente scrivere:
"$format:$cpuload§:0.0§
nel nostro caso, facciamo in modo che il valore percentuale venga *sempre* mostrato di 3 cifre. Qundi, la riga di prima varierà cosi′:
"CPU: $format:$cpuload§:000§$bar:1:10:11:0:$cpuload§:100§"
Seguendo questo esempio, possiamo, ad esempio, mostrare dei dati relativi all′occupazione della ram nella seconda riga:
"RAM: $ramfree§ $bar:2:10:11:0:$ramfree§:$ramtotal§§"
Mostriamo quindi il valore numerico della ram libera, dopodiche′ definiamo una barra, che parte nella riga 2, colonna 10, lunghezza 11, con valore minumo 0, con il contenuto della ram libera ($ramfree§) e definendo come valore massimo quello reale, che e′ contenuto nella variabile $ramtotal§.
Notare che alla fine della linea ci sono 2 simboli "§". Questo perche′ quello piu′ esterno chiude l′istruizione "bar", quello piu′ a sinistra fa parte della variabile $ramtotal§.
Completiamo il nostro primo screen inserendo nella terza riga i seguenti comandi:
"$date§ $time§
continuando a scorrere la lista delle funzioni scopriamo l′Advanced Bargraph. Che e′?!
E′ una barra del tutto simile alla precente, con la differenza che ci consente di inseire, in maniera grafica, all′interno della grafica, un valore (di massimo 5 caratteri).
Pensate a quello che penso io?
Andate alla prima riga e modificatela cosi′:
"CPU $advbar:1:5:16:0:$cpuload§:100:$cpuload§%:1§"
Scriviamo la parola CPU seguita da uno spazio.
Definiamo una advbar che inizi alla riga 1, colonna 5, lunga 16 caratteri, con valore minimo 0, che mostri il valore di cpuload, che ha un valore massimo di 100, scriviamo il valore numerico di cpuload piu′ il segno percentuale a partire dalla posizione 1 (si conta dall′inizio della barra).
Abbiamo cosi′ ottenuto una barra piu′ lunga senza pero′ eliminare il valore numerico di del dato visualizzato. Mica male, eh?
Adesso vi faccio fare un bell′esperimento!
Clickate Add e create un nuovo schermo chiamato "clock".
Sulla destra dategli un time to show di almeno 10000.
Selezionate una riga (una qualsiasi), e scriveteci dentro
"$clock2§ "
Salvate la vostra configurazione, caricatela con jalcds e quando viene mostrato l′orologione......... 00.00 ?!?!?!!? Ma come?!?!!?
Ok, Windows:
Start, pannello di controllo, Opzioni internazionali e della lingua, personalizza...
settate come segue:
Sotto il tab "ora" :
Formato ora: HH:mm:ss
Separatore ora: : (il simbolo ":")
Sotto il tab "Data":
Formato data breve: gg.MM.aaaa
Separatore data: . (il simbolo ".")
Formato data estesa: gggg, g. MMMM aaaa
Applica, ok, guardate il vostro LCD.
Che bello, ora avete il vostro orologione da 2/3/4/5 milioni, a seconda di quanto avete pagato il PC e quanto ci avete messo dentro tra schede, schifezze varie e modding. :)







DJI Romo, il robot aspirapolvere tutto trasparente
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
FUJIFILM X-T30 III, la nuova mirrorless compatta
Battlefield REDSEC esce oggi: ecco l'orario d'uscita del battle royale free-to-play
5 robot aspirapolvere in forte sconto su Amazon e sono i migliori del mercato: potenza da 19.000 Pa e lavaggio a caldo fino a 75°C
Smembrate OpenAI: la richiesta del senatore Bernie Sanders scuote la Silicon Valley
iPhone 16 a 689€: e ora che si fa? Disponibili in colorazione nera o bianca, le più vendute
I robot aspirapolvere Neato diventeranno 'stupidi': Vorwerk si prepara a spegnere i server cloud
Lux e Discovery, AMD e il Dipartimento dell'Energia USA uniscono le forze per due nuovi supercomputer AI
Qualcomm entra nei datacenter: annunciati gli acceleratori AI200 e AI250 per l'inferenza generativa
Amazon prepara il più grande licenziamento della sua storia: fino a 30.000 posti a rischio
Un post di Sean Duffy (amministratore ad interim della NASA) ha suscitato ilarità sui social
SpaceX ha già lanciato oltre 135 razzi spaziali Falcon 9, superando quanto fatto nel 2024
GeForce RTX 5060 Ti 8GB: non piace neanche a NVIDIA. Avrebbe chiesto ai partner di limitare la produzione
Isar Aerospace Spectrum: il fallimento del primo lancio del razzo spaziale europeo dovuto a una valvola
'State lontani dalla GeForce RTX 5090 Founders Edition': l'appello di un riparatore
GJ 251 c è la ''super-Terra'' scoperta a 18 anni luce dal nostro Pianeta: necessari nuovi dati per conoscerla meglio








