Temperature_Monitoring_Final_Report 1
Temperature_Monitoring_Final_Report 1
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
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
+---------------------+
| Temperature Sensor |
+---------------------+
+---------------------+
| Arduino Board |
+---------------------+
+---------------------+
| 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
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
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
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