Termómetro Interior (PIC16F676)
Apresento-vos este circuito de um termómetro de interior construído com um PIC16F676, onde uso o sensor de temperatura LM75A.
O conceito está baseado no bus I2C no qual fazem parte os dispositivos escravos LM75A, 24C02 e o expansor PCF8574P.
O microcontrolador PIC é o bus master, faz a leitura do sensor de temperatura, converte os dados deste de hexadecimal para decimal
com recurso aos dados guardados na 24C02. Por fim, disponibiliza-os no display de 7 segmentos de 2 dígitos multiplexado de ânodo comum com o PCF8574P.
Todo o circuito está montado numa breadboard, mas é de fácil construção numa placa de circuito impresso; os módulos display e LM75A estão à parte.
A minha ideia de utilizar o I2C é derivada da existência de muitos dispositivos de vários tipos e de preço acessível; tem também a vantagem de se usar poucas linhas de código
para as rotinas de comunicação e reduzir o espaço físico das placas de circuito impresso.
Disponibilizo também os ficheiros .HEX do PIC e da 24C02 e o diagrama. Utilizo o PIC16F676, mas podem substituir pelo PIC16F630.
Saliento também que a linha de alimentação do LM75A deve sempre levar um condensador de filtragem de 100nF/63V para este fazer uma leitura
correta da temperatura, como está no diagrama esquemático.
Hardware
Software
Project Specifications
- PIC: PIC16F676
- EEPROM: 24C02
- Temp. Sensor: LM75A
- I2C Int.: PCF8574P
Circuit Diagram
Display 7 Segmentos x2
Sensor Temperatura LM75A
Source code files
| Nº de flashes do LED erro_I2C: | Tipo de erro bus I2C | Descrição do erro/falha: |
|---|---|---|
| 1 | Erro na escrita do PCF8574P | Erro/falha na conexão entre o controlador e o PCF8574P** Dispositivo avariado ou é uma versão errada do mesmo* |
| 2 | Erro na leitura da 24C02 | Erro/falha na conexão entre o controlador e a 24C02** Ou o dispositivo está avariado |
| 3 | Erro na leitura do LM75A | Erro/falha na conexão entre o controlador e o LM75A** Ou o dispositivo está avariado |
Autor: Paulo Alago (2023)
Montagem em Breadboard