0% found this document useful (0 votes)
4 views19 pages

Temperature_Monitoring_Final_Report 1

This project report details the design and implementation of a temperature monitoring system using an Arduino microcontroller and an NTC thermistor sensor, emphasizing cost-effectiveness and scalability. The system features a 4-module 8x8 LED matrix for real-time data display, utilizing the Steinhart-Hart equation for accurate temperature readings. Future enhancements include potential IoT integration and additional display options.

Uploaded by

tpaswin2006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views19 pages

Temperature_Monitoring_Final_Report 1

This project report details the design and implementation of a temperature monitoring system using an Arduino microcontroller and an NTC thermistor sensor, emphasizing cost-effectiveness and scalability. The system features a 4-module 8x8 LED matrix for real-time data display, utilizing the Steinhart-Hart equation for accurate temperature readings. Future enhancements include potential IoT integration and additional display options.

Uploaded by

tpaswin2006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Temperature Monitoring System Using

Arduino
Project Report

Submitted by:
Aswin .T.P

Austin Gayle .B

Sivaraj . S

Bharath .R.S
Abstract

This project presents the design and implementation of a simple yet efficient
temperature monitoring system using an Arduino microcontroller and an NTC thermistor
sensor. With a focus on cost-effectiveness and accessibility, the system uses a 4-module 8x8
LED matrix driven by the MAX7219 chip for visual output. The temperature values are
calculated using the Steinhart-Hart equation for accuracy. The project has been simulated
using the Wokwi platform and programmed through the Arduino IDE, emphasizing real-
time data display, low power consumption, and potential for future scalability into IoT-
based systems.
Introduction and Background

Monitoring temperature is essential in numerous domains, including home


automation, industrial environments, agriculture, and health care. Traditional
thermometers provide only local and manual readings, lacking automation, remote access,
or integration into larger systems.

This project aims to address such limitations by designing a basic yet expandable
temperature monitoring system. It demonstrates the use of an Arduino UNO
microcontroller to process analog input from an NTC thermistor and convert it into a
readable format on a digital LED matrix. Leveraging modern, open-source tools and
components, the system emphasizes affordability, accuracy, and ease of replication.
Problem Statement

There is a growing need for affordable, simple, and scalable temperature monitoring
systems in domestic and educational environments. While industrial solutions exist, they
are often cost-prohibitive for personal or educational use. The challenge lies in creating a
real-time, continuously updating temperature monitoring device that is both user-friendly
and based on commonly available components.
Literature Review

Several studies and open-source projects have explored the use of


microcontrollers for environmental sensing. Arduino-based temperature monitoring
systems are widely used for prototyping due to their low cost and extensive community
support. Thermistors have been used for decades for temperature measurement due to
their simplicity and sensitivity.

The Steinhart-Hart equation, proposed in 1968, is commonly used to convert


thermistor resistance into temperature with high accuracy. MAX7219-controlled LED
matrix modules offer a compact and visually engaging way to display data. Previous works
primarily focus on static displays or serial output, whereas this project introduces a
dynamic scrolling display for enhanced readability and presentation.
System Overview

The temperature monitoring system consists of a sensor (NTC thermistor) to


detect ambient temperature, a microcontroller (Arduino UNO) to process the sensor data,
and a 4-in-1 8x8 LED matrix module (driven by the MAX7219 IC) to display the data. The
analog signal from the thermistor is read through the Arduino’s ADC and converted to a
temperature value using the Steinhart-Hart equation. The MD_Parola and MD_MAX72xx
libraries are used for LED control and smooth scrolling text.
Block Diagram

+---------------------+

| Temperature Sensor |

| (e.g., LM35, DHT11)|

+---------------------+

+---------------------+

| Arduino Board |

| (e.g., Arduino Uno)|

+---------------------+

+---------------------+

| Display Module |

| (LCD/OLED/Serial) |

+---------------------+

+---------------------+

| Communication Module|

| (Wi-Fi/Bluetooth) |

+---------------------+
Circuit Diagram and Explanation

The thermistor forms part of a voltage divider circuit. A 10kΩ resistor is connected
in series with the thermistor, and the junction is connected to the analog input pin of the
Arduino. The other ends go to Vcc and GND respectively.

The MAX7219 LED matrix module connects to digital pins via SPI (Serial Peripheral
Interface):
- DIN to Pin 11
- CLK to Pin 13
- CS to Pin 10
Software Requirements and Libraries

Software Used:
- Arduino IDE: Code writing and uploading
- Wokwi Simulator: Simulation and debugging
- MD_Parola Library: Text control on LED matrix
- MD_MAX72xx: Matrix control at the hardware level
Code Walkthrough

Main Functional Blocks:


- Read analog thermistor values
- Apply the Steinhart-Hart equation
- Display values on LED matrix

Sample code:
```
float R = 10000.0 * ((1023.0 / analogRead(A0)) - 1.0);
float logR = log(R);
float temp = 1.0 / (A + B*logR + C*logR*logR*logR);
temp = temp - 273.15;
```
Simulation Using Wokwi

Wokwi is a powerful online Arduino simulator that allows for circuit prototyping
without hardware. The entire project was simulated in Wokwi to test:
- Display output correctness
- Sensor reading accuracy
- Scrolling speed and direction
- Real-time behavior
Testing and Results

The system was tested for accuracy using a multimeter and reference
thermometer. It performed well in indoor conditions, with minor deviation (~1-2°C) from
actual temperature. The LED matrix provided continuous, clear updates with smooth
scrolling.
Applications

- Home temperature monitoring


- Educational kits
- Weather stations
- Greenhouses
- Smart home integration
Future Enhancements

- Wi-Fi or Bluetooth integration


- SD card data logging
- OLED display support
- Portable, battery-powered version
- App-based monitoring
Conclusion

This project successfully demonstrates the implementation of a low-cost, real-time


temperature monitoring system using the Arduino UNO and an NTC thermistor. The design
is modular, scalable, and suitable for future expansion into IoT or data-logging systems.
References

1. Arduino Official Documentation: https://www.arduino.cc


2. MD_Parola Library: https://github.com/MajicDesigns/MD_Parola
3. Wokwi Simulator: https://wokwi.com
4. Thermistor Theory, Vishay Intertechnology
5. Steinhart, J.S., Hart, S.R. (1968)
Appendix A – Full Arduino Code

#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW


#define MAX_DEVICES 4
#define DATA_PIN 11
#define CLK_PIN 13
#define CS_PIN 10
#define SENSOR_PIN A0

MD_Parola display = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

void setup() {
Serial.begin(9600);
display.begin();
display.setIntensity(5);
display.displayClear();
}

void loop() {
int analogValue = analogRead(SENSOR_PIN);
float resistance = 10000.0 * ((1023.0 / analogValue) - 1.0);
float logR = log(resistance);
float tempK = 1.0 / (0.001129148 + 0.000234125 * logR + 0.0000000876741 * pow(logR,
3));
float tempC = tempK - 273.15;
char buffer[10];
dtostrf(tempC, 4, 1, buffer);
display.displayText(buffer, PA_CENTER, 50, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
while (!display.displayAnimate());
delay(500);
}
Appendix B – Wokwi Simulation Screenshot
Component Description

Component Quantity Description


Arduino UNO 1 Microcontroller for signal
processing and output
display
NTC Thermistor 1 Temperature sensor with
resistance variation based
on heat
10kΩ Resistor 1 Forms voltage divider with
thermistor
MAX7219 LED Matrix 1 (4-in-1) Displays scrolling
temperature data
Breadboard 1 Prototyping platform
Jumper Wires Several For interconnecting
components

You might also like