<<<<Previous Blog     Next Blog>>>>

 

Audio & Visual Cue System for Anosmia (Smell Disorder) and Smart WheelChair - Ft. Amazon's Alexa

Week 8: Aug 21 - 27

     The Smart Wheelchair has the following three sections: temperature monitoring, fall & collision detection, and home appliance control. These will be covered in a four-part blog series, the last part being the integration part. This blog is about the 'Home Appliance Control' section of the Smart Wheelchair. For the collection of this project's blogs published so far, visit this link and for the detailed plan of the 'Smart WheelChair' visit this link. This week progress has been mainly on the integration and testing of the Smart WheelChair system of the project and the 'Home Appliance Control' section. For the completed integrated code of the 'Temperature Monitoring' and 'Fall and Collision Detection' sections, visit this GitHub page. The Alexa part of the 'Home Appliance Control' is still a work in progress and will be posted soon. Once it is complete, Alexa will instruct the Arduino MKR1000 in terms of what home appliance it has to turn ON/ OFF. Until then Arduino MKR1000 has been programmed to send instructions to the slave (extra smell sensing unit) Arduino UNO through Bluetooth to turn ON and OFF the connected appliances in a sequence. You can find a similar setup here in my Digilent Arty S7 road test review here.

 

Smart WheelChair [Part 3 of 4]

               Temperature Monitoring     |  Fall & Collision Detection     |    Home Appliance Control     |     Integration

Introduction

 

     The ‘Home Appliance Control’ section of the Smart Wheelchair will provide the ability to voice control the power to home appliances like TV, mobile chargers etc. Alexa will listen to the voice command, then process it and pass on the desired action to be taken, to the Arduino MKR1000. The main smell sensing unit will have the Arduino MKR1000 whereas the extra unit will have the Arduino UNO connected to the four channel relay module. The instruction will be communicated through Bluetooth between the master Arduino MKR1000 (main unit) and the slave Arduino UNO (extra unit). In correspondence with the instruction, the respective relay will be turned ON or OFF. For instance, if you command, Alexa, charge my phone, then the relay associated with the phone charger will turn ON and will start charging your phone.

 

     For the explanation and idea about the complete hardware setup for this project, visit this link - Cue System for Anosmia and Smart WheelChair #7 - Hardware Explained and Case

 

List of Hardware and Software involved

 

     Below is the list of hardware and software involved in making a 'Fall and Collision Detection' system. Click on the names in order to be directed to the site where you can buy or access the resource.

 

     Hardware

 

     Software

 

Circuit Connection Diagram

 

     Below is the circuit connection diagram for the 'Home Appliance Control' section of the smart wheelchair. There are two subsections, the Arduino MKR1000 connected with Bluetooth module acting as master and the Arduino UNO connected with Bluetooth module acting as the slave and four channel relay module. This relay is in turn connected to an extension box with four outlets to plug in the home appliances. Out of the four only three are connected in a way that it can be controlled. The remaining one is for the DC fan of the main smell sensing unit, which will be always ON.

 

     Reference for: Configuring Master Slave Bluetooth - video

 

 

 

Code

 

      The code for Phase - I (without Alexa) of the 'Home Appliance Control' section of the smart wheelchair is provided below. For GitHub repository page, Click here.

 

Master Bluetooth - Arudino MKR1000

void setup() {
  Serial1.begin(38400);
}


void loop() {
  for(int i=1; i<=8;i++){
    passCmdCode(i);  
  }
}


void passCmdCode (int code){
  Serial1.print(code);
  delay(1000);
}

 

Slave Bluetooth - Arduino UNO

int Relay1 = 10;
int Relay2 = 11;
int Relay3 = 5;
int Relay4 = 6;
int serialData = 0;


void setup() {
  // put your setup code here, to run once:
  pinMode(Relay1, OUTPUT);
  pinMode(Relay2, OUTPUT);
  pinMode(Relay3, OUTPUT);
  pinMode(Relay4, OUTPUT);
  Serial.begin(38400);
}


void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available()>0){
     serialData = Serial.read();
     Serial.println(serialData);
     if (serialData == 49){
      digitalWrite(Relay1, HIGH);
     }
     else if (serialData == 50){
      digitalWrite(Relay1, LOW);
     }
     else if (serialData == 51){
      digitalWrite(Relay2, HIGH);  
     }
     else if (serialData == 52){
      digitalWrite(Relay2, LOW); 
     }
     else if (serialData == 53){
      digitalWrite(Relay3, HIGH);
     }
     else if (serialData == 54){
      digitalWrite(Relay3, LOW);
     }
     else if (serialData == 55){
      digitalWrite(Relay4, HIGH);  
     }
     else if (serialData == 56){
      digitalWrite(Relay4, LOW); 
     }
  }
}

 

Outcome

 

    Below is the video showing a demo of the outcome for the phase I of the 'Home Appliance Control' section without Alexa integrated.

 

 

Have you got any suggestion or comment? Let me know in the comments section below.

Progress made so far,

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 50%

 

<<<<Previous Blog     Next Blog>>>>