Arduino Projects

Hand Protection Electronic Gloves based on Arduino “Rotating Equipment Safety”

Description:

 

Hand Protection Electronic Gloves- A few days back my friend Dania cut her hand and it triggered my mind to make something for hands protection. I am going to dedicate this project to Dania.

Hand Protection Electronic Gloves

You know my friends, in industries usually the hands accidents happen, when the hands come in contact with the moving parts, which results in heavy injuries, amputations and deaths. These accidents can be minimized by designing special type of electronic gloves which can turn off the machine when a hand comes in contact with the moving part.


Hand Protection Electronic Gloves

In today’s episode you will learn how to make an electronic glove based on the magnetic Hall Effect sensor, Arduino, and 433 MHz Radio Frequency Modules; to protect workers from coming into contact with the moving parts or getting caught in the machinery.  For the demonstration purposes, I am using two indicator lamps. When the worker gets too close to the moving part the machine turns off and an alarm is activated which is represented by the yellow indicator lamp.

This is just a prototype model which can be further improved by designing some very small size Hall Effect sensors, we can also include some pressure sensors and the wires can be made hidden inside the gloves. Using such gloves we can perform ordinary tasks without any problem as these gloves are completely Wireless.For the practical demonstration and explanation watch video tutorial given at the end of this article.



Amazon Links:

12v Adaptor:

Arduino Uno

Arduino Nano

Mega 2560:

Magnetic Hall Effect Sensor:

433 MHz Transmitter and Receiver Modules:

Other Tools and Components:

Top Arduino Sensors:

Super Starter kit for Beginners

Digital Oscilloscopes

Variable Supply

Digital Multimeter

Soldering iron kits

PCB small portable drill machines

DISCLAIMER:

Please Note: these are affiliate links. I may make a commission if you buy the components through these links. I would appreciate your support in this way!


Hand Protection Electronic Glove Transmitter Circuit Diagram:

Hand Protection Electronic Gloves

This schematic is designed in Cadsoft Eagle 9.1.0 version. If you want to learn how to make a schematic and PCB, then watch my tutorial.

The magnetic Hall Effect Sensor VCC or 5v pin is connected with the Arduino’s 5 volts. The Ground pin is connected with the Arduino’s Ground while the signal pin of the Hall Effect Sensor is connected with the Arduino’s Analog pin A0.

433 MHz Radio Frequency transmitter module 5v pin is connected with the Arduino’s 5 volts; the ground is connected with the ground while the Data pin of the transmitter module is connected with the Arduino’s pin number 12. The whole circuit can be powered up using a 9-volt rechargeable battery. But for the demonstration purposes, I will be using a 12v adaptor. Now let’s have a look at the receiver circuit diagram.


Hand Protection Electronic Glove Receiver Circuit Diagram:

Hand Protection Electronic Gloves

This circuit will be installed on the machine side, which needs to be turned OFF when a hand comes in contact with a moving part. This circuit is powered up using a 12v adaptor or battery.

The 5v pin of the 433 MHz radio frequency receiver module is connected with the Arduino’s 5 volts. The ground is connected with the Arduino’s ground while the Data pin of the Receiver’s module is connected with the Arduino’s pin number 11.

A two channel relay module is connected with pin number 9 and pin number 10 of the Arduino. The relays used are of the type SPDT “Single pole and double throw”. You can purchase a readymade two channel relay module or you can make the one by yourself following these connections. As you can see one side of the relay coil is connected with the 12 volts while the other side of the relay coil is connected with the collector of the 2n2222 NPN transistor. The emitter is connected with the ground while the base is connected with the Arduino’s digital pin through a 10k resistor.


About the Magnetic Hall Effect Sensor:

Hand Protection Electronic Gloves

This is the magnetic Hall Effect Sensor. It has three male headers which are clearly labeled as 5v, OUT, and GND. This is the Sensor which detects the presence of the magnet.

Hand Protection Electronic Gloves

As you can see these are exactly the same Magnetic Hall Effect Sensors. I de-soldered this sensor and fixed it on the Glove and soldered longer wires and connected the three male headers as per the circuit diagram already explained. Using this blue color variable resistor the sensitivity of the Sensor can be adjusted.



About the 433 MHz RF transmitter and Receiver:

Hand Protection Electronic Gloves

This is the 433 MHz Radio Frequency Transmitter and receiver modules. As you can see the three male headers are clearly labeled. You can also see I have soldered a red wire with the Antenna; this is just to increase the Range.

The Receiver Module has a total of 4 male headers which are clearly labeled. The middle two pins are the data pins which are internally connected, so you can connect any of these two pins. I have a very detailed tutorial on how to use these Radio Frequency Modules, which is given in the related projects section. I have also soldered a small wire with the receiver module to slightly increase the range.


Hand Protection Electronic Glove Programming:

In this project two programs are used, one program is written for the Transmitter side while the other program is written for the Receiver side. The libraries used these programs can be downloaded by clicking on the following link.

Download Libraries

Hand Protection Transmitter Side Arduino Programming:

// transmitter.pde
// Hall Effect magnetic sensors connected 

#include <VirtualWire.h>

const int transmit_pin = 12;
const int MHESP = 7; // Magnetic hall effect Sensor Power
 
char msg[7] = {'h'};
char msg1[7] = {'j'};



int sensor1 = A0; 
int sensor2 = A1; 

int sensor3 = A2; 
int sensor4 = A3; 

// variable for sensors

int sdata1 = 0;
int sdata2 = 0; 
int sdata3 = 0;
int sdata4 = 0; 




