All of know about the COVID scenarios we cant talk freely, we cant walk freely because of the killer virus. and the only way to prevent this virus from spreading is by minimising the contacts and proper sterilization or sanitization with the help of a powerful and efficient ROBOT, we can achieve this very easily without exposing ourselves. And this is the story and the tutorial of how I made this UV-C sterilization robot.
Step 1: Why Is This RoboRobots are in use for a number of applications where humans can be at risk of exposure. They can do routine tasks with accuracy and repeatability, record their actions for review and verification, and work around the clock to help make our environments cleaner and safer.well. first thing first this is a simple robot I made this robot to clean or sterilize floor and other flat surfaces.it has ultraviolet LEDs and which is responsible for the virus destruction.
Step 2: Why UV?Bio-organisms such as bacteria, spores and viruses are known to be deactivated when exposed to UV-C light irradiation. UV light has been shown to destroy the RNA in viruses and can reduce the transmission of microbes, which can remain active on surfaces for long periods of time. Ultraviolet light destroys the genetic material in pathogens—DNA in bacteria and fungi, RNA in viruses—preventing them from reproducing. The primary function of the UV- the robot will be to disinfect rooms using ultraviolet germicidal irradiation for use at various businesses and organizations in exclusive of any industry or setting outside the medical field.
Step 3: Features of UV-C Robothis robot has two modes and we can just change these two by using a switch
1.remote operation
in this mode, we can operate the robot with our smartphone(app) and the communication between robot and smartphone via Bluetooth.UV led will only activates when the robot moves
2.autonomous operation
in this mode, the robot is completely automatic and it will detect obstacles and avoid those obstacles before the collision happen. UV led will always on in this mode
- Gives a 360°+ downside sterilization
- Low noise
- Verysmall and nice looking
- Is the robot 100% safe to operate
- it can be operated via remote control(mobile application) and/or autonomous navigation within rooms and other spaces
- it will Detect items in the environment for its own operation and the safety of operators (obstacle avoidance)
- The robot is fully autonomous when UV irradiation is being performed.
- the robot has a full 360-degree movement
- we can operate for long periods of time without charging(4hours).
- 100% collision avoidance
- durable and relatively maintenance-free
- it Can manoeuvre in standard bathrooms.
- it is designed to be manufactured using readily available components and software.
my first vision is to build an autonomous and remote-controlled robotic model that simply means my robot should have some sensors to detect the obstacle and environment. also a transmitter and a receiver system.to make the robot autonomous we can use different kinds of sensor like radar, lidar, ultrasonic, IR modules.i choose IR modules because they are cheap and easy to interface with microcontrollers. and talking about microcontrollers I am sticking with Arduino because Arduino is 100 percentage opensource and most importantly very easy to work on it. (explore that in later). and about the remote control system first, my thought was to build a dedicated remote control for a robot but who loves to carry a remote controller nowadays. instead of making a separate remote controller, I decided to use our smartphones to control the robot. and luckily I got a ready-made app from play store
now the transmitting part is ok with that app.what about the receiving part. so our robot is designed for indoor or low range applications so I decided to go with low-cost Bluetooth module.
basically this is the whole thing
Step 5: Gathering All Components +BOM1. The brain- Arduino (5$)
Arduino UNO is based on atmega328 chip and it has 14 digital pins 6 of them are PWM pins and also it has 6 analogue inputs that are enough for this robot
2. 2 *motor-for movement (7$)
n20 metal gear motors which are small and having enough torque
buy from aliexpressbuy from amazon
3.wheel with tyre (2$)
buy from aliexpressbuy from amazon
4.motor socket (.5$)
5.motor driver L293D(.5$)
The L293D is a popular 16-Pin Motor Driver IC. As the name suggests it is mainly used to drive motors. A single L293D IC is capable of running two DC motors at the same time; also the direction of these two motors can be controlled independently. (h bridge)
buy from aliexpressbuy from amazon
6.castor wheel(1$)
for the smooth movement
buy from aliexpressbuy from amazon
7.3*IR SENSOR MODULE (1.5$)
it has three-pins VCC, gnd, and a digital output.in our case the digital out goes low when a obstacle comes
How does the IR module work? An infrared sensor emits and/or detects infrared radiation to sense its surroundings.... The basic concept of an Infrared Sensor which is used as Obstacle detector is to transmit an infrared signal, this infrared signal bounces from the surface of an object and the signal are received at the infrared receiver.
buy from aliexpressbuy from amazon
8.HC-05 Bluetooth module as a receiver (3$)
HC-05 Bluetooth Module is easy to use Bluetooth SPP (Serial Port Protocol) module, designed for transparent wireless serial connection setup.... HC-05 Bluetooth module provides switching mode between master and slave mode which means it able to use neither receiving nor transmitting data.
9.2*switch (.1$)
buy from aliexpressbuy from amazon
10.UV LEDs (2$)
to sterilize the surface I don't have this led also I am not able to buy because I am in the containment zone
buy from aliexpressbuy from amazon
11.7.4v li.ion battery (6$)
I am using normal 2s 7.4volt rechargeable li-ion battery so I can charge it with tp4056 charging module(we need two of them because we have 2 li.ion in parallel)
buy from aliexpressbuy from amazon
So the total cost is around 29$
Step 6: Circuit Diagram and ConnectionsI designed circuit using fritzing software
connections
Connect. Tx of Bluetooth module to rx of arduino and rx of module to tx of arduino
Connect ir module outputs to arduino d6, d7, d8
Connect switch to d12
Connect led to d9 with a transistor driver (in practical example)
Place one IR MODULE in the front one in left and one in right
Please watch making video too.
Step 7: CodingAfter completing the connections let's think about code.
I am using Arduino ide to write and compile the code. This code has basically three parts
- Reading the sensor output (both the Bluetooth receiver and IR sensor)
- Switching
- Driving the motors
Every line of code is also commented in understandable language.so please read the code to get more details
Here I will give a concentrated description.
To achieve obstacle avoidance property. First, I read the outputs of ir modules using digitalRead function
Then I gave different conditions like this
If the output of left, front and right high (that is no obstacles) -go straight
If the out of left is low and front and right is that means obstacle in the left side -go right
If the out of right is low and front and left is low that means obstacle is in the right side so -Go left
if ((digitalRead(X_S)==0)&&(digitalRead(Y_S)==1)&&(digitalRead(Z_S)==0)){forward(); }
if ((digitalRead(X_S)==1)&&(digitalRead(Y_S)==1)&&(digitalRead(Z_S)==1)){forward(); }
if ((digitalRead(X_S)==0)&&(digitalRead(Y_S)==1)&&(digitalRead(Z_S)==1)){softRight(); }
if ((digitalRead(X_S)==0)&&(digitalRead(Y_S)==0)&&(digitalRead(Z_S)==1)){turnRight(); }
if ((digitalRead(X_S)==1)&&(digitalRead(Y_S)==1)&&(digitalRead(Z_S)==0)){softLeft(); }
if ((digitalRead(X_S)==1)&&(digitalRead(Y_S)==0)&&(digitalRead(Z_S)==0)){turnLeft(); }
if ((digitalRead(X_S)==1)&&(digitalRead(Y_S)==0)&&(digitalRead(Z_S)==1)){turnLeft(); }
if ((digitalRead(X_S)==0)&&(digitalRead(Y_S)==0)&&(digitalRead(Z_S)==0)){turnLeft(); }
So this is the basic idea and also add a few more conditions for obstacle avoidance.
And in case of Bluetooth control, I read the serial data using serial read function. Because the app sends data of specific button tap as serial data (eg f for forward and l for left)
For Switching, I read the pin state of 12th pin (we connected switch to this pin)
Using while function I switch the two modes.
while ( digitalRead(12) == LOW)
while ( digitalRead(12) == HIGH)
if the pin is that means the robo in rc mode and if the pin is low that means robo in autonomous mode
And I also gave different conditions in the motor driving section.
void forward()
{ digitalWrite(M_A1, HIGH);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, HIGH);
digitalWrite(M_B2, LOW);
}
void softLeft()
{
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, HIGH);
digitalWrite(M_B2, LOW);
}
void turnLeft()
{
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, HIGH);
digitalWrite(M_B1, HIGH);
digitalWrite(M_B2, LOW);
}
void softRight()
{
digitalWrite(M_A1, HIGH);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, LOW);
}
void turnRight()
{
digitalWrite(M_A1, HIGH);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, HIGH);
}
So that's all about coding.
Step 8: Pcb Designingafter connecting everything together I tested everything and everything works perfectly but I feel the circuit is too bulky and also a lot of connection made me mad so I decided to design a PCB to decrease the size and cost the robot.so with the help of easyeda online software I designed my custom PCB and. Ordered PCB from JLCPCB
My PCB itself an Arduino so we need to add a lot more components than the older but every connection well designed so this reduce the overall Hard work
So these are the parts required for making the custom Arduino PCB
atmega328
https://s.click.aliexpress.com/e/_d7MhTjG
28pin ic base
https://s.click.aliexpress.com/e/_d7MhTjG
7805 regulator
https://s.click.aliexpress.com/e/_d7MhTjG
16mhz crystall
https://s.click.aliexpress.com/e/_d7MhTjG
22 pf capacitor
https://s.click.aliexpress.com/e/_d7MhTjG
button switch
https://s.click.aliexpress.com/e/_d7MhTjG
10k resistor
https://s.click.aliexpress.com/e/_d7MhTjG
led
https://s.click.aliexpress.com/e/_d7MhTjG
After grabbing all components I solder everything to PCB. Very simple step because we don't want. Care about anything. Just look and solder.
At first I tried to build a 3d printed enclosure for my robot but due to lockdown event. I faild to print.then I decided to make a enclosure with foam sheet. So I cut pieces from foam sheet and made a enclosure
First I marked the location for the ir modules I decided to place the ir modules in middle of each side.
(Please watch video to know more about This steps)
After that I connected. Every components like switch, battery and leds
And talking about leds I placed 2 leds in each side and also in downside so we get a 360+ downside sterilisation
While I am searching on google I got this 100% free application from play store.
You can download that from Here
Or just Search Bluetooth RC Controller in playstore. After installing and open the app and click on the gear icon and connect to HC 05.thats it
- The main improvement is in the body part we can easily 3d print a enclosure.
- IR module false trigger in outside!
So I made a custom ir module that is perfect for outdoor applications. So we can replace the normal ones with customized module.
- Also we can use ultrasonic modules instead of using ir modules.
- Another one is in the app section we can build a custom application and in that app we can set different parameters like on time of the robot and also battery level indications
This is just a model robot when it comes to practicall it definitely needs lot of improvements.
Lets Fight Together. Stay Home Stay Safe
Comments