Temperature Display System with LM35 and Arduino UNO in Proteus
A Temperature Display System with LM35 and Arduino UNO in Proteus is a fundamental project of LM35. the Arduino UNO is the central unit that takes the real-time values from the LM35 sensor and displays them on the LCD.
- Proteus ISIS
- Arduino IDE
- LM35
- Arduino UNO
- Potentiometer
- LCD
- LEDs (green, yellow, red)
- Resistor
- Ground terminal
- Power terminal
- Arduino IDE
- Download the Arduino UNO library for Proteus.
- Open the Proteus ISIS.
- Go to the Pick device library and get the first six components given in the above list, one after the other.
- Arrange the components on the working screen according to the below diagram:
- Connect the components through the connecting cables.
- Go to the “terminal mode” of Proteus ISIS and select the ground terminal.
- Arrange the terminal with the LM35 sensor LCD and LEDs.
- Repeat the above two steps for the power terminal.
- The LM35 is connected with the analog pin A0 of Arduino UNO.
- Now, go to the Arduino IDE.
- Create a new project.
- Remove the default code.
- Paste the code below code:
// pin definitionconst int LEDGreen = 13;const int LEDYellow = 12;const int LEDRed = 11;
const int tempSensor = A0;
void setup() { pinMode(LEDGreen, OUTPUT); pinMode(LEDYellow, OUTPUT); pinMode(LEDRed, OUTPUT);
// LCD initialization lcd.begin(16, 2); // Welcome message lcd.print("Welcome"); delay(2000); lcd.clear();}
void loop() { // Temperature sensor reading int Value = analogRead(tempSensor); // Reading Temperature float V = Value * (5.0 / 1023.0); float T = (V - 0.5) * 100.0; lcd.setCursor(0, 0); lcd.print("T: "); lcd.print (T); lcd.print(" C "); // Extra spaces to clear any leftover characters
// LED control if (T < 25) { digitalWrite(LEDGreen, HIGH); digitalWrite(LEDYellow, LOW); digitalWrite(LEDRed, LOW); } else if (T >= 25 && T <= 30) { digitalWrite(LEDGreen, LOW); digitalWrite(LEDYellow, HIGH); digitalWrite(LEDRed, LOW); } else { digitalWrite(LEDGreen, LOW); digitalWrite(LEDYellow, LOW); digitalWrite(LEDRed, HIGH); }
delay(1000); // Wait before the next reading}
- Compile the code.
- Get the HEX code address from the below screen:
- Now go to the Proteus ISIS and double-click the Arduino UNO.
- Paste the hex file address in the program file section.
- Run the project.
- At first, it shows the welcome message that lasts for two seconds on the screen.
- Change the values of the LM35 nob to check if the temperature values are changing.
- During the temperature change, you will observe that the LCD provides the temperature values and the LEDs indicate the temperature level. For values greater than 40C, the red light indicates the high level.
- Similarly, the yellow light is for moderate temperature, and green is for the normal temperature range.
Build This Project
Bring this design to life with the Elektor PCB Service, powered by Eurocircuits. Upload the project files and order professionally manufactured PCBs or assembled boards through a proven European production platform.
Supporting KiCad, Eagle, Gerber, and ODB++ formats, the service is suitable for everything from prototypes and validation builds to series production and volume manufacturing.
Made in Europe. Fast. Reliable. Professional.

Discussion (0 comments)