Arduino based digital thermometer

By | March 11, 2018

Here we see arduino based digital thermometer. So we are in very first step forward toward analogue sensor interfacing with arduino. Thermometer basically is a temperature measuring instrument. By using this project “arduino based digital thermometer”, we can measure the atmospheric temperature. This atmospheric temperature may use as an input of lots of advanced projects. We can measure the temperature in deffirent way. It may work in principal of like thermal expansion of solids or liquids, pressure of gas, measurement of infrared energy etc. But in this project we use LM35 IC as a temperature sensor.

   The field of using thermometer is wide. It is in weather forecasting, medicinal field, research center, maintaining storage temperature and lots of area. For temperature measuring defferent thermometer are used in different field. Like mercury and glass thermometer is used in human body temperature sensing and other clinical use. But our project arduino based digital thermometer is used in measuring atmospheric room temperature.

Hardware required for arduino based digital thermometer:

To make our simple project arduino based digital thermometer, we need only

1 Arduino Uno Board

2 LCD LM016L 16*2 display

3 LM 35 (temperature sensor)

Project description:

So before entering in our project description, we should learn about LM35 IC. Because it use as a temperature sensor in our project.

LM 35:

arduino based digital thermometer

The LM35 series are precision integrated-circuit temperature devices with an output voltage in early proportional to the Centigrade temperature. The LM35 device has an advantage over linear temperature sensors calibrated in Kelvin, as the user is not required to subtract a large constant voltage from the output to obtain convenient Centigrade scaling. The LM35 device does not require any external calibration or trimming to provide typical accuracies of ±¼°C at room temperature and ±¾°C over a full −55°C to 150°C temperature range. Lower cost is assured by trimming and calibration at the wafer level. The LM35 device has a very wide 4-V to 30-V power supply voltage range, which makes it ideal for many applications. The LM35 is easily applied in the same way as other integrated-circuit temperature sensors. Glue or cement the device to a surface and the temperature should be within about 0.01°C of the surface temperature.

Now come to the project description, in A0 pin of Arduino board we connect LM35. And we used pin numbers 12,11,5,4,3,2 for interfacing LCD. LM35 is sensing temperature changes and convert it to proportional voltage label. This voltage is further process by arduino and display the temperature. Here we used some simple calculation to convert LM35 processed voltage to appropriate temperature. We used formula in programming like

temp_reading=analogRead(Sensor);

temperature=temp_reading*(5.0/1023.0)*100;

that means the sensor value store in temp_reading veriable. And further processed by temp_reading*(5.0/1023.0)*100 and store the result at variable temperature. Finally value store in temperature variable is display in LCD. In bellow see the circuit diagram of arduino based digital thermometer.

arduino based digital thermometer

See the Embedded C code for our project arduino based digital thermometer.

Embedded C Code
// Name : arduino based digital thermometer
// Author : Subham Dutta
// Date : 11-03-18
// Website : www.nbcafe.in
#include LiquidCrystal lcd(12,11,5,4,3,2);
const int Sensor = A0;
byte degree_symbol[8] =
{
0b00111,
0b00101,
0b00111,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};void setup()
{
pinMode(Sensor, INPUT);
lcd.begin(16,2);
lcd.createChar(1, degree_symbol);
lcd.setCursor(0,0);
lcd.print(” NBCAFE Digital “);
lcd.setCursor(0,1);
lcd.print(” Thermometer “);
delay(4000);
lcd.clear();
}
void loop()
{float temp_reading=analogRead(Sensor);
float temperature=temp_reading*(5.0/1023.0)*100;
delay(10);lcd.clear();
lcd.setCursor(0,0);
lcd.print(“Temperature in C”);
lcd.setCursor(4,1);
lcd.print(temperature);
lcd.write(1);
lcd.print(“C”);
delay(1000);}

Here you see the complete simulation video.

 




Leave a Reply

Your email address will not be published. Required fields are marked *