Software apps and online services
Hand tools and fabrication machines
Coronavirus disease (COVID-19) is an infectious disease caused by the severe acute respiratory syndrome coronavirus 2 (SARS-Cov-2). COVID-19 has affected nearly 12.2 million people and has claimed the lives of 552, 112 people from all over the world. This disease affects different people in different ways. Some people may develop mild to moderate illness and recover without special treatment or hospitalisation, while some may develop severe illness and even die. The incubation period of this virus, on average 5-6 days but it could also be up to 2 weeks. During this period, the person may not experience any symptoms but could still be contagious. The person will be a virus carrier and easily spread it when he/ she does not take any precautionary measures.
Coronavirus has spread rapidly and many countries have been affected by this pandemic. While some countries are recovering, other countries are still in lockdown and some are suffering from the second wave of coronavirus.How does coronavirus spread?
According to the World Health Organisation, WHO, coronavirus is mainly transmitted through droplets generated when an infected person coughs, sneezes, or exhales. These droplets are too heavy to hang in air, so they quickly fall on the surfaces below.
A person could contract this disease if he/ she breathes in the virus while an infected person/ virus carrier within close proximity sneezes or coughs, or by touching a contaminated surface and then his/ her eyes, nose or mouth.How can the spread of coronavirus be controlled?
As you may have read in the above section about how the virus spreads, you would be now aware of two main factors: standing in close proximity with an infected person and touching a contaminated surface.
We can curb the spread of coronavirus by taking these two important factors in account.
It is important to avoid standing in close proximity with other people because they could sometimes be a virus carrier. As I have already explained, the person could be contagious before they develop any symptoms. To prevent standing in close proximity, we are advised to practice social distancing and to prevent touching a contaminated surface and then our eyes, nose or mouth, we must wash our hands properly for at least 20 seconds.
Scientists have also discovered that UV-light can kill coronavirus.Aim/ Objective of this project
I will be explaining you about making an automatic robot that will disinfect surfaces using UV-C rays and will automatically switch off if it detects human motion.How this project works
*Note: UV-C rays are harmful for the human body so I have used a laser diode 5mm, to represent the UV-C LED in this prototype as a demonstration purpose.
This prototype uses a PIR human motion sensor (HC-SR501) to detect human motion and if the motion is detected, the robot will stop moving and the UV-C LED will turn off.
I have used obstacle avoiding method in my robot prototype so that this robot can detect obstacles and disinfect the obstacles' surface.
As this is a prototype, I have scaled the amount of time this robot spends on disinfecting. You should set the time period to at least 30 seconds.Connections
L298N motor driver module
- IN1 - D7
- IN2 - D6
- IN3 - D5
- IN4 - D4
- OUT1 - Right (+)
- OUT2 - Right (-)
- OUT3 - Left (-)
- OUT4 - Left (+)
Micro servo motor SG-90
- S (Yellow/ Orange) - D9
- (+) (Red) - 5V
- (-) (Black/ Brown) - Ground (GND)
Ultrasonic sensor HC-SR04
- VCC - 5V
- Trig - D2
- Echo - D3
- GND - Ground
PIR Motion sensor HC-SR501
- VCC - 5V
- Out - D8
- GND - Ground
Laser Diode 5mm
- Anode (+) - D12
- Cathode (-) - Ground (GND)
Before moving on to coding, there are some important points to consider. Make sure your L298N motor driver is connected to the Arduino microcontroller board in the same way as mentioned in the 'Connections' section.
- IN1 - Backward motion of the right motor
- IN2 - Forward motion of the right motor
- IN3 - Backward motion of the left motor
- IN4 - Forward motion of the left motor
For this project, you will be needing the 'Servo' library by Michael Margolis and 'NewPing' library by Tim Eckel. Create global variables for the L298N pins, PIR sensor, Laser diode and ultrasonic sensor pins. Create a global variable named 'Maximum distance' and assign it to 200. Create a global variable and name it 'state' to store the digital output of the PIR sensor. Create a Servo object, and use the NewPing sonar function and the parameters are the variables for the trig pin and echo pin along with the maximum distance variable.
Within void setup( ) function, use pinMode( ) to declare the L298N pins, Trig pin and Laser diode pins as OUTPUT, and Echo pin and PIR pin as INPUT. Use attach( ) function to define the pin in which the servo motor is attached to. Use write( ) function to set the servo motor position at 90°, and after a delay of 2 seconds, the distance must be measured.
Within void loop( ), create two local variable named 'Rdistance' and 'Ldistance'. Use digitalRead( ) function to record the digital output of the PIR sensor and store this value in 'state' variable. If the PIR sensor sends a LOW signal, if no human motion is detected, the robot must move and the laser diode must be switched on. If the PIR sensor sends a HIGH signal, if human motion is detected, then the robot must stop and the laser diode must be switched off till the sensor sends a LOW signal to the microcontroller. If the distance measured is within 15 cm, the car must stop, reverse and then stop. The servo motor must be set at 10° to look to the right and 170° to look to the left. If the distance measured is greater than the distance from the left, the car must move to the right and vice versa. Before completing the void loop( ) function, the distance must be measured.
Refer to the coding section to get help with programming the robot to move.