DS18B20 LCD Thermometer
This LCD room thermometer shows the current & maximum temperature in degrees C and F.
The DS18B20 sensor should be accurate to within +/- 0.5 degrees Centigrade.
It displays the temperature using a 16 X 2 LCD module and a PIC18F14K22 microcontroller.
The maximum temperature is shown on the second line. (this can be reset by pressing the button).
Schematic Diagram
It needs a 5 Volt stabilised supply. The display is a 16×2 LCD Display Module type HD44780 (with or without backlight)
RV1 adjusts the display contrast. SW1 is a tactile pushbutton switch to reset the maximum temperature.
The components can either be assembled on stripboard or a single-sided PCB.
The tactile pushbutton is a 6x6mm type with a 9.5mm long button mounted on the back of the PCB.
Two wire links are needed as shown above.
The PDF file can be used to make a PCB if printed on a laser printer at 100% scale using the toner-transfer method.
Software
The software was written in ASM , the HEX file to program it with is available below.
You will need a Microchip “PICkit” or similar tool to program the chip.
3D printed case
The case comprises front and back panels in black PLA which slot into two silver/grey sides that clip together.
The case was created in OpenSCAD by modifying the “Ultimate Box Maker by Heartman” available from thingiverse.
The case dimensions are 90mm wide x 60mm High x 30mm deep. There is a front panel cut-out for the display 70 x 27 mm which fits my older type module.
Some newer display modules may need less than a 27mm high cutout. This could be changed by editing the OpenSCAD file.
The display and pcb are fastened to the front panel using black plastic M2 screws and 12mm M2 hex spacer nuts.
You may need some 1 or 2mm thick spacer washers between the front panel and display – these can be 3dprinted from stl files available from thingiverse.