WHEEL CHAIR AND HOME APPLIANCE CONTROL SYSTEM

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;
    }
  }
}