<<<<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
- Bluetooth Module - x2
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%
Top Comments