In this proposed system a new model is developed for the persons who cannot walk. This Project consists of two Microcontroller Units, Wheel chair ,keypad and wireless communication through RF. Wheel chair is made up of High torque Geared DC Motors, the Motors Directions can be changed through the set of instructions given from the keypad and the action of these Instructions is already loaded into the Microcontroller using Embedded C programming. The RF receiver provides the information to the microcontroller (on board computer) from RF transmitter and the controller judges whether the instruction is right movement or left movement based on the key press and controls the direction. Also, the system is capable of switching devices wirelessly Interfaced to the wheel chair system.
BLOCK DIAGRAM
DEVICE SWITCHING SIDE
CIRCUIT
PROGRAM
WHEEL CHAIR SIDE
int a=0;
void setup()
{
Serial.begin(2400);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(A0,INPUT);
pinMode(13,INPUT);
pinMode(12,INPUT);
pinMode(11,INPUT);
pinMode(10,INPUT);
pinMode(9,INPUT);
digitalWrite(A0,HIGH);
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
pinMode(2,OUTPUT);
usinit();
}
void loop()
{
us();
if(digitalRead(10)==0)
{
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
}
else if(digitalRead(11)==0)
{
digitalWrite(6,HIGH);
digitalWrite(5,LOW);
digitalWrite(8,HIGH);
digitalWrite(7,LOW);
}
else if(digitalRead(9)==0)
{
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
}
else if(digitalRead(12)==0)
{
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
}
else if(digitalRead(A0)==0)
{
Serial.print("a");
delay(500);
}
else if(digitalRead(13)==0)
{
Serial.print("b");
delay(500);
}
else if(a>25)
{
digitalWrite(2,HIGH);
}
else
{
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(2,LOW);
}
}
void usinit(void)
{
pinMode(A5, OUTPUT);// Trigger Pin
pinMode(A4, INPUT);// Echo Pin
digitalWrite(4 , LOW);
}
void us(void)
{
digitalWrite(A5, HIGH); //sends signal 10 us to excite ultra sonic sensor
delayMicroseconds(10);
digitalWrite(A5, LOW);
int duration = pulseIn(A4, HIGH);//reads duartion pulse in Microseconds
a = duration/58;
}
DEVICE SIDE
char a;
int m=0;
int n=0;
void setup()
{
Serial.begin(2400);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
}
void loop()
{
if(Serial.available()>0)
{
a=Serial.read();
if((a=='a')&&(m==0))
{
digitalWrite(10,HIGH);
m=1;
}
else if((a=='b')&&(n==0))
{
digitalWrite(9,HIGH);
n=1;
}
else if((a=='a')&&(m==1))
{
digitalWrite(10,LOW);
m=0;
}
else if((a=='b')&&(n==1))
{
digitalWrite(9,LOW);
n=0;
}
}
}