void setup()
{
  Serial.begin(9600);
    // Initialise the IO and ISR
    vw_set_tx_pin(transmit_pin);

    pinMode(sensor1, INPUT);
  //  pinMode(sensor2, INPUT);
 //   pinMode(sensor3, INPUT);
 //   pinMode(sensor4, INPUT);
    pinMode(MHESP,OUTPUT); 
    digitalWrite(MHESP, HIGH); // Turns on the Magnetic Hall Effect Sensor.
    vw_setup(2000);       // Bits per sec
    
}

byte count = 1;

void loop()
{

  sdata1 = analogRead(sensor1);
  delay(20); 
    //sdata2 = analogRead(sensor2);
    //  sdata3 = analogRead(sensor3);
     //   sdata4 = analogRead(sensor4);
  Serial.println(sdata1);
  // Serial.println(sdata2);
  //  Serial.println(sdata3);
  //   Serial.println(sdata4);
  

 if(sdata1 < 500 )
 {
  
  vw_send((uint8_t *)msg, 1); // change this number according to the sensor values,when value less then the predefined value then we send h as the command.
  vw_wait_tx(); // Wait until the whole message is gone
  Serial.println("Protection activated");
  delay(100);

 }
 
  if( sdata1 > 500 )
 {
  
  vw_send((uint8_t *)msg1, 1); // change this number according to the sensor values, when value less then the predefined value then we send j as the command. 
  vw_wait_tx(); // Wait until the whole message is gone
  Serial.println("Normal");
  delay(100);

 } 
    
   else 
delay(100);
 
}


Transmitter Side Programming Explanation :

As explained in the circuit diagram the data pin of the Transmitter module is connected with pin number 12 of the Arduino.

The 5v pin of the magnetic Hall Effect sensor is connected with the Arduino’s pin number 7. But you can connect it with the Arduino’s 5v.

char msg[7] = {‘h’};

char msg1[7] = {‘j’};

These are the commands which are sent to the Receiver circuit.

int sensor1 = A0;

int sensor2 = A1;

int sensor3 = A2;

int sensor4 = A3;

Then I defined pins for the four Magnetic Hall Effect Sensors. But currently, I am using only one sensor connected with the Analog pin A0.

int sdata1 = 0;

int sdata2 = 0;

int sdata3 = 0;

int sdata4 = 0;

These are the four variables of the type integer which will be used to store the values coming from the Magnetic Hall Effect Sensors.

In the void setup function, I activated the serial communication for debugging purposes. Initialize the IO and ISR. Set sensors as the input. Turns ON the Magnetic Hall Effect Sensor, and finally set the virtual wire setup at 2000 bits per sec.

In the void loop function, we simply read the sensors. In my case, I am only using one sensor which is connected with the Analog pin A0. Store the value in variable sdata1. Print the data on the serial monitor to check the effect of the magnet on the Hall Effect Sensor.

Then using the IF conditions the value stored in sdata1 is compared with the predefined value. This condition means if the presence of the magnet is detected then send a command h to the receiver.

  if( sdata1 > 500 )

 {

  vw_send((uint8_t *)msg1, 1); // change this number according to the sensor values, when value less then the predefined value then we send j as the command.

  vw_wait_tx(); // Wait until the whole message is gone

  Serial.println(“Normal”);

  delay(100);

 }

This condition means if there is no magnetic detected then send a command j to the receiver.


Hand Protection Receiver Side Arduino Programming:

// receiver.pde

#include <VirtualWire.h>


int indicator = 9; // it can also be a buzzer
int Power = 10; // to control power to the machine/device


const int receive_pin = 11;


void setup()
{
    delay(1000);
    Serial.begin(9600); // Debugging only
    Serial.println("setup");

 
    vw_set_rx_pin(receive_pin);
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);  // Bits per sec
    vw_rx_start();       // Start the receiver PLL running

  
    pinMode(indicator, OUTPUT);
    pinMode(Power, OUTPUT);
    digitalWrite(indicator, LOW); 
    digitalWrite(indicator, LOW); 
    
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
    int i;

     
    // Message with a good checksum received, dump it.
    Serial.print("Got: ");
    
    for (i = 0; i < buflen; i++)
    {
        char c = (buf[i]);

        if( c == 'j') // for right side
    {
       digitalWrite(Power, HIGH); 
      digitalWrite(indicator, LOW); 
      Serial.print(c);
        Serial.print(' ');
           
    }

 if( c == 'h') // 
    {
      
      digitalWrite(Power, LOW); 
      digitalWrite(indicator, HIGH); 
      Serial.print(c);
        Serial.print(' ');
           
    }  
   
    if( c == 'm')
    {

            Serial.print(c);
        Serial.print(' ');
           
    } 

    }

    }
}



Receiver side Programming Explanation:

The two relays are connected with pin 9 and pin 10 of the Arduino.

The receiver module data pin is connected with the Arduino’s pin number 11.

The void setup function almost consists of the same functions which are used in the Transmitter. The relays are set as the output using the pinMode functions.

In the void loop function, these instructions are used to receive the command sent by the transmitter…then using the IF conditions we check whether the received command is h or j and then accordingly the relays are controlled. This is the same program which I used in the Tongue controlled wheelchair. You can find a link in the related projects section.

Watch Video Tutorial:

 

Related Projects Section:

Download Top Arduino Libraries

Control Anything wirelessly

Tongue Controlled wheelchair

Engr Fahad

My name is Shahzada Fahad and I am an Electrical Engineer. I have been doing Job in UAE as a site engineer in an Electrical Construction Company. Currently, I am running my own YouTube channel "Electronic Clinic", and managing this Website. My Hobbies are * Watching Movies * Music * Martial Arts * Photography * Travelling * Make Sketches and so on...

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button