Uploaded by Muhammad Abdullah Zafar Ghauri

Energy Monitoring and Temperature Control System

advertisement
Energy Monitoring and Temperature Control
System
Muhammad Abdullah Zafar Ghauri
School of Mechanical and
Manufacturing Engineering (SMME)
National University of Science and
Technology (NUST)
H-12 Islamabad, Pakistan
mazghauri2004@gmail.com
Muhammad Ali Tariq
School of Mechanical and
Manufacturing Engineering (SMME)
National University of Science and
Technology (NUST)
H-12 Islamabad, Pakistan
Muhammad Qasim Kamal
School of Mechanical and
Manufacturing Engsineering (SMME)
National University of Science and
Technology (NUST)
H-12 Islamabad, Pakistan
ali.tariq6n@gmail.com
qkamal1050@gmail.com
Sufyan Ahmed
School of Mechanical and
Manufacturing Engineering (SMME)
National University of Science and
Technology (NUST)
H-12 Islamabad, Pakistan
Sufyan7r@gmail.com
Abstract— Energy monitoring stands as a cornerstone in the
optimization of industrial energy consumption. By employing
advanced monitoring systems, industries gain real-time
insights into their energy profiles, enabling proactive
identification of inefficiencies and strategic energy
management. This not only facilitates cost savings but also
contributes significantly to the reduction of carbon
footprints, aligning with global efforts to mitigate climate
change. Temperature control and regulation, integral
components of industrial processes, play a pivotal role in
ensuring product quality, equipment longevity, and overall
operational efficacy. Maintaining precise temperature
parameters enhances the performance of various
manufacturing processes, such as chemical reactions,
material processing, and product assembly. Furthermore,
temperature regulation mitigates the risk of equipment
failure and downtime, promoting uninterrupted production
and minimizing associated economic losses. The synergistic
integration of energy monitoring and temperature control
further amplifies the efficiency gains in industrial operations.
By dynamically adjusting energy consumption based on realtime temperature data; industries can optimize resource
utilization without compromising product quality or process
integrity. This holistic approach not only fosters
economic
sustainability but also aligns with the evolving regulatory
landscape that demands heightened environmental
responsibility.
Keywords—
Energy
Monitoring,
Optimization,
Temperature
Control
and
Regulation,
Energy
Management, Economy, Energy Consumption
I. INTRODUCTION
Energy monitoring and temperature control serves the
purpose of backbone in the realms of industry and daily
existence and manipulating considerable influence over
operational efficiency, environmental sustainability, and the
quality of one’s daily life. Considering the industrial aspects,
the fastidious tracking of energy consumption is not
only simply some cost-saving rather it is a strategic
imperative. It authorizes businesses to pinpoint the
inefficiencies, optimize production processes, and cut down
extraneous expenditures and catering the culture of
responsible resource usage. Contemporaneously, precise
temperature control is called for industries ranging from
pharmaceuticals to food production while greatly
corroborating product quality and compliance with stringent
standards. The adaptabilityy between energy monitoring and
temperature control establishes a uniting relationship, where
perceptive energy use is regarded by optimal temperature
settings, leading to enhanced productivity and reduced
environmental impact.
Cutting across the industrial sphere, these principles weave
seamlessly into the fabric of one’s daily lives. Energy
monitoring technologies enable households to monitor
electricity, heating, and cooling usage, and lending a good
hand in informed decisions that not only significantly cut
down utility bills but also contribute to a collective
commitment to environmental safeguarding. In residences,
offices, and public spaces, temperature control systems
nurture our comfort, productivity, and health. Moreover, in
critical sectors such as healthcare, maintaining precise
temperatures is of significant importance for storing
medications and biological materials. The significance of
these factors becomes even more conspicuous during extreme
weather conditions, where efficient temperature control
safeguards against discomfort and health risks.
In essence, understanding and prioritizing the coaction
between energy monitoring and temperature control is
decisive for a sustainable future. By acknowledging their
profound impact on industrial processes and our daily
routines, we lay the groundwork for resilient systems that
balance efficiency with environmental responsibility,
ultimately shaping a world that is both technologically
advanced and ecologically conscious.
II. PURPOSE OF PROJECT
The purpose of the assigned project is to understand the
concept of Energy Monitoring and Temperature Control and
its sheer importance in daily life. With limited constraints of
budget and time, the main focus is to produce a prototype
which fulfills the criterion of aforementioned topic.
Moreover, the project is meant to furnish the skills of
programming in Arduino IDE with integrating previous
concepts of C++, while deploring for the code through
different sources.
III. METHODOLOGY
For the following project, Arduino UNO has been used while
serves the purpose of controlling all the major electronics
involved in the project. In order to power the electronics, Liion rechargeable batteries are coupled to produce a yield of
12V, while the Arduino is powered by coupling with laptop.
The Current Sensor ACS712 is coupled with Arduino UNO
at VCC and Ground Ports which itself and Arduino is
powered with 5V DC supply. Two relays are meant to control
all major operations of the components, ultimately with the
circulatory fan which performs both the job of circulation and
exhausting the hot air out and allowing the cold air to
circulate through.
IV. COMPONENTS USED
For
the
aforementioned
project,
following
components/instruments have been utilized:
A. Environment
• Styrofoam Sheet (3cm thick)
• Adhesive (UHU and Hot Glue)
• Aluminum Foil
B. Electronics
• ACS 712 30A Current Sensor (0.66V/A (66mV/A)
sensitivity)
• Double Channel Relay
• Resistor (10kΩ)
• Breadboard
• Halogen Bulb (18W)
• Arduino UNO
• 16x2 LCD
• PCF8574 IIC/I2C 16 Pin Serial Interface LCD
Display Adapter Module
• Exhaust/Ventilation Fan
• Laptop (To provide Arduino with power and code)
• 3.9V Li-ion Panasonic Batteries (Coupled to
provide 12V DC supply)
• 1.5V Camelion AA Batteries
• Female and Male Jumpers
• Copper Wires
• Solder
• DS18B20 Thermistor
V. EXPLAINATION OF IMPORTANT COMPONENTS USED
•
Arduino UNO:
Arduino UNO is a microcontroller
board based on the ATmega328P. It has 14 digital
input/output pins (of which 6 can be used as PWM outputs),
6 analog inputs, a 16 MHz ceramic resonator, a USB
connection, a power jack, an ICSP header and a reset button.
It contains everything needed to support the
microcontroller; simply connect it to a computer with a USB
cable or power it with a AC-to-DC adapter or battery to get
started.
Figure 1: Arduino UNO Circuit
•
Double Channel Relay:
The 2 Channels Relay
Module is a convenient board which can be used to control
high voltage, high current load such as motor, solenoid
valves, lamps and AC load. It is designed to interface with
microcontroller such as Arduino, PIC and etc. The relays
terminal (COM, NO and NC) is being brought out with screw
terminal. It also comes with a LED to indicate the status of
relay.
Figure 2: Double Channel Relay (5V DC Supply)
PCF8574 IIC/I2C 16 Pin Serial Interface LCD
Display Adapter Module:
The LCD I2C Module
PCF8574 is a small circuit board which allows one to connect
a standard Alphanumeric LCD displays 1602 & 2004 to an
I2C bus. This means that you can control the LCD display
with only two wires, SDA and SCL. The PCF8574 is an I2C
slave device, so it has a unique address on the I2C bus. This
address can set using three jumpers on the board. The LCD
I2C Module PCF8574 is compatible with most 16X2 and
20X4 character LCD displays that use the HD44780
controller. The board also has a potentiometer for adjusting
the contrast of the LCD display. LCD I2C Module PCF8574
can operate with an input voltage of 2.5 to 6 volts. The typical
input voltage is 5 volts. The module has a regulator that
converts the input voltage to 5 volts for the LCD display. The
PCF8574T IC chip on the module is an I2C slave device. This
means that it can receive commands from a master device,
such as an Arduino
•
Figure 3: PCF8574 IIC/I2C 16 Pin Serial Interface LCD
Display Adapter Module
• ACS712 30A Current Sensor:
The ACS712 30A
current sensor board is based on the Allegro ACS712ELCTR30A bi-directional hall-effect current sensor chip which
detects positive and negative flowing currents in the range of
minus 30 Amps to positive 30 Amps. The board operates at
5V DC and the current flow through the sensor is converted
to an output voltage starting at 1/2Vcc (or 2.5V) for no
current flow and moves up 66mV per amp for positive current
or down -66mV per amp for negative current. The sensitivity
factor for aforementioned sensor is 0.66V/A (66mV/A).
•
Figure 6: 100cm NTC DS18B20 Thermistor
Jumper Wires:
Figure 7: Jumper Wires
Breadboard:
Breadboard is a construction base used
to build semi-permanent prototypes of electronic circuits.
Unlike a perfboard or stripboard, breadboards do not
require soldering or destruction of tracks and are hence
reusable. For this reason, breadboards are also popular with
students and in technological education.
•
Figure 4: ACS712 30A Current Sensor
16x2 LCD:
16x2 LCD is primarily used to display messages
about an electronic device. As the name suggests, it includes
16 Columns & 2 Rows so it can display 32 characters
(16×2=32) in total & every character will be made with 5×8
(40) Pixel Dots. So the total pixels within this LCD can be
calculated as 32 x 40 otherwise 1280 pixels.
•
•
Figure 8: Breadboard
Halogen Bulb:
Figure 9: Halogen Bulb
Figure 5: 16x2 LCD Display
•
DS18B20 Thermistor:
VI. SETUP AND CONFIGURATION CODE (WITH
EXPLAINATION)
Put forward in Arduino IDE for the Arduino UNO utilized in
the project, the following code lines are meant to set up and
configure various components and parameters required for
the temperature sensing, current measurement, LCD display,
and relay control for the aforementioned Arduino project.
Moving towards explanation for header files, #include
<OneWire.h>, being the initial header file, for which it
includes the OneWire library, which is used for
communication with OneWire devices. For the specific code
used, it is specifically used for interfacing with the DS18B20
temperature sensor. #include <Wire.h> This line includes the
Wire library, which is the I2C communication library. It is
being used for communication with the LiquidCrystal_I2C
library, which controls the I2C-connected LCD. #include
<LiquidCrystal_I2C.h> is an important header file which
includes the LiquidCrystal_I2C library, which allows you to
control an LCD that communicates over I2C. Here it serves
the purpose for initializing and displaying information on the
LCD screen. #define ONE_WIRE_BUS 2 This line defines
a constant named ONE_WIRE_BUS, to which value 2 has
been assigned. This constant represents the digital pin to
which the data wire of the DS18B20 temperature sensor is
connected. With the header files explained, now we shall
move to explaining different constants being declared, const
int ACS712Pin = A1, const int relay1Pin = 12, const int
relay2Pin = 13. The main philosophy has been the name,
where they are meant to be treated as constant integral terms.
The respective values 12 and 13 re assigned to the relay pin,
which stand for the locality where the relay 1 and 2 are
connected Two different classes have been created which are
respectively
oneWire(ONE_WIRE_BUS)
and
DallasTemperature sensors(&oneWire), which are later on
used for communication with DS18B20 Thermistor and for
interacting with DS18B20 Thermistor respectively.
LiquidCrystal_I2C lcd(0x27, 16, 2) is another class created
which specifies the parameters of the LCD utilized in the
project, which respectively stands for 16 columns and 2 rows.
float targetTemperature = 27.0 is a constant declared which
sets the default target for achieving temperature to be
precisely 27.0C.
VII. SETUP OF INITIAL CODE
From here begins the working of main code for the project,
setup() function is used for the initialization of all the major
important components for the Arduino project, for this case it
is setting up serial communication, configuring relay pins as
outputs, initializing the DS18B20 temperature sensor, and
preparing the LCD for displaying information.
Serial.begin(9600) is meant to initiate serial communication
with a baud rate of 9600. It enables communication between
the Arduino and a connected computer. pinMode(relay1Pin,
OUTPUT) serves the purpose of setting up the mode of the
pin specified by relay1Pin as an output. relay1Pin is the
digital pin to which Relay 1 is connected. This configuration
indicates that this pin will be used to send signals to control
the relay. Likewise, the previous lines, pinMode(relay2Pin,
OUTPUT) is used to set the mode of the pin specified by
relay2Pin as an output. relay2Pin is the digital pin to which
Relay 2 is connected. sensors.begin() is used for initialization
of the DS18B20 temperature sensor. It prepares the sensor for
communication and ensures that it is ready to provide
temperature readings. lcd.begin() is used for the basic setting
up of the LCD screen. It prepares the LCD for use and sets
up the communication parameters.
lcd.backlight() is a command used for turning the backlight
of LCD on while ensuring the display of text on the display
screen. In order to clear the content on screen, lcd.clear() is
used which itself ensures the beginning of display with clean
state and removing of any previous content being displayed.
VIII. LOOPING OPERATION AND PRINTING OF VALUES TO
SERIAL MONITOR
The looping operations are subjective to continuous
repetition after specific intervals, and hence whatever the
values after calculations are obtained, they are redeemed
necessary for future reference. The aforementioned lines
essentially read temperature from the DS18B20 sensor,
measure current using the ACS712 sensor, calculate power
consumption, and then print these values to the Serial
Monitor. sensors.requestTemperatures() is meant to call the
requestTemperatures() method on the sensors object, allows
the DS18B20 temperature sensor to provide updated
temperature readings by issuance of request for global
temperature on OneWire bus. float temperatureCelcius =
sensors.getTempCByIndex(0) is a declared and initialized
variable which reads the temperature provided in Celsius
from the DS18B20 thermistor. The getTempCByIndex(0) is
used for the retrieval of temperature value from the DS18B20
sensor connected to the bus. The temperature value is then
stored in the temperatureCelcius variable.
int sensorValue = analogRead(ACS712Pin) performs the
action of reading of analog value from the ACS712 current
sensor connected to the pin specified by ACS712Pin.
float voltage = sensorValue * (5.0 / 1023.0) being another
floating integer variable is assigned with a mathematical
formula serves the purpose of converting the raw analog
sensor values to voltage. The Arduino analog-to-digital
converter (ADC) produces values in the range of 0 to 1023
for a voltage range of 0 to 5 volts. float current = (voltage 2.5) / 0.066 is now again another floating integer variable
assigned a mathematical relation which is meant to calculate
the value of flowing current through ACS712 current sensor,
whose sensitivity factor is 66mV/A, hence converting the
voltage into current. float power = voltage * current is meant
to calculate the power consumed by employing the formula
P=VI to give the desired answer in watts (W). Serial.print are
bunch of statement which are used for printing the values of
temperature, current, and power values to the Serial Monitor
for debugging and monitoring purposes.
IX. CONTINUATION OF LOOPING OPERATION(HEATING AND
COOLING CONDITIONS IN SPECIFICATION)
The code begins with the printing instructions for displaying
the detected temperature. On broader perspective here is the
analysis
lcd.clear(), likewise mentioned before is used to clear any
previous content present on the on the LCD screen hence
providing a clean slate for the new information to be
displayed. lcd.setCursor(0, 0); is used to set up the cursor
position to the very specific first column of the first specified
row in LCD. lcd.print("Temp: "); is used for printing the text
"Temp: " on the LCD. lcd.print(temperatureCelcius); is used
for printing the current temperature value on the screen,
which is being read from DS18B20 Thermistor. lcd.print("
C"); is simply used to print “C” on the screen which indicates
Celsius. lcd.setCursor(0, 1); maneuvers the cursor on the first
column of the first-row display on LCD. lcd.print("Current:
"); simply prints the text "Current: " on the screen.
lcd.print(current); prints the current value (in amperes)
measured by the ACS712 sensor. lcd.print(" A"); is used for
printing the unit "A" to indicate amperes.
Moving of to the most crucial part of the project, which I s
successful temperature controlling throughout the
environment using Double Channel Relay. As mentioned
above the target temperature was set to a standard of 27.0C.
It is meant to perform a proper check whether the current
temperature (temperatureCelcius) is less than the target
temperature (targetTemperature). If the condition is
successfully met, it means the temperature is below the target,
so it turns on Relay 1 (relay1Pin) and turns off Relay 2
(relay2Pin). In the case of negation, it means the temperature
is equal to or above the target, so it turns off Relay 1 and turns
on Relay 2. The state changes are also printed to the Serial
Monitor for debugging purposes.
The main crux of the aforementioned code is that it updates
the information displayed on the LCD with the current
temperature and current values. Additionally, it controls the
relays based on the comparison between the current
temperature and the target temperature, and it introduces a
delay before the next iteration of the loop.
In the very end of the program delay(2000); whose purpose
is to introduces a delay of 2000 milliseconds (2 seconds)
before the next iteration of the loop(). This delay helps in
stabilizing the readings and prevents the loop from executing
too rapidly.
X. SIMULATIONS FOR PROJECT
battery in series. For second relay , fan and battery of 12 volts
is in series. Current sensor is connected to arduino on pin A1.
Temperature sensor LM35 is connected to arduino on pin A0.
Now D4,D5,D6,D7 pins of LCD are connected to 5,4,3,2 pins
of arduino respectively and 4,6 pins of LCD are connected
to 12,11 pins of arduino. Current sensor tracks the total
current consumed by heating element and this information is
used by arduino to calculate power and Energy of the heating
element. This circuit operates by senseing the temperature
which then give signal to arduino, which then shows that
temperature on LCD display. Then it will check if
temperature is above or below 25 degree celcius then if
temperature is above 25 degrees the fan will run and if
temperature is below 25 degrees the heating element will run.
Meanwhile, the current sensor will track the total current used
by heating element. Through this arduino will display the
power of heating element and energy consumed by heating
element.
XI. BASIC INTRODUCTORY PROTEUS SIMULATION CODE
General Simulation of Project
Schematic of Project
I connected two relays with arduino. First relay was
connected to heating element , current sensor ACS712 and
The code begins with the header file #include
<LiquidCrystal.h> which serves the purpose of interacting
with the attached 16x2 LCD. Pin connections have been
defined as const int sensorPin = A0; const int acsPin = A1;
const int relayPin1 = 13; const int relayPin2 = 10; which
define the placements of pins for LM35 temperature sensor,
ACS712 current sensor, and two relays respectively.
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6,
D7 is meant to initialize the LCD with its connection to the
Arduino using pins RS, E, D4, D5, D6, D7.
char scrollText[] = "
"; is an array declared,serving
the purpose for scrooling through the text displayed on LCD
int scrollPosition = 0; unsigned long previousMillis = 0;
const long interval = 5000; have also been declared as
constants and unsigned bits which serve the purpose of
tracking
the scroll position for the scrolling text.
previousMillis serves the purpose of tracking the elapsed
time for the interval. long interval serves the purpose of
specifying the time interval for displaying each set of data (5
seconds).
The aforementioned code lines define an enumeration
DisplayState with two states: TEMP_CURRENT and
POWER_ENERGY.
DisplayState currentState = TEMP_CURRENT;
Is basically meant for initializing the variable currentState
with the state TEMP_CURRENT.
Proceeding with the setup code for the simulation, the
aforementioned lines serve the purpose of configuring the pin
modes for the attached sensor and relay pins. The LCD, as
per its construction standard of dimensions 16x2, initialize it
with 2 rows and 16 columns.
XII. LOOPING OPEARTION
Moving onto the looping operation, it is working on the
principle of if condition sandwiched in switch statement,
There is a utilization of state machine which serves the
purpose to alternate between displaying temperature/current
and power/energy. The LM35 sensor is being read by the
Arduino which controls relays based on a temperature
threshold, while it has been observed that the actual
temperature control logic is not provided in the code snippet.
assumed that the Arduino UNO works on 5V supply from
the connected laptop. temperatureC = voltage * 100.0; acts
to convert the voltage to temperature in Celsius for the
LM35 sensor. The code performs an important operation
of cross-verifying whether the temperature (temperatureC)
is greater than 25.0 degrees Celsius within the maintained
environment. If the condition is met, that is to say that
temperature is greater than 25C, it turns on relayPin2
(relay2) and turns off relayPin1 (relay1) and vice versa.
Heading off to the interconversion formulae, different
variables have been declared as integers and floating value
integers. sensorValue = analogRead(sensorPin);
performs the operation of reading the analog value from the
LM35 temperature sensor connected to pin sensorPin.
voltage = (sensorValue * 5.0) / 1023.0; being declared as
a floating variable converts the sensed value into voltage.
temperatureC = voltage * 100.0; is decalred and hence
utilized to convert the voltage to temperature in Celsius for
the LM35 sensor. acsValue = analogRead(acsPin);
senses and deliberates the analog value from the ACS712
current sensor connected to pin acsPin. voltageACS=
(acsValue * 5.0) / 1023.0; and current = (voltageACS 2.5) / 0.66;also declared as floating type variables converts
the raw analog sensor value to voltage, which is later on
converted to current by utilizing the ACS712 current
sensitivity factor (185mV/A for a 20A module).
XIII. PRINTING THE VALUES ON SCREEN
The following code snippet may be analyzed separately as
follows: -
While these set of lines for code represent the following
operations as sensorValue = analogRead(sensorPin);
which is meant to read the analog value from the LM35
temperature sensor connected to pin. sensorPin.
voltage = (sensorValue * 5.0) / 1023.0; serves the purpose
of an important formula which is used for converting the
raw analog sensor value to voltage. However, it is strictly
lcd.clear(), likewise mentioned before is used to clear any
previous content present on the on the LCD screen hence
providing a clean slate for the new information to be
displayed. lcd.setCursor(0, 0); is used to set up the cursor
position to the very specific first column of the first specified
row in LCD. lcd.print("Temp: "); is used for printing the text
"Temp: " on the LCD. lcd.print(" C"); is simply used to print
“C” on the screen which indicates Celsius. lcd.setCursor(0,
1); maneuvers the cursor on the first column of the first-row
display on LCD. lcd.print("Current: "); simply prints the
text "Current: " on the screen. lcd.print(current); prints the
current value (in amperes) measured by the ACS712 sensor.
lcd.print(" A"); is used for printing the unit "A" to indicate
amperes.
technology allows for remote accessibility, offering users
unprecedented control over their environment and resource
utilization, thereby fostering a seamless and intelligent user
experience.
As we navigate the complex landscape of sustainable living,
the adoption of energy monitoring and temperature control
systems emerges as a linchpin, seamlessly blending comfort,
efficiency, and environmental responsibility. This technology
not only addresses the immediate needs of users but also
stands as a testament to our commitment to building a future
where technological innovation harmonizes with ecological
well-being. In essence, it represents a paradigm shift towards
a more conscious and interconnected approach to managing
our energy resources.
XV. FUTURE SCOPE
These set of lines are responsible for displaying power and
energy on the LCD. int acsValue = analogRead(acsPin);
analyzes and reads the analog value from the ACS712
current sensor connected to pin acsPin.
float voltageACS = (acsValue * 5.0) / 1023.0; and float
current = (voltageACS - 2.5) / 0.185; are varaibles
initialized as floating-type integers which are used to
converts the raw analog sensor value to voltage and the
obtained volage to current using the ACS712 sensitivity
float power = voltageACS * current; Calculates power in
watts using the formula P = VI (power equals voltage
multiplied by current) and float energy = power / 3600.0;
Calculates energy in watt-hours, assuming 1 sample per
second.
XIV. CONCLUSION
In conclusion, the integration of an energy monitoring and
temperature control system signifies a transformative leap
into a realm of heightened operational efficiency, resource
sustainability, and unparalleled user convenience. This
cutting-edge system operates as a linchpin in the
contemporary quest for intelligent and sustainable
infrastructure. By harnessing real-time data on energy
consumption, it not only enables meticulous management of
resources but also serves as a beacon for responsible energy
use. The meticulous regulation of temperatures through this
system not only ensures optimal comfort in various
environments but also contributes significantly to reducing
the carbon footprint. The precision and adaptability offered
by such technology position it as a cornerstone in the pursuit
of eco-friendly practices and energy conservation.
Moreover, the economic implications of adopting an energy
monitoring and temperature control system cannot be
overstated. The insights gleaned from continuous monitoring
empower stakeholders to identify potential areas of
improvement, implement targeted energy-saving measures,
and ultimately realize substantial cost savings. The system's
ability to provide actionable data facilitates informed
decision-making, driving a proactive approach to resource
management. Additionally, the integration of smart
The world is between the center of a major technological and
environmental transformation when deliberating deep into
the future of energy monitoring and temperature control
systems. In such systems, the path of innovation is poised to
unfold into an intricate tapestry of sustainability and
efficiency, which shapes the very fabric of our energy
landscape. Looking forward, one can predict a paradigm shift
in which these systems seamlessly interface with the forefront
of technological advancement, integrating with advanced
smart grids, and navigating the complexities of emerging
energy ecosystems.
The future development of such splendid systems involves
more than just small fixes; it involves a comprehensive
reconceptualization of their function and influence. The
important challenge is to make these systems more interface
friendly, to create an atmosphere in which they can interact
and adapt dynamically, reacting instantly to the constantly
shifting dynamics of their surroundings. Predictive analytics
will be made possible by artificial intelligence and machine
learning algorithms, which are expected to be crucial in this
development. This predictive capability ushers in an era of
anticipatory resource optimization by providing users with
proactive as well as reactive solutions for smart and effective
energy management. The future development of these
systems involves more than just small fixes; it involves a
comprehensive reconceptualization of their function and
influence. The important challenge is to make these systems
more interoperable, to create an atmosphere in which they can
interact and adapt dynamically, reacting instantly to the
constantly shifting dynamics of their surroundings. Predictive
analytics will be made possible by artificial intelligence and
machine learning algorithms, which are expected to be
crucial in this development. This predictive capability ushers
in an era of anticipatory resource optimization by providing
users with proactive as well as reactive solutions for smart
and effective energy management.
Beyond the realms of technology, these systems are catalysts
for positive environmental impact, contributing significantly
to global initiatives aimed at mitigating climate change and
fostering a sustainable future. The narrative of tomorrow's
energy landscape is one of interconnectedness, where energy
monitoring and temperature control systems transcend their
current functionalities, emerging as powerful agents of
change in our collective journey towards a greener, more
harmonious world. The journey ahead is a testament to the
fusion of technology, environmental stewardship, and
societal progress, encapsulating the promise of a future where
energy systems not only sustain us but propel us towards a
brighter and more conscientious existence.
XVI. COST ANALYSIS
Keeping in view the budget and time constraints of the
project, initially PKR 4000.00/- were reserved for the entire
project, with a few items sourced miscellaneously. Here is the
initial major costing of the project
• ACS712 30A Current Sensor: Rs 350.00/• 12V DC Cooling fan: Rs 300.00/• Arduino UNO R3 16U2 with cable: Rs 1920.00/• 8.5x5.5 cm 400 Tie Points Breadboard: Rs 150.00/• Pin to Hole Jumper Wires: Rs 100.00/• 3m Flexible Copper Wire: Rs 60.00/• 16x2 1602 LCD Display: Rs 420.00/• PCF8574 IIC/I2C 16 Pin Serial Interface LCD
Display Adapter Module: Rs 220.00/• 5V Two Channel 10A Relay: Rs 240.00/• Styrofoam Sheet: Rs 200.00/ACKNOWLEDGMENT
I would really like to express gratitude to Sir Ali Hassan for
the project. The project has helped us to understand deeper
into the practical approach of Electrical Engineering and
Electronics with multidisciplinary courses, deeply connected
to Mechanical Engineering like Thermodynamics, Heat and
Mass Transfer, Control Engineering etc. I would really like to
thank Muhammad Qasim Kamal for his services in successful
simulation of the entire project on Proteus Professional
Software. Muhammad Ali Tariq and Sufyan Ahmed worked
hands on the project from scratch.
REFERENCES
[1]
https://docs.arduino.cc/hardware/uno-rev3J.
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
https://en.wikipedia.org/wiki/Arduino_Uno
https://www.mybotic.com.my/module/relay-module/2-channels-5vrelaymodule#:~:text=The%202%20Channels%20Relay%20Module,as%20
Arduino%2C%20PIC%20and%20etc.
https://electrobes.com/product/2-channel-relay-module-10a/
https://www.majju.pk/product/lcd-i2c-module-iic-i2c-serial-interfaceadapter-i2c-interface-module/
https://electrobes.com/product/iic-i2c-16-pin-serial-interface-lcddisplay-adapter-module/
https://www.addicore.com/products/acs712-current-sensor-module30a
https://www.watelectronics.com/lcd-16x2/
https://www.daraz.pk/products/dupont-line-30cm-male-to-malefemale-to-male-and-female-to-female-jumper-wire-dupont-cable-forarduino-diy-kit-40pin-i300582209.html
https://www.amazon.in/Invento-DS18B20-Waterproof-TemperatureThermistor/dp/B078QCH26Y
https://www.lampco.co.uk/products/capsule-bulb-jc-110v-50w-g6-35two-pin-base-halogen-capsule
https://www.youtube.com/watch?v=EAeuxjtkumM
https://www.youtube.com/watch?v=EAeuxjtkumM
https://www.youtube.com/watch?v=d6MnA4aPDag&t=642s
https://www.instructables.com/THERMISTOR-WITH-ARDUINOUNO-R3/
https://youtu.be/9bZw4OqLmUQ?si=BGiaShhu0NyTfu8f
https://youtu.be/ZXgXuFWsdEM?si=3eYa6I_rrEecme89
https://www.google.com/url?sa=t&source=web&rct=j&opi=8997844
9&url=https://forum.arduino.cc/t/connecting-a-fan-to-a-relay-andarduino/300843&ved=2ahUKEwj90_i5n5uDAxWLe6QEHVn5Bf0Q
FnoECBcQAQ&usg=AOvVaw1n5_1eqAhkRVWr5rsrcYpP
https://youtu.be/LrjdlccXOcI?si=QTeU41iy4Z2oApXi
https://youtu.be/psNAeHoZv0A?si=AIxMdGcgasww2TO4
Arduino - Controls Heating Element | Arduino Tutorial
(arduinogetstarted.com)
Download