1.
Introduction
This LCD thermometer works on AAA batteries and uses
the Microchip MCP9800 as a sensor.
This circuit is based around the PIC16LF1937 microcontroller.
This chip is actually a small computer contained in a single chip, including
RAM memory, EEPROM, I/O ports, CPU and
so on. When you buy this chip, it comes empty with no program on it. You have
to compile the source code and download the resulting machine code into it, using a PC and a small
programmer attached to the PC and the chip. To get yourself familiar with this
stuff, I suggest you first read this link: Getting started with microcontrollers.
2.
Description
The LCD display used in this design is the Varitronix
VI-302 (Digikey ordernbr: 153-1022-ND), which is a static (non-multiplexed) 3.5
digits 7-segment transflective display. It is driven by the PIC16LF1937 microcontroller
which has a built-in LCD driver.
The design is based on Microchip’s
F1 evaluation board.
3.
Usage
Usage is very simple. There are no buttons (the switch
in the schematics is currently not used). Just insert the batteries and the LCD
shows the temperature in degrees Celsius.
4.
Schematic diagram
5.
Explanation of the schematic
diagram
(Refer to the schematic diagram).
The diagram is really simple. One common line and a
lot of segment lines are connected to the LCD display. The digital temperature
sensor is connected to the clock and data lines of the PIC’s I2C bus.
A common 32768 Hz crystal is connected to the PIC’s
oscillator pins, this is used as the timer1 oscillator.
6.
The
printed circuit board
The pcb is designed for smd components.
It is double sided and designed with Eagle (from Cadsoft).
The LCD display, the only non-SMD component, has long
pins and therefore can be mounted on top of the microcontroller, thus saving
space.
PDF file (top, mirrored) to print on a transparent: Print-layout
PDF file (bottom) to print on a transparent: Print-layout
Link to Eagle file brd file containing the PCB..
7.
The final device
Below a picture of the final device.
The device shown has it’s temp sensor mounted outside
the device, connected with a wire, to monitor fridge temperature.
8.
Programming
The software is written in C (Hi-tech
C supporting Microchip). It uses power saving techniques such as Sleep()
and wake up from sleep after timer1 overflow.
For programming you need the Microchip
MPLAB IDE and a PICkit3 compatible programmer. You also need the Hi-tech C
compiler (the lite version, free to download, will do).
Zip file containing all source code, header files and
project files: Link to MPLAB project.
The project file to open is called LCD_demo.mcp, the workspace file is
LCD_demo.mcw.
Connection to a PIC programmer.
Pad 1-2-3-4-5 must be (temporary) wired to a PICkit3
programmer (1=+, 2=-, 3=data, 4=clock, 5=VPP)..
It is advisable to remove both jumpers during
programming so that the LCD does not receive the programming voltages.
Home Back to Electronic
Projects