Computer Thesis
Computer Thesis
Computer Thesis
Submitted by:
NAHOM TENSUE ……………………… 0816/07
EZANA TSEGAYE ………………………0412/06
BILAL ESHETU …………………………3210/06
Advisors
Mr. Melaku M. & Mr. Tewodros T.
We, the undersigned, declare that this project is our original work, on Automatic Fuzzy Logic
Washing Machine. This project work has not been presented for a project in this or any other
universities and all sources of materials that will be used for the project work will be fully
acknowledged.
NAHOM TENSUE
EZANA TSEGAYE
BILAL ESHETU
This thesis has been submitted for examination with our approval as a university advisor.
It was challenging to start and accomplish this project but with the help of our almighty God we
did it. For the first and for the most we are delighted when we are saying the word “thank you” for
our father God. We would like to express our gratitude and sincere thanks to our respected advisor
instructors Melaku M. and Tewodros A. for them professional guidance, advice, motivation,
endurance and encouragements during them supervision period. The present work would have
never been possible without them vital supports and valuable assistance.
Also we want to thank Wollo University, especially school of electrical & computer engineering
for teaching us and for creating different learning opportunities from freshman year up to now.
Since a wide variety of problems can be addressed through Embedded System projects we have
chosen the work entitled “Automatic Fuzzy Logic Washing Machine” for our final project. This
work seeks to solve problem faced by laundry shops, hotels and more over household was
procedures.
Our paper deals with the control operation of washing machine by using fuzzy logic control and
Arduino. This control is with respect to the degree of dirt, amount of load and the type of load,
since the wash time is based on the amount of clothes to wash, the type of load and the degree of
dirt in clothes. Manual washing processes and techniques are somehow tiresome, tedious,
inefficient and resource uneconomical. Hence, in this project we have analyzed, designed and
discussed the efficiency, time manageable, resource economical washing machine using Fuzzy
logic.
The automatic washing machines that uses Arduino as their processing device and fuzzy logic as
their logical controller, it is very essential to recognize the use and relationship between these two
structures to have the best outcome of the automatic fuzzy Logic designed Washing machine.
The final output of our work solves the conventional which the human interruption to decide upon
what should be the wash time for different cloths, the type and amount of load and degree of
dirtiness. This work proves the designed algorithm and analysis used in the methodology meets
the automation of washing machine using the concept of embedded systems.
iii Automatic Fuzzy Logic Based Washing Machine June, 2019 G.C
Table of Contents
DECLARATION ............................................................................................................................. i
ACKNOWLEDGEMENT .............................................................................................................. ii
INTRODUCTION .......................................................................................................................... 1
4.1 Result................................................................................................................................... 36
5.1 Conclusion........................................................................................................................... 42
REFERENCES ............................................................................................................................. 43
APPENDIX I ................................................................................................................................ 44
APPENDIX II ............................................................................................................................... 44
LIST OF TABLE
vii Automatic Fuzzy Logic Based Washing Machine June, 2019 G.C
LIST OF ABBREVIATIONS
AC Alternative Current
DC Direct Current
IC Integrated Circuit
LD Ladder Diagram
viii Automatic Fuzzy Logic Based Washing Machine June, 2019 G.C
CHAPTER ONE
INTRODUCTION
1.1 Background
A washing machine is a machine to wash laundry, such as clothing and sheets. Washing Machines
incorporate a tub with heating element and something to rotate or scrub the clothes in the drum.
Once the water and detergent are added, mechanical action begin to soak and agitate the clothes.
Washing machines are mainly of three types, namely, semi- automatic, automatic and washer. In
semi-automatic machines the controls are not fully automatic and manual intervention is required.
In fully automatic machines, no manual intervention is required during the washing process. In
these machines programs have to be selected and set by the user prior to the start of wash cycle.
Sensors sense the wash load and decide the program ideal for washing the clothes, water level,
time required to wash, number of rinses and spins, type of fabric, etc. which can be implemented
by Fuzzy logic control in order to improve the wash performance in washing machines. Fuzzy
logic washing machines offer the advantages of performance, productivity, simplicity,
productivity, and less cost. Sensors continually monitor varying conditions inside the machine
and accordingly adjust operations for the best wash results. Typically, fuzzy logic controls the
washing process, water intake, water temperature, wash time, rinse performance, and spin speed.
This optimizes the life span of the washing machine. More sophisticated machines weigh the load
advice on the required amount of detergent, assess cloth material type and water hardness, and
check whether the detergent is in powder or liquid form. Some machines even learn from past
experience, memorizing programs and adjusting them. The fuzzy logic checks for the extent of
dirt and grease using special sensors, the amount of soap and water to add, direction of spin, and
so on. The machine rebalances washing load to ensure correct spinning. Else, it reduces spinning
speed if an imbalance is detected. Even distribution of washing load reduces spinning noise. The
number of cycles specifies the number of preset programs available on the machine.
In the past project, a user had to select the type of wash in a washing machine manually; the amount
of water and the duration of the wash cycle had to be keyed in before the washing process began.
Today, automatic washing machine employ what is known as fuzzy logic to automate is process.
Fuzzy logic is a mathematical system that is capable of analyzing analog input values and
converting them into logical variables.
Washing by hand involves soaking, beating, scrubbing and rinsing dirty textiles.
Water for laundry would be hand carried, and heated on a fire for washing.
Operated by low speed
The current machine has no level sensor to detect water amount
Operation of I/O devices observation cannot be done thoroughly
The main objective of this project is to fully automate the manual washing system by designing
an algorithm using fuzzy logic in order to consider the best and optimum washing procedures.
This project mainly describes the washing time for a specific cloth using fuzzy logic, controlling
of overheating using fan motor and water level detector for the washing. The project is designed
for improving the problems detected on the existing system and to moderate the culture of washing
habit. Due to the expansion of new automatic washing machine in our society this is the main
concern for those areas the project will get great significance to ensure the availability of meal all
the time. This system mainly describes the washing time for a specific cloth using fuzzy logic,
controlling of overheating using fan motor and water level detector for the washing. Further
automated systems are not included in this project like, detergent required for the cloth, automatic
water adding to the machine.
1.4.1 Limitations
LITERATURE REVIEW
Fuzzy Logic; 1965 the concept of fuzzy logic was first conceived by Professor Lotfi A. Zadeh
University of California, Berkeley. Father of fuzzy set theory and fuzzy logic. Knowledge
representation and nature language processing are handled in the epistemic facet of fuzzy theory.
Linguistic variables and their dependencies in the form of fuzzy if-then rules are described in the
relation facet [1].
Madhav Mehta, Rownaz Haque 2013 ‘Portable washing machine’ this washing machine that can be
used for traveling whether the laundry facilities are available or not. The coding has been done for
an integrated circuit(IC) by ASIC approach using VHDL. It is a single tub wash cum dry Portable
Automatic Washing Machine. it is an automatic handy machine that washes as well as dries our
clothes in an easy manner. The machine can be carried to different places, like a suitcase and is
especially for people who travel a lot and do not get laundry facilities everywhere. Currently a
washing machine that follows an ASIC (Application Specific Integrated Circuit) approach and is
also portable in nature is not available in market extensively. It is modeled from the system level
to the transistor level. Embedded System or VLSI Design, all lead to only one solution that is an
ASIC. the cloth. Cotton, Woolen, Denim and Mixed (different fabrics washed together) are type
of clothes that can be put in the washing machine. These are the few modes that are commonly
used in day to day life. If spin is enabled by the user, then the drain valve opens and the water
drains out enabling the spin cycle [2]. In This project the type of dirt hasn’t determined and also
Sensing the amount of dirt hasn’t available the cloth and then taking the appropriate action, also
the type of dirt, whether an oil bond is there, grease or muddy cloth.
Menaka Kural1, H. Prasanna Kumar Journals: International Journal of Software & Hardware Research in
Engineering ISSN-2347-4890 Volume 6 Issue 9 September, 2018 ‘Automatic washing machine using plc’
Automation plays an increasingly important role in the world economy. A washing machine is an
automatic machine, controlled by motor and different hardware equipment, whose operation is
sequenced and automated without human interference and is designed to wash laundry, such as
clothing, towels and sheets. The term is mostly applied only to machine that use water as primary
cleaning solution. Washing entails immersing, dipping, rubbing and scrubbing in water, usually
accompanied by soap, detergent or bleach.
SYSTEM DESIGN
3.1 Methodology
First, the dirt in water is sensed by optical sensor after 5 rotations which give the output voltage
in the range of 0-5 volts. For high level of contamination of water, the voltage range is 0 to 2 volts
and for low level of contamination the range is 4-5 volts approximately. Secondly with respect to
load, the supply current drew increases as the load on the washing machine increases. By sensing
the amount of current and optical sensor output voltage, the wash time is determined. So the
control is done for both cases i.e. based on dirt level and amount of load. For lightly loaded
and less dirt requires less wash time. For heavily loaded and more dirt condition wash time is
more. The wash time is varied in order to control the type of load. By giving these signals (current
and voltage) as input to Arduino we determine the required amount of wash time for which the
machine is operated. Thus, Fuzzy logic controlled washing machine controller gives a correct
wash time even though a precise model of input and output relationship is not given. In addition
to this the system contains over heating controller using temperature sensor and level sensor to
detect amount of water present.
A design methodology for fuzzy logic- based control systems. The methodology employs
hardware/ software code sign techniques according to an ‘a priori’ partition of the tasks assigned
to the selected components. Experimental results from an actual control application validate the
efficiency of this methodology. The capability of fuzzy controllers to describe with simple rules
the linguistically expressed experience and knowledge of a human expert and to achieve that
without the need of a mathematical model of the plant under control, have motivated a great
increase in the number of control applications using fuzzy logic-based inference techniques.
Select the required component for the system based on the result.
The following block diagram contains four inputs and six outputs. The inputs to the
Arduino microcontrollers are:
Keypad for the purpose of selecting the input clothes.
Temperature sensor
Water Level sensor
Fuzzy logic controller
The outputs of the Arduino microcontrollers are:
LCD display
Fan motor
Main motor (single phase induction)
Buzzer
LED
Water pipe
Motor
3.2 Generalized block diagram of the system
KEYPAD
Water
remover
LM35
Buzzer
Fuzzy logic
Controller
Fan
motor
Initialization section:
In the initialization section, we initialize different variables required for the project as Start motor,
forward, reverse, voltage, current, nylon, cotton, Tereline, woolen, Lenin and fuzzy1.
In this, start motor, forward and reverse are used to rotate the motor. The start motor, forward and
reverse represents neutral, line1 and line2 respectively. Voltage and current are the outputs from
the transparency sensor and load sensor, whereas nylon, cotton, Tereline, woolen, Lenin, fuzzy1
are the inputs through the selector switch.
Start
initialization
yes
No
yes On fan
Temp>80oC
No motor
No
yes
No No No No No No
IS c=1 IS n=1 IS w=1 IS t=1 IS l=1
yes IS
Dirtiness
present
Determine dirtiness
yes
No
Calculate dirtiness Drying 8 sec
Wash time No
end
Figure 3.2 Flow chart of the washing machine
Temperature sensor
When the washing machine operates for long time almost all components become heated. This
will cause electric shock, unbalance power, reduction machine life span and component losses due
to overheat. In addition to this, the washing machine has the dryer that operates with electric stove
like equipment. As the heat of the components increase, the temperature of the system become
above the required. This situation forces the temperature sensor to send signal to the
microcontroller and the processor recommends the fan motor to run according to the input.
LM35 is a basic temperature sensor that can be used for experimental purpose. It gives the readings
in centigrade (degree Celsius) since its output voltage is linearly proportional to temperature.
The code will be written in C code. Before we can get a Celsius reading of the temperature, the
analog output voltage must first be read. This will be the raw value divided by 1024 times 5000.
It is divided by 1024 because a span of 1024 occupies 5V. We get the ratio of the raw value to the
full span of 1024 and then multiply it by 5000 to get the millivolt value. Since the output pin can
give out a maximum of 5 volts (1024), 1024 represents the possible range it can give out.
Level sensor is used in our thesis to detect the amount of water present in the machine tank.
If the water level varies the resistance also varies. By using this variation, the processor will
recommend the output parameters. For Example, when the water level is below the required, the
main motor stops working. Else if the water level is optimum the motor continues its operation.
Fluid levels can also be measured using electronic techniques. These include resistive, capacitive,
optical, sonic and gravity. Resistive is the simplest technique and is reliable when using a
consistent liquid with a relatively small variation of resistance. With this approach, electronics
can more easily deal with the replication of individual sensors to provide level information and
limits.
Buzzer
A buzzer is basically a tiny speaker that you can connect directly to an Arduino. It is an effect
where certain crystal will change shape when you apply electricity to them. By applying an
electric signal at the right frequently, the crystal can make sound.
Keypad
In our thesis we use Keypad, because keypad is an equipment used in this project where we need
to send different commands to perform the types of clothes. It is low cost equipment and easily
available in the market. And also it is the most common equipment with a very high customer
demand in the market. Keypad is most widely used input device to provide input from the outside
world to the microcontroller. The keypad makes an application more users interactive. The article
of interfacing keypad with atmega328 can be referred for detailed description of the methodology
used here. This article explains the interfacing of a 4x3 keypad with ATmega328 and displaying
the output on a LCD. Keypad is most widely used input device to provide input from the outside
world to the microcontroller. The concept of interfacing a keypad with the ATmega328 is similar
to interfacing it with any other microcontroller.
L-298 is a dual full bridge driver that has a capability to bear high voltage as well as high current.
It receives basics TTL levels and is able to operate the different loads such as Dc motors, stepper
motors, relays etc. L-298 has two enable input to control any device by enabling or disabling it.
So by connecting an L298 bridge IC to an Arduino, we can control a DC motor.
DC motor is the most common type of motor. Dc motors normally have just two leads, one positive
and one negative. If we connect these two leads directly to a battery, the motor will rotate. If we
switch the leads, opposite direction.
Potentiometer
The potentiometer is an electric circuit in which the resistance can be changed manually by the
sliding contacts. The voltage Vs is applied A cross the two points of the wire A and B. C is the
variable contact point between A and B its position can be changed by the sliding contact.
In our thesis we used potentiometer as dirtiness detector. In the real word we are using fuzzy logic
controller as dirtiness detector, because it is difficult to communicate MATLAB and Arduino on
simulation so we replaced the fuzzy logic controller with potentiometer and we do the fuzzy logic
controller in separate simulator using in MATLAB. The working principles of the fuzzy controller
will be discussed latter on this chapter.
Fan motor
The purpose of fan motor (DC fan) is used to check the temperature, when the temperature Grater
than 80 degrees, the fan motor will rotate in the right direction to control the heat water. The fan
motor work in this paper to condenser from overheating. Its job is to cool the superheated
refrigerant that move through the condenser coils of our AC unit, which help to cool the machine.
The fans operate under a predictable set of laws concerning speed, power and pressure. The fan
motors is a DC fan motor.
In our thesis the DC motor we use to wash the dirtiness as well as to drying the cloth. In this project
DC motor are received from Arduino mega then the motor is rotate to both directions by the help
of dual full bridge driver (Motor controller). A DC motor is any of a class of electrical machines
that converts direct current electrical power into mechanical power. The most common types Relay
on the forces produced by magnetic fields. The servo motor is specialized for high-response, high-
precision positioning. As a motor capable of accurate rotation angle and speed control, it can be
used for a variety of equipment. A rotation detector (encoder) is mounted on the motor and feeds
the rotation position/speed of the motor shaft back to the driver.
Nearly all types of DC motors have some internal mechanism, either electromechanical or
electronic to periodically change the direction of current flow in part of the motor. Most types
produce rotary motion a linear motor directly produces force and motion in a straight line. DC
motors were the first type widely used, since they could be powered from existing direct current
lighting power distribution systems. A DC motor's speed can be controlled over a wide range,
using either a variable supply voltage or by changing the strength of current in its field windings.
Small DC motors are used in tools, toys, and appliances.
LCD
A Liquid Cristal display: are commonly used to display data in devices and interface LCD with an Arduino
to provide a user interface. Is a flat-panel display or other electronically modulated optical
device that uses the light-modulating properties of liquid crystals. Liquid crystals do not emit light
directly, instead using a backlight or reflector to produce images in color or monochrome. LCDs
are available to display arbitrary images (as in a general-purpose computer display) or fixed images
with low information content, which can be displayed or hidden, such as preset words, digits,
and seven-segment displays, as in a digital clock.
LED
A light emitting diode: is a two-lead semiconductor light source. It is a p–n junction diode that
emits light when activated. When a suitable current is applied to the leads, electrons are able to
recombine with electron holes within the device, releasing energy in the form of photons. This
effect is called electroluminescence, and the color of the light (corresponding to the energy of the
photon) is determined by the energy band gap of the semiconductor. LEDs are typically small (less
than 1 mm2) and integrated optical components may be used to shape the radiation pattern. In our
thesis the led works to show the light, when the motor is rotate also the led well be ON red color.
Unlike a laser, the color of light emitted from an LED is neither coherent nor monochromatic,
but the spectrum is narrow with respect to human vision, and for most purposes the light from a
simple diode element can be regarded as functionally monochromatic.
This is used to supply the other sections with the needed voltages. Any power supply consists of
the following main parts:
Transformer: - is used to transform the 220VAC to other levels of voltages.
Rectification: - this part is to convert the AC voltage to a DC one. We have two methods for
rectification:
Half wave-rectification: the output voltage appears only during positive cycles of the input signal.
Full wave –rectification: a rectified output voltage occurs during both the positive and negative
cycles of the input signal.
The Filter: used to eliminate the fluctuations in the output of the full wave rectifier “eliminate the
noise” so that a constant DC voltage is produced. This filter is just a large capacitor used to
minimize the ripple in the output.
Regulator: this is used to provide a desired DC-voltage.
A relay is an electrical switch that uses an electromagnet to move the switch from the off to on
position instead of a person moving the switch. It takes a relatively small amount of power to turn
on a relay but the relay can control something that draws much more power. The contacts at the
top are normally open (i.e. not connected). When current is passed through the coil it creates a
magnetic field that pulls the switch closed (i.e. connects the top contacts). Usually a spring will
pull the switch open again once the power is removed from the coil.
When the relay gets energized the 230V A.C. gets connected to the respective terminal of the
motor. programming is done in such a way that the neutral terminal of the motor should always be
connected to the neutral of the supply. The other two terminals are connected according to the
program whenever forward or reverse direction rotation of the motor is needed.
The software part of our thesis consists of programming done in Arduino and interfacing it with
the hardware setup. In this section we will see about the overall software and design of the washing
machine control using microcontroller.
Arduino Mega
Arduino is an open-source hardware and software company, project and user community that
designs and manufactures single-board microcontrollers and microcontroller kits for building
digital devices and interactive objects that can sense and control both physically and digitally.
Arduino board designs use a variety of microprocessors and controllers. The boards are equipped
with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion
boards or breadboards (shields) and other circuits.
You can tell your board what to do by sending a set of instructions to the microcontroller on the
board. To do so you use the Arduino programming language (based on Wiring), and the Arduino
Software (IDE), based on Processing [8].
Arduino IDE
The source code for the IDE is released under the GNU General Public License, version 2. The
Arduino IDE supports the languages C and C++ using special rules of code structuring. The
Arduino IDE supplies a software library from the Wiring project, which provides many common
input and output procedures.
User-written code only requires two basic functions, for starting the sketch and the main program
loop, that are compiled and linked with a program stub main () into an executable cyclic
executive program with the GNU toolchain, also included with the IDE distribution. The Arduino
IDE employs the program argued to convert the executable code into a text file in hexadecimal
encoding that is loaded into the Arduino board by a loader program in the board's firmware [9].
MATLAB
Proteus 8 professional:
Proteus Professional design combines the ISIS (schematic capture) and ARES PCB layout
programs to provide a powerful, integrated and easy to use tools suite for education and
professional PCB design. As professional PCB design software with integrated shape based auto
router, it provides features such as fully featured schematic capture, highly configurable design
rules, interactive spice circuit simulator, extensive support for power planes, industry standard
CADCAM and OD++ output and integrated 3D viewer We use ISIS for simulating Intel response,
it has many variety modeling libraries, and its powerful concentrates in MCUs and MPUs
modeling, and most PIC's families, also it has a debugger, registers contents viewer and many
other features.
Proteus v8 is software for microprocessor simulation, schematic capture, and printed circuit
board (PCB) design. It is developed by Lab enter Electronics system components: [12]
The fuzzy controller takes two inputs, processes the information and outputs a wash time. How to
get these two inputs can be left to the sensors (optical, electrical or any type).
The working of the sensors is not a matter of concern in this paper. We assume that we have these
inputs at our hand. Anyway the two stated points need a bit of introduction which follows. The
degree of dirt is determined by the transparency of the wash water. The dirtier the clothes, less
transparent the water being analyzed by the sensors is. On the other hand, type of dirt is determined
by the time of saturation, the time it takes to reach saturation. Saturation is a point, at which there
is no more appreciable change in the color of the water. Degree of dirt determines how much dirty
a cloth is. Whereas type of dirt determines the quality of dirt; greasy cloths, for example, take
longer for water transparency to reach transparency because grease is less soluble in water than
other forms of dirt. Thus a fairly straight forward sensor system can provide us the necessary input
for our fuzzy controller.
Components of fuzzy logic: it has four main components like:
1.Fuzzification - converters input to set of certainties according to membership function.
2. Fuzzy Rule-Base - Set of IF-THEN rules used to decide outcome Designer dependent
different conclusions can be drawn from same data.
3. Interface mechanism -Two Step process,
Determine which rules from the if-then rules apply
Determine which conclusion reached based on rules
4. De-Fuzzification - converters output of interface mechanism in to a quantitative number.
Degree of Fuzzification
dirtiness
Types of Washing
Fuzzy arithmetic &
dirtiness applying criterion Time
DeFuzzification
Fuzzy logic is a form of many-valued logic or probabilistic logic; it deals with reasoning that is
approximate rather than fixed and exact. Compared to traditional binary sets (where variables may
take on true or false values) fuzzy logic variables may have a truth value that ranges in degree
between 0 and 1. Fuzzy logic has been extended to handle the concept of partial truth, where the
truth value may range between completely true and completely false. Furthermore, when linguistic
variables are used, these degrees may be managed by specific functions.
It allows for approximate values and inferences as well as incomplete or ambiguous data (fuzzy
data) as opposed to only relying on crisp data (binary yes/no choices). Fuzzy set theory defines
fuzzy operators on fuzzy sets. The problem in applying this is that the appropriate fuzzy operator
may not be known. For this reason, fuzzy logic usually uses IF-THEN rules or constructs that are
equivalent, such as fuzzy associative matrices.
Details about the set applied: Before the details of the fuzzy controller are dealt with, the range
of possible values for the input and output variables are determined. These (in language of fuzzy
set theory) are the membership functions used to map the real world measurement values to the
fuzzy values, so that the operations can be applied on them. Values of the input variables degree
of dirt and type of dirt are normalized range (1 to 100) over the domain of optical sensor.
The set of rules used here to drive the output by using FIS variables are:
1. If (degree of dirtiness is Very Short) and (type of dirtiness is Non greasy) then (washing
time is Very Short)
2. If (degree of dirtiness is Very Short) and (type of dirtiness is Medium) then (washing time
is Very Short)
3. If (degree of dirtiness is Very Short) and (type of dirtiness is Dirt) then (washing time is
Medium)
4. If (degree of dirtiness is Very Short) and (type of dirtiness is Very Dirt) then (washing
time is Medium)
5. If (degree of dirtiness is Short) and (type of dirtiness is Non greasy) then (washing time is
Very Short)
6. If (degree of dirtiness is Short) and (type of dirtiness is Medium) then (washing time is
Short)
7. If (degree of dirtiness is Short) and (type of dirtiness is Dirt) then (washing time is
Medium)
8. If (degree of dirtiness is Short) and (type of dirtiness is Very Dirt) then (washing time is
Medium)
9. If (degree of dirtiness is Medium) and (type of dirtiness is Medium) then (washing time is
Short)
10. If (degree of dirtiness is Medium) and (type of dirtiness is Medium) then (washing time is
Medium)
11. If (degree of dirtiness is Medium) and (type of dirtiness is Very Dirt) then (washing time
is Long)
12. If (degree of dirtiness is Long) and (type of dirtiness is Dirt) then (washing time is
Medium)
(Grade of memberships)
(Grade of memberships)
Instead of the conventional method which requires the human interruption to decide upon
what should be the wash time for different cloths. This situation analysis ability has been
incorporated in the machine which makes the machine much more automatic and represents
the decision taking power of the new arrangement.
(Grade of memberships)
4.1 Result
We have followed many steps and methods to accomplish our thesis and to fulfill its objectives.
The functionality of our thesis cannot be tested practically by demonstration because of the
unavailability of equipment and other problems. So we are forced only to test the control system
of our design by using Arduino microcontroller and by substituting some criteria with other that
available inside the protues8 EDA professional software as shown in the figure below.
Step 1.
This system has five different types of clothes to washing, so first will select the type of cloth then
we check the water level sensor if the water level is very low or less than 8 liters the machine will
be stopes, therefore LCD will show you message, and the keypad is only works 1up to 5 key to
select the closes, if you press incorrect key, the LCD displays will show you to enter the valid key.
4.2 Discussion
According to the simulation result the control system performs the required operations like saving
time, identifying degree of dirtiness, controlling the processes according to the time sequence
needed. So the project can make our washing method more moderate.
When the operation started message displays on the LCD “input the cloth type” when the washer
input the cloth type directly the microcontroller processes the data and if it corrects input the
microcontroller send’s command and messages to the motor and screen in a very high speed, then
the motor moves forward and reverse direction to wash the cloth. If the cloth type is determined
before fixed washing is set then the driver moves the motor for the fixed time and stop’s operation,
manual way of washing is also supported. After washing the cloth, the water will be removed to
outside, and the system check dirtiness if the cloth is not clean, we add water to tub after adding
the water, it determines the dirtiness for some minute to clean the cloth, So when the dirtiness is
not present the cloth will be drying automatically.
5.1 Conclusion
By the use of fuzzy logic control along with manual control options using a selector dial we have
been able to obtain a wash time for different type of load and different degree of dirt. The
conventional method required the human interruption to decide upon what should be the wash time
for different cloths. In other words, this situation analysis ability has been incorporated in the
machine which makes the machine much more automatic and represents the decision taking power
of the new arrangement. Though the analysis in this thesis has been very basic, but this clearly
depicts the advantage of adding the fuzzy logic controller in the conventional washing machine.
5.2 Recommendation
A more fully automatic washing machine is straightforward to design using fuzzy Logic
technology.
the design process can be extended without undue complications to other control variables
such as water level and spin speed.
For future work the system can also be linked with smart phone and it gives as information
when the washing time is completed. Even if we are not with the washing machine, this is
more compatible.
Future functionalities will include energy consumption prognosis before starting the
program, and electricity tariff induced delayed start of the machines.
Integration into home local (wireless) networks will allow monitoring energy demand via
different clients like computers or smart phones.
[1] L.A. Zadeh, Fuzzy Sets, Information and Control, 338–353, (1965)
[3] Menaka Kural1, H. Prasanna Kumar Journals: International Journal of Software & Hardware
Research in Engineering ISSN-2347-4890 Volume 6 Issue 9 September, 2018 ‘Automatic
washing machine using plc’
[4] Pranali Khatake- “Design of Gears in Semi-Automatic Dish Washing Machine” (2016):
[5] Seyed Reza Hashemi1 2011, Ata Jahangir Moshayedi 1,2 2004 ‘Smart Washing Machine’
[6] Ankur Agarwal, Ankur Mishra, Mukesha Dixit department of computer science and
engineering, international journal of computer application (0975-8887) Volume 151-No.8,
October 2016”design of an improved fuzzy logic based control system for washing machine”
[7] Sudha Hatagar, S.V.Halase, department of physics, international journal of scientific research
engineering and technology (IJSRET), ISSN 2278 – 0882 Volume 4 issue 1,january 2015 “three
input and one output fuzzy logic control of washing machine”
[9] www.arduinoIDE.net
[10] www.mathwork.com
APPENDIX II
Main program
#include <LiquidCrystal.h>
// keymap defines the character returned when the corresponding key is pressed
};
int forward_m=13;
int dirty_s=A0;
int reverse_m=A1;
int control=A2;
int qut=A10;
int hlf=A9;
int ful=A8;
int q;
int h;
int f;
int v=100;
int m;
void setup () {
// for writing
}lcd.clear();lcd.setCursor(0,0);lcd.print("PRESS 1-COTTON,2-NYLON,3-
WOOLEN");lcd.setCursor(6,1);lcd.print("4-TERELINE,5-LENIN");
void loop() {
temp();relatetemp();
lcd.clear();
lcd.setCursor(0,0);
lcd.print(key);
if(key=='1')
digitalWrite(reverse_m,LOW);
digitalWrite(forward_m,LOW);
digitalWrite(reverse_m,HIGH);
delay(500);
digitalWrite(reverse_m,LOW);water_remove();digitalWrite(23,HIGH);digitalWrite(24,LOW);
fuzzy();
delay(500);digitalWrite(23,LOW);digitalWrite(24,HIGH);
lcd.clear();
lcd.setCursor(0,0);
temp();relatetemp();
lcd.clear();
lcd.setCursor(0,1);
int dirtyness_senor()
float value1=analogRead(dirty_s);
value1=(value1*5)/1023;
int value2=(int)value1;
return value2;
void fuzzy()
dirtyness_senor();
int x=dirtyness_senor();
if(x==4)
lcd.setCursor(0,1);
else if(x==3)
lcd.setCursor(0,1);
lcd.print("DIRT ");delay(500);
else if(x==2)
lcd.setCursor(0,1);
else if(x==1)
lcd.setCursor(0,1);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("NOW IT IS CLEAN");delay(300);
break;
lcd.clear();lcd.setCursor(0,1);
lcd.print(x);lcd.print("sec");//delay(500);
digitalWrite(forward_m,HIGH);digitalWrite(23,LOW);digitalWrite(24,HIGH);
digitalWrite(reverse_m,LOW);
delay(1000);
digitalWrite(forward_m,LOW);
digitalWrite(reverse_m,HIGH);
delay(1000);
digitalWrite(reverse_m,LOW);water_remove();{digitalWrite(24,LOW);digitalWrite(23,HIGH); }}}