|
Centralina di acquisizione condizioni ambientali 4/6
di Cataldo Sasso
Software di gestione
Il software di gestione è un programmino scritto in Turbo Pascal 6.0 (ehe ehe.., ero ancora ben lontano dalle conoscenze informatiche
che ho oggi :-p ). La maggior parte del codice serve per gestire la grafica e solo una piccola parte per prelevare ed elaborare i dati dei sensori.
In pratica lanciando il programma si entra in un ambiente grafico che mostra un menù con 3 possibili opzioni: visualizzare l'andamento
della temperatura, con relativo grafico in tempo reale; visualizzare l'andamento di tutte le grandezze contemporaneamente; uscire dal programma.
Scegliendo la prima opzione si entra in un ambiente in cui è visibile un grafico che viene compilato in tempo reale con i valori di temperatura
ricevuti dalla centralina, e una serie di dati in formato testo quali temperatura istantanea, ora d'inizio e tempo trascorso dall'inizio del
campionamento. Scegliendo invece la seconda opzione si entra in un ambiente in cui è visibile sulla sinistra l'andamento istantaneo di
tutte le grandezze monitorate, compresa la temperatura, nonchè l'ora di inizio e il tempo trascorso, e sulla destra una tabella riassuntiva
in cui vengono inseriti, ad intervalli di tempo regolari, i valori istantanei delle varie grandezze monitorate. In entrambi i casi il campionamento
parte solo dopo aver dato lo START premendo il tasto "S" (come visibile nella legenda dei comandi in basso sullo schermo).
Il programma sorgente in Turbo Pascal è contenuto nel file centralina_ambient.zip,
ma fate attenzione perchè avendo perso tutti gli originali del progetto (compresi schemi elettrici e sbrogliati), ho dovuto ricopiare
il tutto partendo dai miei vecchi appunti. Quindi, soprattutto il software, potrebbe contenere dei bug.
Per ciò che riguarda invece i dati per visualizzare la temperatura sui display a led che vanno memorizzati nella EPROM, purtroppo non
ho un file che li contenga, ma la cosa è abbastanza semplice: bisogna inserire nell'ultima cella (indirizzo FF in esadecimale) il valore
50, che rappresenta la temperatura massima, e suddividere tutte le altre celle partendo dalla prima ragruppandole alternativamente in gruppi
di 3 e 4 celle (questo perchè le celle sono 256 mentre i valori da memorizzare sono solo 70) e memorizzandovi man mano il valore di temperatura
da -20 a +49 (escluso il segno ovviamente).
Un piccolo "trucchetto" può essere adottato per far sì che non venga visualizzato lo zero non significativo delle decine
quando la temperatura si trova tra i -9 e i +9 °C (cioè -09 e +09 °C). E' sufficiente memorizzare nelle celle corrispondenti
allo zero, una F esadecimale anzichè lo 0 (per esempio memorizzare F9 al posto di 09, F8 al posto di 08, e così via...). Questo
grazie ad una particolarità del display driver 7448 il quale, quando sui suoi ingressi riceve 1111 (cioè F in esadecimale), disattiva
le uscite spegnendo così tutti i segmenti.
|