LCD thermometer

18,625

Circuit Image

This circuit is centered around the PIC16LF1937 microcontroller, which is essentially a compact computer integrated into a single chip, encompassing RAM, EEPROM, I/O ports, and a CPU. When purchased, the chip is unprogrammed, necessitating the compilation of source code and subsequent downloading of the machine code using a PC and a small programmer connected to both the PC and the chip. To gain familiarity with microcontrollers, it is recommended to consult introductory resources. The LCD display utilized in this design is the Varitronix VI-302 (Digikey order number: 153-1022-ND), a static (non-multiplexed) 3.5-digit 7-segment transflective display. The PIC16LF1937 microcontroller, equipped with an integrated LCD driver, directly drives the display. Operation is straightforward; there are no buttons (the switch depicted in the schematic is currently unused). Simply insert batteries, and the LCD will display the temperature in degrees Celsius. The circuit diagram is uncomplicated, featuring one common line and multiple segment lines connected to the LCD display. A digital temperature sensor interfaces with the clock and data lines of the PIC's I2C bus. The software is developed in C (using Hi-Tech C, which supports Microchip devices) and incorporates power-saving techniques, such as the Sleep() function, with the ability to wake up from sleep mode following a timer1 overflow. For programming, the Microchip MPLAB IDE and a PICkit3 compatible programmer are required, along with the Hi-Tech C compiler (the free lite version is sufficient). A zip file containing all source code, header files, and project files is available, with the project file named LCD_demo.mcp and the workspace file named LCD_demo.mcw.

The PIC16LF1937 microcontroller serves as the central processing unit in this circuit, facilitating the control of the LCD display and the processing of temperature data from the sensor. The microcontroller features an integrated LCD driver, which simplifies the connection and control of the Varitronix VI-302 display. The display is designed to show temperature readings in degrees Celsius, providing a clear and immediate visual output.

The circuit design includes a straightforward schematic layout, where the common line connects to the ground and the segment lines are connected to the respective output pins of the microcontroller. The digital temperature sensor communicates with the PIC16LF1937 via the I2C bus, utilizing the clock and data lines for data transmission. This configuration allows for efficient data handling and minimizes the complexity of the circuit.

Power management is a critical aspect of this design. The use of the Sleep() function reduces power consumption when the device is inactive, and the microcontroller can be programmed to wake up upon a timer1 overflow event, ensuring that the temperature readings remain up-to-date without unnecessary power usage.

To program the microcontroller, the MPLAB IDE provides an integrated development environment that streamlines the coding, compiling, and debugging processes. The PICkit3 programmer facilitates the transfer of the compiled machine code from the PC to the microcontroller, enabling the device to execute the programmed instructions effectively.

Overall, this circuit exemplifies a practical application of microcontroller technology, integrating temperature sensing and display functionality within a compact and efficient design. The combination of the PIC16LF1937, the Varitronix VI-302 LCD display, and the digital temperature sensor creates a user-friendly device that operates with minimal intervention, showcasing the capabilities of modern embedded systems.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. 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. 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. 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. 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. 🔗 External reference