Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

Nessuno vorrebbe parlare molto nella società se sapesse quanto spesso non riesce a capire gli altri.

Wolfgang Goethe 

Sondaggio:

Quale sistema operativo preferite?

Linux
Windows
DOS
MacOs
UNIX

visualizza risultati


 

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.

 

successivo
–«  INDICE PROGETTI  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2009 Cataldo Sasso