Development of Simple Automatic Floor Po
Development of Simple Automatic Floor Po
Arduino
Li Hung Goon, Ahmad Nur Iman Md Isa, Chia How Choong, W.A.F.W. Othman*
#
School of Electrical & Electronic Engineering, Universiti Sains Malaysia, 14300 Nibong Tebal, Pulau Pinang,
Malaysia
Abstract— In this work, we have built a low-cost and simple automatic floor polisher to ease the life of
modern living. This small cleaner and polisher robot is capable of the polishing and vacuuming the floor
automatically without colliding with the furniture or any other obstacles. This automatic floor cleaner can
be remotely switched on or off using a Bluetooth phone. The Bluetooth pairing method using a simple and
user-friendly user interface, compatible with third-party apps. This project is built using an Arduino
microcontroller, ultrasonic sensor, two PC fans, 4 DC motors, 2 discs, LEDs and a Bluetooth module. This
polisher robot floor cleaner is made up of 3R materials, small in size and eco-friendly.
International Journal of Engineering Creativity and Innovation ( IJECI ) is licensed under a Creative Commons Attribution-
NonCommercial 4.0 International License. Libraries Resource Directory. We are listed under Research Associations category.
International Journal of Engineering Creativity and Innovation, 2019, 1 (1), 17-23
https://www.youtube.com/watch?v=BddPdfV0A3
s.
II. METHODOLOGY
A. Components Descriptions
Arduino Uno as shows in Fig. 1 is a
microcontroller board based on the ATmega328P.
It has 14 digital input/output pins (of which 6 can Figure 2: Ultrasonic sensor
be used as PWM outputs), 6 analog inputs, a 16
MHz quartz crystal, a USB connection, a power The Bluetooth module as shows in Fig. 3 can
jack, an ICSP header and a reset button. It contains easily achieve serial wireless data transmission. Its
everything needed to support the microcontroller; operating frequency is among the most popular
simply connect it to a computer with a USB cable 2.4GHz ISM frequency band (i.e. Industrial,
or power it with a AC-to-DC adapter or battery to scientific and medical). It adopts Bluetooth
get started [1]. 2.0+EDR standard.
eventually gives power to PC fans and the DC read by the system. If the data received is “1”, pin
motors. After all the connection have been a pulse was sent to the pin 13 ( ping pin of the
connected, a complete program code is uploaded ultrasonic sensor), and then set pin 13 as an input,
to the Arduino microcontroller. time the duration required for the pulse wave to be
received by the ping pin. The duration is then
calculated by the system to get the distance
D. Program flow
between the obstacle and the ultrasonic sensor
First, all the pins were declared. After that, the itself.
system will standby to receive data from the serial
port. Once the data has been received, the data are
If the distance is higher than 20 cm, the signal TABLE 2: EFFECTIVE RANGE OF BLUETOOTH
will be sent into pins to drive the dc motor forward, CONNECTION
the system once again check the presence of serial
data, if it is absent, a waveform is sent out again to Range for bluetooth Connection
connection (meter) status
measure the distance until the distance is less than
9 Connected
20 cm, pin 3 and pin 4 are set HIGH, pin2 and 5 9.5 Connected
set LOW to take a turn for the dc motor. Then the 9.6 Disconnected
system will check the presence of the serial data. 10 Disconnected
When Serial data comes in, the system will go The ultrasonic sensor is used to detect the
back to read the data, If the data is “1”, the same distance of the obstacles. When the cleaner is
procedure will proceed. If the data is “0”, the moving forward towards an object or obstacle in
system will turn the pin 2, 3, 4, 5, 6 and 13 LOW, front of it, the ultrasonic sensor will detect it. If
which means, it is in OFF state. the object or obstacle distance is more than 20 cm,
then both left and right wheels will rotate in
forwarding direction. If the object or obstacle
III. RESULTS distance is less than 20 cm, then the right wheel
When the switch is turned ON via Bluetooth, motor will rotate in a backward direction while the
the data is transmitted to the automatic floor left wheel motor will keep rotating in forwarding
cleaner and convert the data through the Arduino direction. This makes the cleaning robot turn right
Uno to turn on the fans and dc motor of the when an obstacle was detected in front of it so that
sweepers and wheels that move the cleaner it will not collide with it and the cleaning robot
forward. If the switch is turn OFF via Bluetooth, will continue to move forward if there is no more
then the data transmitted to shut down the object or obstacle in front of it. Table 3 shows the
automatic floor cleaner and stay in the standby movement of the left and right wheel of the
mode. An LED was used for indication of ON or cleaning robot.
OFF condition. When the system is turned ON, the
LED will light up on the top of vacuum which TABLE 3: WHEEL MOTION OF THE AUTOMATIC FLOOR
indicates the system is turned ON. In case of OFF, POLISHER
the LED just close indicate the system is closed.
Through several experiments, we found the range Obstacle Left wheel Right wheel
distance motion motion
of Bluetooth connection. Table 2 shows the
> 20 cm Forward Forward
effective range of Bluetooth connection. < 20 cm Forward Reverse