Project tutorial
UV RoboS (Covid Warrior)

UV RoboS (Covid Warrior) © Apache-2.0

My 1st Robot.

  • 2,280 views
  • 3 comments
  • 2 respects

Components and supplies

Apps and online services

About this project

Introduction:

The high energy from short wavelength UVC light is absorbed in the cellular RNA and DNA, damaging nucleic acids, and preventing microorganisms from infecting and reproducing. This absorption of UVC energy forms new bonds between nucleotides, creating double bonds or “dimers.” Dimerisation of molecules, particularly thymine, is the most common type of damage incurred by UVC light in microorganisms. Formation of thymine dimers in the DNA of bacteria and viruses prevents replication and inability to infect.

UVC disinfection is clinically proven, easy to use and does not result in damage to the fabrication of the area or buildings being treated. This method uses no chemicals, reaches floor to ceiling and is suitable for even the smallest of spaces. It is also extremely portable, meaning it can be used in areas such as ambulances, sluice rooms, theatres, patient rooms, and ambulances. The technology has proven to be a success, eliminating HAI culprits including C. diff, MRSA, New Delhi metallo-beta-lactamase 1 (NDM-1), Ebola and norovirus. So we should handle UVC carefully, so I am making this robot name UV RoboS (Covid Warrior).

This is my 1st Project, So I have started this project with new idea but very simple with my economic mode.

Making:

After take those parts, wheels, motor shield, Arduino, Bluetooth and battery I started join those.
I have joined wheels and wires and make car with wood pis. Then it was ready to join with the Micro-controller to operate.
In this Part I have installed Arduino, Motor shield, and joined Motor's wire with Motor shield.
In this part I have adjust the Bluetooth part and adjust the pin and then I had upload the program with the Arduino IDE. I have connected the TX and RX pin with 9 and 10 number pin.
SoftwareSerial bluetoothSerial(9, 10); // RX, TX 
  • In the last part I had joined UV Demo Light and connect with VCC and Ground.

How can UVC disinfection aid in the fight against the spread of COVID-19?

The global pandemic has challenged almost every country across the world. Economies have been halted, communities put into lockdown and the healthcare sector has never been put under more pressure than it has in recent months. Wherever there is any form of human interaction, the virus could still be present and therefore deep cleaning regimes need to be rigorous to prevent further spread of this deadly disease. Manual cleaning protocols have been refined and cleaning teams across the globe are working tirelessly to ensure the safety of themselves and the wider healthcare sector. Manual cleaning however can only assist with surface cleaning and this is where UVC technology comes into its own.

While it has been widely recognised for some time that coronavirus can be efficiently and effectively eradicated utilising UVC, it would have been incorrect for companies to suggest that their devices were efficient in killing COVID-19 without further testing. THOR UVC utilises 24 high output emitters supplied to us by Signify, part of the Philips Group of companies. Signify, in conjunction with Boston University, recently tested the current pathogen with their emitters and found COVID-19 was eradicated in minutes. Finsen Tech is now able to verify with confidence that THOR UVC can eradicate COVID-19 contamination in minutes.

Conclusion:

  • So now The UV RoboS (Covid Warrior) Sanitize the place without harm any animal.Because the UV light is harmful for animal body and it damage the cells.
  • I have set the light under the car so, it will clean the surface without any problem as well as without any contact with any skin. We just need to control the Remote.
  • In this Covid-19 Pandemic Situation we can easily Sanitize the room with it.

Thank You. It's My 1st Project so guys Support me

:D

.

Code

UVRoboS CodeArduino
COVID-19 warrior Robot
#include <AFMotor.h>
#include <SoftwareSerial.h>
SoftwareSerial bluetoothSerial(9, 10); // RX, TX

AF_DCMotor front_right(1);
AF_DCMotor front_left(2);
AF_DCMotor back_right(3);
AF_DCMotor back_left(4);

int pir1 = 14;
int pir2 = 15;
int pir3 = 16;
int pir4 = 17;

boolean pirStat1 = false;
boolean pirStat2 = false; 
boolean pirStat3 = false; 
boolean pirStat4 = false;  

int vuc_lamp = 13;

int manualSpeed = 160;

boolean living_object = false; 

char btCommand = 'S';
char prevCommand = 'A';
int velocity = 0;   
unsigned long timer0 = 2000;  //Stores the time (in millis since execution started) 
unsigned long timer1 = 0;  //Stores the time when the last command was received from the phone

String inputString = "";
String command = "";
String value = "";
boolean stringComplete = false; 

void setup() {
  
  bluetoothSerial.begin(9600); //set the baud rate for your bluetooth mode
  
  pinMode(pir1, INPUT);
  pinMode(pir2, INPUT);
  pinMode(pir3, INPUT);
  pinMode(pir4, INPUT);
  pinMode(uvc_lamp, OUTPUT);
  
  // turn on motor
  front_right.setSpeed(150);
  front_left.setSpeed(150);
  back_right.setSpeed(150);
  back_left.setSpeed(150);
 
  front_right.run(RELEASE);
  front_left.run(RELEASE);
  back_right.run(RELEASE);
  back_left.run(RELEASE);

  inputString.reserve(50);  // reserve 50 bytes in memory to save for string manipulation 
  command.reserve(50);
  value.reserve(50);
}

