Report
Report
1. Introduction
In today’s technologically advanced world, the need for monitoring environmental conditions
has become more important than ever. From maintaining optimal conditions in agricultural
fields and greenhouses to ensuring comfort and safety in smart homes and industrial
environments, accurate monitoring of temperature and humidity plays a crucial role. With the
advent of affordable microcontrollers and sensors, it is now possible to create customized,
real-time monitoring systems that are both cost-effective and efficient.
This project focuses on designing and implementing a temperature and humidity monitoring
system using an Arduino microcontroller. The system utilizes a DHT11 sensor, which is
capable of providing calibrated digital temperature and humidity readings. These readings are
then processed by the Arduino and displayed to the user through an LCD screen or serial
monitor. The simplicity of this setup makes it an ideal learning project for students and
hobbyists who wish to understand the basics of sensor interfacing, data processing, and
microcontroller-based development.
The Arduino platform, being open-source and widely adopted, serves as a powerful tool for
beginners and professionals alike. It allows easy integration with various sensors and
modules, has a user-friendly programming environment, and enjoys robust community
support. In this project, the Arduino Uno model is used due to its simplicity, availability, and
compatibility with a wide range of sensors and modules.
One of the key motivations behind this project is to develop a foundational system that can be
further expanded for automation and IoT (Internet of Things) applications. For instance, the
sensor data can be logged and sent to cloud platforms for analysis or used to trigger actions
such as turning on a fan or humidifier. Thus, this project not only meets the immediate goal of
monitoring temperature and humidity but also opens doors for future enhancements and
advanced system development.
This project aims to design and implement a temperature and humidity monitoring system
using Arduino and the DHT11 sensor. The system continuously measures the environment's
temperature and humidity and displays the results on a 16x2 LCD and the Arduino Serial
Monitor.
Key features include:
Real-time monitoring with updates every 2 seconds
Digital display of temperature and humidity values
Error handling for sensor read failures
Low-cost and easy-to-build design
With the advancement of embedded systems and sensor technologies, it is now possible to
develop automated, real-time monitoring systems that can continuously track environmental
conditions and provide instant feedback. Such systems improve accuracy, reliability, and
enable integration with modern digital platforms for data logging, remote monitoring, and
control.
2. Requirement Analysis
Before designing and developing any project, it is essential to conduct a detailed requirement
analysis to understand the functional and non-functional expectations of the system. For the
Temperature and Humidity Monitoring using Arduino project, the requirement analysis
helps in identifying what the system must accomplish, how it should behave, and the
constraints within which it must operate.
2.1 Functional Requirements
Functional requirements define the core features and operations that the system must perform
to fulfill its purpose. For this project, the key functional requirements include:
1. Data Acquisition:
The system must accurately read temperature and humidity data from the DHT11
sensor at regular intervals.
2. Data Processing:
The Arduino must process the digital output from the sensor and convert it into
human-readable values.
3. Data Display:
The processed temperature and humidity values should be displayed in real-time on a
serial monitor or LCD module.
4. Continuous Monitoring:
The system should run in a continuous loop, periodically updating the values without
requiring user intervention.
5. Optional Alerts or Controls:
The system may optionally include features to trigger an alert or control devices (such
as fans or humidifiers) when certain thresholds are exceeded.
2.2 Non-Functional Requirements
Non-functional requirements describe the quality attributes and constraints of the system.
These do not directly affect functionality but are important for system performance and user
experience.
1. Accuracy:
The DHT11 sensor should provide reasonably accurate temperature (±2°C) and
humidity (±5%) values suitable for basic monitoring tasks.
2. Response Time:
The system should respond quickly to environmental changes, ideally updating values
every 1–2 seconds.
3. Reliability_and_Stability:
The hardware and software should function reliably over extended periods without
crashes or data corruption.
4. Ease_of_Use:
The system should be simple to use, requiring minimal setup. The code should be easy
to modify for educational and experimental purposes.
5. Portability_and_Scalability:
The system should be lightweight and portable. It should also be easily scalable to
include additional sensors or features like wireless connectivity.
6. Affordability:
Since the project is targeted at students and hobbyists, it must remain low-cost, using
affordable and readily available components.
2.3 Assumptions and Constraints
The system is assumed to run indoors or in a controlled environment where the sensor
operates within its ideal range (0–50°C temperature and 20–90% humidity).
The power supply to the Arduino should be stable, either via USB or external power.
External environmental disturbances such as water exposure or direct sunlight on the
sensor can affect readings and are considered beyond the system's handling
capabilities.
No real-time cloud connectivity or data logging is implemented in the basic version of
the system, although it can be added as a future enhancement.
2.4 User Requirements
The user should be able to power on the system and instantly view the current
temperature and humidity values.
No technical expertise should be required to operate the system after setup.
The device should give meaningful output, even during startup, and handle sensor
disconnections gracefully.
In summary, the requirement analysis outlines what the system must achieve, how it should
perform, and under what limitations. This phase ensures that the design and implementation
meet the intended objectives and user expectations, ultimately leading to a successful and
usable product.
3. Requirement Specification
The requirement specification defines the detailed and structured description of all hardware
and software elements, system behavior, and interaction expectations for the successful
implementation of the Temperature and Humidity Monitoring System using Arduino.
This specification acts as a blueprint for the design and implementation stages, ensuring that
all necessary components, configurations, and behaviors are clearly defined.
4. Technologies Used
This section provides an in-depth explanation of the hardware components and software tools
used in this project. Each component is described with its features, working principles, and its
role within the system. Additionally, the software libraries and development environment
used are discussed.
Description:
Arduino Uno is an open-source microcontroller board based on the ATmega328P
microcontroller. It is one of the most popular Arduino boards for beginners and professionals
due to its ease of use, versatility, and affordability.
Features:
Microcontroller: ATmega328P
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Digital I/O Pins: 14 (6 PWM outputs)
Analog Input Pins: 6
Flash Memory: 32 KB
SRAM: 2 KB
Clock Speed: 16 MHz
Working_Principle:
The Arduino Uno reads input signals from sensors or user devices, processes them based on
the programmed logic, and outputs signals to actuators or display devices. In this project, it
reads temperature and humidity data from the DHT11 sensor, processes it, and sends the data
to the LCD display.
Why Arduino Uno?
Beginner-friendly and widely supported by the community.
Description:
The DHT11 is a low-cost digital sensor capable of measuring temperature and relative
humidity. It combines a humidity sensor and a thermistor to provide digital output signals.
Specifications:
Temperature Range: 0 to 50°C
Humidity Range: 20 to 90% RH
Accuracy: ±2°C temperature, ±5% humidity
Sampling Rate: 1 Hz (once per second)
Operating Voltage: 3.3V to 5V
Working_Principle:
The sensor measures temperature using a thermistor and humidity using a capacitive humidity
sensor. These analog values are converted internally to digital signals and communicated to
the Arduino via a single-wire digital interface.
Why DHT11?
Inexpensive and widely available.
Easy to interface with Arduino using existing libraries.
Suitable accuracy for educational and basic environmental monitoring projects.
Description:
The 16x2 LCD is a character-based display module capable of showing 16 characters per line
on 2 lines. It uses the HD44780 driver which supports both 4-bit and 8-bit data modes.
Specifications:
Display Size: 16 characters x 2 lines
Operating Voltage: 5V
Interface: Parallel (can also be used with I2C adapter)
Backlight: LED-based for clear visibility
Working_Principle:
The LCD receives data and control signals from the Arduino and displays the corresponding
characters. It uses a 16-pin interface, including data pins, control pins (RS, RW, EN), and
power pins.
Why 16x2 LCD?
Easy to interface and program.
Affordable and readily available.
Clear and immediate data display without needing a computer.
Role_in_Project:
Simplifies sensor data acquisition, allowing easy access to accurate sensor readings without
manually implementing the communication protocol.
Role_in_Project:
Facilitates displaying temperature and humidity data on the 16x2 LCD module with minimal
coding effort.
4.3 Summary
The combination of Arduino Uno with DHT11 sensor and a 16x2 LCD forms the core of this
monitoring system. The Arduino IDE and its libraries simplify development, allowing the
focus to remain on project design and testing. The selected components strike a balance
between cost, availability, ease of use, and functionality, making this project an excellent
choice for educational and practical environmental monitoring applications.
5.3 Design
System Architecture:
+-------------------+
| DHT11 Sensor | ← Environment (Temp & Humidity)
+-------------------+
↓
+-------------------+
| Arduino Uno |
| (Processing) |
+-------------------+
↓
+-------------------+
| LCD / Serial |
| Monitor Output |
+-------------------+
In conclusion, the analysis and design phase ensures that the system is well-planned and
purpose-driven. The clear objectives and circuit layout allow for smooth implementation and
testing. The system not only achieves its primary monitoring goals but also lays a strong
foundation for future IoT-based applications like automated greenhouses, smart homes, and
environmental data logging.
6. Coding
This section provides the complete Arduino code used to implement the Temperature and
Humidity Monitoring System. The code reads values from the DHT11 sensor and displays
them on both the Serial Monitor and LCD (optional). The logic runs inside a continuous
loop to ensure real-time monitoring.
void setup() {
// Start serial communication at 9600 baud
Serial.begin(9600);
void loop() {
// Wait a few seconds between measurements
delay(2000);
// Display on LCD
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(humidity);
lcd.print(" %");
}
On LCD Display:
Temp: 26.1 C
Humidity: 54.8 %
7. Testing
Testing is a critical phase in any electronics or software development project. It ensures that
the designed system works as expected under various conditions. The Temperature and
Humidity Monitoring System using Arduino was tested with different environmental inputs
to validate its performance, stability, and accuracy.
Hardware Used:
Arduino Uno
DHT11 Sensor
16x2 LCD Display
USB cable
Arduino IDE (Serial Monitor)
Test Environment:
Indoor room temperature conditions
Artificial heat source (e.g., hairdryer or placing the sensor near a warm object) to
simulate temperature changes
Humidifier or water surface nearby to test humidity response
Input
Test Case Expected Output Observed Output Status
Conditions
"Sensor Error"
5. Disconnect and Simulate sensor Error message or
displayed on LCD Pass
reconnect sensor failure fallback
and Serial
8. Conclusion
The Temperature and Humidity Monitoring System using Arduino successfully fulfills
the objective of providing a real-time, low-cost, and reliable solution for monitoring
environmental parameters. Through the integration of the Arduino Uno, DHT11 sensor, and
16x2 LCD display, the project demonstrates how microcontroller-based systems can be used
to collect, process, and display useful information in a user-friendly manner.
The system was tested under various real-world conditions and showed consistent
performance in measuring temperature and humidity levels. It responded well to rapid
environmental changes and effectively displayed the results both on the serial monitor and on
the LCD, ensuring accessibility in both development and deployment environments.
Moreover, the modular and scalable design of the project allows for future enhancements,
such as adding IoT connectivity (e.g., Wi-Fi or Bluetooth), data logging to SD cards, mobile
notifications, or integrating it with cloud platforms like ThingSpeak or Blynk.
This project serves as a foundational example of how embedded systems can address real-
world problems with simple yet efficient solutions. It also highlights the potential of Arduino
as a learning tool and a platform for prototyping in fields like automation, smart homes,
agriculture, and environmental monitoring.
In conclusion, the implementation of this system not only meets the functional requirements
but also lays a strong foundation for more advanced projects in the realm of sensor-based
monitoring and embedded development.
9. Future Enhancements
While the current version of the Temperature and Humidity Monitoring System using
Arduino performs effectively for basic environmental monitoring, there are several
opportunities to improve and extend its capabilities. These enhancements can make the
system more advanced, intelligent, and suitable for real-world applications such as smart
homes, agriculture, and industrial automation.
6. Automation Features
The system can be connected to:
Fans, coolers, or humidifiers
Relays_or_smart_switches
This would allow automatic control based on the environment (e.g., turn on a fan if
temperature exceeds 30°C).
Addition of Other Environmental Sensors
The project can be expanded by including additional sensors to monitor other environmental
parameters such as:
Air Quality: Using MQ-series gas sensors for detecting smoke, CO2, or harmful
gases.
Pressure Sensors: To monitor atmospheric pressure for weather forecasting.
Light Sensors: To measure ambient light intensity, useful in smart lighting systems.
Combining multiple sensors would enable a comprehensive environmental monitoring station.
Data Storage and Analysis
Incorporating an SD card module to locally store sensor data can help in offline data logging.
This would be valuable for environments where internet access is unavailable. The logged
data can later be analyzed using software tools to understand patterns and detect anomalies.
User Interface Improvements
Replacing the 16x2 LCD with more advanced displays like OLED or TFT touchscreens
would improve the user interface by allowing graphical visualization of data, such as charts
and historical trends. Touchscreen capability would enable users to interact with the device
and configure settings directly.
Power Efficiency and Portability
Designing the system to operate on battery power or solar energy would enhance portability
and make the device suitable for outdoor applications. Implementing power-saving modes in
Arduino programming could extend battery life.
10. Bibliography
Books
1. Monk, Simon. Programming Arduino: Getting Started with Sketches. McGraw-Hill
Education, 2012.
o This book provided foundational knowledge of Arduino programming and
hardware interfacing.
2. Banzi, Massimo, and Michael Shiloh. Getting Started with Arduino: The Open
Source Electronics Prototyping Platform. Maker Media, 2014.
o Used for understanding Arduino architecture and project development
methodologies.
3. Margolis, Michael. Arduino Cookbook. O'Reilly Media, 2011.
o Reference for various sensor interfacing and troubleshooting techniques.
IEEE Papers
1. H. Kim, J. Lee, and Y. Kim, "Design and Implementation of a Wireless Sensor
Network for Real-Time Temperature and Humidity Monitoring," 2019 IEEE
International Conference on Consumer Electronics (ICCE), Las Vegas, NV, USA,
2019, pp. 1-4. doi: 10.1109/ICCE.2019.8661945
o Provided insights into sensor network design and real-time monitoring
techniques.
2. S. Patel and V. Shah, "Microcontroller Based Real-Time Temperature and Humidity
Monitoring System," 2018 IEEE International Conference on Inventive Research in
Computing Applications (ICIRCA), Coimbatore, India, 2018, pp. 276-280. doi:
10.1109/ICIRCA.2018.8597261
o Useful for practical approaches in sensor interfacing with microcontrollers.
3. P. Kumar and S. Singh, "IoT Based Temperature and Humidity Monitoring System
Using Arduino," 2017 International Conference on Intelligent Computing and Control
(I2C2), Coimbatore, India, 2017, pp. 1-5. doi: 10.1109/I2C2.2017.8321847
o Provided concepts of integrating sensors with IoT platforms for enhanced
monitoring.
Websites and Libraries
Arduino Official Website: https://www.arduino.cc/
DHT Sensor Library by Adafruit: https://github.com/adafruit/DHT-sensor-library
LiquidCrystal_Library_Documentation:https://www.arduino.cc/en/Reference/LiquidC
rystal