SSN COLLEGE OF ENGINEERING
DEPARTMENT OF ELECTRICAL & ELECTRONICS
ENGINEERING
UEE2601- MICROPROCESSORS AND
MICROCONTROLLERS -FUNDAMENTALS AND PRACTICES
Mini Project Report
Temperature and Humidity Monitoring System
S.NO Register Number Name of the
Student
1 KARISHMA SHARIF 3122223001043
2 B KARTHIK KISHAN 3122223001044
3 SP KISHORE 3122223001053
4 MERLIN PRIYANTHI 3122223001062
Semester: VI
Year:2024-2025
Title:
Marks Obtained
S.NO Rubrics Marks
1 Problem Specification 10
2 Literature Survey 20
Proposed Methodology ,Choice
3 of hardware components with 30
specification and Budget
4 Hardware 10
Presentation/Report/Viva
4 (Team members contribution/ 30
Work )
Total 100
Remarks
Signature of the Faculty
1.Abstract
This project presents a low-cost and efficient system to monitor environmental conditions such
as temperature and humidity in real-time. Utilizing the DHT11 sensor, Arduino Uno R3, and an
LCD display, the system reads and displays environmental parameters. It can be deployed in
homes, greenhouses, and labs where climate control is essential. The system is reliable, user-
friendly, and forms the basis for further automation and IoT applications.
2.Introduction
Monitoring environmental parameters like temperature and humidity is crucial in various fields
including agriculture, meteorology, and HVAC systems. Manual monitoring is inefficient, and
hence, this project aims to automate the process using embedded systems. By integrating the
DHT11 sensor with Arduino Uno and displaying the data on an LCD, the user can get
continuous updates about surrounding conditions.
3.Proposed Methodology
· Use a DHT11 sensor to sense the ambient temperature and humidity.
· Arduino Uno reads the data from the sensor.
· The data is processed and displayed on a 16x2 LCD.
· The system refreshes the readings at regular intervals (e.g., every 1 seconds).
4. Components (along with Justification and Cost)
DHT11 Specifications
⚫ Operating Voltage: 3.5V to 5.5V
⚫ Operating current: 0.3mA (measuring) 60uA (standby)
⚫ Output: Serial data
⚫ Temperature Range: 0°C to 50°C
⚫ Humidity Range: 20% to 90%
⚫ Resolution: Temperature and Humidity both are 16-bit
⚫ Accuracy: ±1°C and ±1%
⚫ Pinout configuration:
⚫ Vcc - Power supply 3.5V to 5.5V
⚫ Data - Outputs both Temperature and Humidity through serial Data
⚫ Ground - Connected to the ground of the circuit
16x2 LCD Display Specifications
⚫ · Display Format:16 characters × 2 lines (rows)
⚫ · Controller: HD44780 or compatible
⚫ · Character Size:5×8 dot matrix per character
⚫ · Interface Type:Parallel interface (4-bit or 8-bit mode)
⚫ · Operating Voltage:4.7V to 5.3V (typically 5V)
⚫ · Supply Current:~1 mA (without backlight), up to ~20 mA with backlight
⚫ · Backlight:LED backlight (usually white, green, or blue)
⚫ · Display Color:Varies (commonly black characters on green/yellow/blue background)
⚫ · Viewing Direction:6 o'clock (best viewed from below)
⚫ · Operating Temperature:0°C to +50°C (standard model)
⚫ · Storage Temperature:-10°C to +60°C
⚫ · Dimensions: Approx. 80 mm × 36 mm × 10 mm
⚫ · Character Pitch: Horizontal: 2.95 mm,Vertical: 5.55 mm
⚫ Pinout configuration:
⚫ GND - Ground
⚫ Vcc - +5V Power
⚫ SDA - Serial Data Line
⚫ SCL - Serial Clock Line
Arduino Uno ATMega328P Specifications
⚫ · Microcontroller:ATmega328P
⚫ · Operating Voltage:5V
⚫ · Input Voltage:6–20V
⚫ · Digital I/O Pins: 14 pins (of which 6 provide PWM output)
⚫ · Analog Input Pins:6
⚫ · PWM Digital I/O Pins:6 (Pins: 3, 5, 6, 9, 10, 11)
⚫ · DC Current per I/O Pin:20 mA
⚫ · DC Current for 3.3V Pin:50 mA
⚫ · Flash Memory: 32 KB (ATmega328P),0.5 KB used by bootloader
⚫ · SRAM:2 KB (ATmega328P)
⚫ · EEPROM:1 KB (ATmega328P)
⚫ · Clock Speed:16 MHz
⚫ · USB Interface: USB Type-B connector for programming and power
⚫ · Communication Interfaces:UART (Serial),SPI,I²C (TWI)
⚫ · LED Indicator: On pin 13 (built-in)
⚫ · Reset Button: Yes
⚫ · Power Jack:Barrel jack (for external supply)
⚫ · ICSP Header: Yes
Approx. Cost
Component Quantity Justification
(INR)
Microcontroller to process sensor
Arduino Uno R3 1 ₹600
data
Measures temperature and
DHT11 Sensor 1 ₹120
humidity
16x2 LCD Display 1 ₹150 Displays real-time readings
Breadboard 1 ₹80 For prototyping
Jumper Wires - ₹50 Connections between components
USB Cable 1 ₹30 For Arduino power & upload
Power Supply (9V) 1 ₹40 Optional external power
Total ₹1070
5.Algorithm
The algorithm for the temperature and humidity monitoring system using Arduino is given
below:
Setup Phase (Runs Once)
• Start serial communication at 115200 baud for debugging.
• Initialize the LCD display (address: 0x27, size: 16x2).
• Turn on the LCD backlight.
Loop Phase (Runs Continuously)
• Print a separator and message "Sample DHT11..." to the Serial Monitor.
• Declare variables to hold temperature and humidity values.
• Read data from the DHT11 sensor.
• Check if the sensor reading was successful:
If failed:
• Print the error code and error duration.
• Wait for 1 second (delay(1000)).
• Skip the rest of the loop and start over.
If successful:
• Print temperature and humidity to the Serial Monitor.
• Initialize the LCD display (currently done in loop — can be moved to setup).
• Turn on the LCD backlight (can also be moved to setup).
• Display temperature on the first line of the LCD.
• Move cursor to the second line.
• Display humidity on the second line.
• Wait for 1 second before repeating the loop.
6. Program
Program For the Sensor DHT11
#include <SimpleDHT.h>
// for DHT11,
// VCC: 5V or 3V
// GND: GND
// DATA: 2
int pinDHT11 = 2;
SimpleDHT11 dht11(pinDHT11);
void setup() {
Serial.begin(9600);
void loop() {
// start working...
Serial.println("=================================");
Serial.println("Sample DHT11...");
// read without samples.
byte temperature = 0;
byte humidity = 0;
int err = SimpleDHTErrSuccess;
if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
Serial.print("Read DHT11 failed, err="); Serial.print(SimpleDHTErrCode(err));
Serial.print(","); Serial.println(SimpleDHTErrDuration(err)); delay(1000);
return;
Serial.print("Sample OK: ");
Serial.print((int)temperature); Serial.print(" *C, ");
Serial.print((int)humidity); Serial.println(" H");
// DHT11 sampling rate is 1HZ.
delay(1500);
}
Program For the LCD(Liquid Crystal Display)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
// initialize the LCD
lcd.begin();
// Turn on the blacklight and print a message.
lcd.backlight();
lcd.print("Hello, world!");
void loop()
// Do nothing here...
Main Program For the Function of the System
#include <SimpleDHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// for DHT11,
// VCC: 5V or 3V
// GND: GND
// DATA: 2
int pinDHT11 = 2;
SimpleDHT11 dht11(pinDHT11);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(115200);
void loop() {
// start working...
Serial.println("=================================");
Serial.println("Sample DHT11...");
// read without samples.
byte temperature = 0;
byte humidity = 0;
int err = SimpleDHTErrSuccess;
if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000);
return;
lcd.begin();
// Turn on the blacklight and print a message.
lcd.backlight();
lcd.print("tempature "); lcd.print((int)temperature);
lcd.setCursor(0, 1);
lcd.print("humidity ");
lcd.print((int)humidity);
delay(1000);
7.Hardware Developed
The hardware that is developed for the system is a combination of Arduino uno R3, DHT11
temperature and humidity sensor, 16x2 LCD display along with some jumper wires. The
connections made for the hardware is given as below:
• The Vcc pin of DHT11 sensor is connected to 3.3V terminal of the Arduino board.
• The output pin of the DHT11 sensor is connected to the digital pin 2 of the Arduino
board.
• The ground pin of the DHT11 sensor is connected to the ground terminal of the Arduino
board.
• The Vcc pin of the 16x2 LCD display module is connected to the 5V terminal of the
Arduino board.
• The ground pin of the LCD module is connected to the ground terminal of the Arduino
board.
• The SDA (Serial Data) pin of the LCD module is connected to the analog pin A4 of the
Arduino board.
• The SCL (Serial Clock) pin of the LCD module is connected to the analog pin A5 of the
Arduino board.
• The connections are made using jumper wires and a bread board is used to hold the
sensor in place.
The wiring diagram of the hardware connection is given below:
8.Conclusion
The project successfully demonstrates a real-time temperature and humidity monitoring system
using Arduino. The system is cost-effective and reliable for small-scale environmental
monitoring applications. It can be extended by adding wireless modules (like ESP8266) for IoT
capabilities.
9.References
· Arduino Official Website
· DHT11 Sensor Datasheet
· Liquid Crystal Library Documentation
· Instructables – Arduino DHT11 Tutorial