void loop() {

//  front_right.setSpeed(manualSpeed);
//  front_left.setSpeed(manualSpeed);
//  back_right.setSpeed(manualSpeed);
//  back_left.setSpeed(manualSpeed);

  pirStat1 = digitalRead(pir1);
  pirStat2 = digitalRead(pir2);
  pirStat3 = digitalRead(pir3);
  pirStat4 = digitalRead(pir4); //if any sensor detect motor state goes to high
   
  if (pirStat1 == HIGH || pirStat2 == HIGH || pirStat3 == HIGH || pirStat4 == HIGH) {            // if motion detected
   living_object = true; 
  }  
  bluetoothControl();
  
}

motor.run(FORWARD);
motor.run(BACKWARD);
motor.run(RELEASE);

void run_forward(){
   front_right.run(FORWARD);
   front_left.run(FORWARD);
   back_right.run(FORWARD);
   back_left.run(FORWARD);
 }

void run_backward(){
   front_right.run(BACKWARD);
   front_left.run(BACKWARD);
   back_right.run(BACKWARD);
   back_left.run(BACKWARD);
 }

void stop_position(){
   front_right.run(RELEASE);
   front_left.run(RELEASE);
   back_right.run(RELEASE);
   back_left.run(RELEASE);
 }

void rotate_write(){
   front_right.run(BACKWARD);
   front_left.run(FORWARD);
   back_right.run(BACKWARD);
   back_left.run(FORWARD);
 }

void rotate_left(){
   front_right.run(FORWARD);
   front_left.run(BACKWARD);
   back_right.run(FORWARD);
   back_left.run(BACKWARD);
 }


 void serialEvent() {
  while (bluetoothSerial.available()) {
    // get the new byte:
    char inChar = (char)bluetoothSerial.read(); 
    //Serial.write(inChar);
    // add it to the inputString:
    inputString += inChar;
    // if the incoming character is a newline or a carriage return, set a flag
    // so the main loop can do something about it:
    if (inChar == '\n' || inChar == '\r') {
      stringComplete = true;
    } 
  }
}


void bluetoothControl(){
  if(bluetoothSerial.available() > 0){ 
    timer1 = millis();   
    prevCommand = btCommand;
    btCommand = bluetoothSerial.read(); 
    //Change pin mode only if new command is different from previous.   
    if(btCommand!=prevCommand){
      //Serial.println(command);
      switch(btCommand){
      case 'F':  
        run_forward();
        break;
      case 'B':  
        run_backward();
        break;
      case 'L':  
        rotate_left();
        break;
      case 'R':
        rotate_right();
        break;
      case 'S':  
        stop_position();
        break; 
      case 'U':  //uvc 
        if(!living_object)
          digitalWrite(uvc_lamp, HIGH);
        break;
      case 'V':  //uvc 
        digitalWrite(uvc_lamp, LOW);
        break;       
      default:  //Get velocity
        if(btCommand=='q'){
          velocity = 255;  //Full velocity
          manualSpeed = velocity;
        }
        else{ 
          //Chars '0' - '9' have an integer equivalence of 48 - 57, accordingly.
          if((btCommand >= 48) && (btCommand <= 57)){ 
            //Subtracting 48 changes the range from 48-57 to 0-9.
            //Multiplying by 25 changes the range from 0-9 to 0-225.
            velocity = (btCommand - 48)*25;       
            manualSpeed = velocity;
          }
        }
      }
    }
  } 
}

Schematics

COVID-19 warrior Robot Schismatic
COVID-19 warrior Robot schismatic
Covid 19 warrior robot schamatic 6im9d57vt1

Comments

Similar projects you might like

COVID - 19 Touchless Hand Wash Timer

Project tutorial by Akshay Joseph

  • 9,724 views
  • 1 comment
  • 20 respects

How to Make a Gesture Control Robot at Home

Project tutorial by Shubham Shinganapure

  • 29,509 views
  • 26 comments
  • 89 respects

I Made A Cap That Doesn't Allows You To Touch Your Face!!!

Project tutorial by Dynamic Innovator

  • 13,722 views
  • 41 comments
  • 58 respects

Bluetooth Controlled Car

Project tutorial by Aniket Mindhe

  • 23,046 views
  • 8 comments
  • 26 respects

Line Follower Robot

Project tutorial by Saher Iqbal

  • 20,160 views
  • 4 comments
  • 4 respects

COVID - 19 Automatic Water Tap

Project tutorial by Akshay Joseph

  • 13,414 views
  • 1 comment
  • 26 respects
Add projectSign up / Login