Questo post è avvicinato a costruire un dispositivo elettronico per misurare la temperatura, che è riferito al tipo di utente tramite un display LED a 7 segmenti.
Questo progetto si compone di due parti: hardware (meno complesse) e software (più complesse). In un primo momento descrivere il concetto, la funzione e il montaggio del dispositivo. Nel secondo lo stesso per il firmware (programma) che si svolgerà all'interno del dispositivo.
Il vantaggio principale della strategia adottata in questo progetto è il ridotto numero di componenti utilizzati nella costruzione. Anche se ci sono chip dedicati a questo compito, non possono essere facilmente reperibili e non possono essere modificati o adattati per essere utilizzati in particolare. Inoltre, la costruzione di PIC è molto didattica.
Tutti i file necessari per completare la costruzione e la programmazione, tra cui lo schema elettrico e codice sorgente assembler si trovano in questo archivio.
Hardware
Il componente scelto per essere il cuore di questo progetto è stata la PIC16F818, che nel suo 18-pin presenta una quantità sufficiente di ingressi e uscite (16), è un convertitore A / D integrati 8MHz oscillatore interno, in grado di memorizzare fino a 1K parole di programma 128 byte di RAM e EEPROM 128, e più di quanto sia necessario per questa applicazione. Questo componente fornisce anche altre risorse e conveniente, come un modulo per la comunicazione seriale e uno per PWM sincrono. In un altro progetto, ho utilizzato il modulo di comunicazione seriale per implementare un bus I2C ad un controllo principale componente slave altri componenti.
Il PIC16F818 è compatibile pin-to-pin con il suo diretto antenato, il PIC16F84 popolare, ma è molto più versatile di questa.
Tra tutti i tipi di sensori di temperatura, a causa del prezzo basso, la stabilità, precisione e facilità d'uso, il LM35 è stato scelto. Questo componente è un circuito integrato dotato di un sensore di temperatura e di calore compensasão circuiti e del potere, con la temperatura e misura della tensione con una risoluzione di 10mV per grado Celsius.
Prototipo montato su proto-board:
Prototipi auto-luminosa:
Vesão finale e la sua scatola:
Cablaggio:
Versione PDF.
Source file per gEDA: Termometro.sch
Simboli di borsa che descrive la componente PIC16F818: PIC16F818-1.sym
Software
Il firmware per il termometro è stato scritto in linguaggio assembler per PIC a PC / Linux utilizzando gli strumenti open source e gputils piklab. Repository di alcune distribuzioni già venuto con questi pacchetti, ma di solito non sono installati di default. Tuttavia è stato molto facile da installare in Fedora con yum:
$ Yum-y install gputils piklab
La schermata qui sotto mostra l'ambiente di sviluppo integrato di piklab, con un estratto del codice sorgente termometro visibile nella finestra di pubblicazione. Con piklab in grado di organizzare i file contenenti il codice sorgente nella stessa directory, e inserirle in un file di progetto, che contiene anche le informazioni e le impostazioni riguardanti l'hardware su cui il programma verrà eseguito. Dopo aver compilato il codice sorgente, è possibile scaricare l'eseguibile per il chip di memoria flash con un solo clic del mouse.
Il software è responsabile per rendere periodiche letture digitale del segnale analogico fornito dal LM35, convertire le informazioni in una temperatura alla scala Celsius, convertire il numero binario in decimale, visualizzare la temperatura sul display, memorizzare in EEPROM le temperature minime e massime osservate e rispondere alla pressione di un pulsante. Il software consente inoltre di visualizzare la temperatura in gradi Fahrenheit, se lo si desidera. Per alcune di queste conversioni, è stato necessario attuare procedure efficaci per la moltiplicazione e la divisione, dato che queste operazioni non sono presenti in hardware.
Il codice sorgente: termometro.asm, distribuito sotto licenza GPL
File di progetto per piklab: Termometro.piklab
Compilati. HEX per programmare il chip: Termometro.hex
Tutti i file di cui sopra in formato. ZIP
Related Posts:















Molto interessante e facile da fare lo stesso ... solo il codice assembly che non è nessun pezzo di torta ... hehe
Muito massa!
Ate articoli enfim que su PIC per Linux.
È difficile trovare la rete.
Grazie