Smart home automation system using FRDM-K64F

Dependencies:   mbed

Committer:
udareaniket
Date:
Tue Mar 06 01:03:51 2018 +0000
Revision:
0:5e39f0b60013
Initial Commit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
udareaniket 0:5e39f0b60013 1 #include "mbed.h"
udareaniket 0:5e39f0b60013 2 #include <string.h>
udareaniket 0:5e39f0b60013 3 #include <stdio.h>
udareaniket 0:5e39f0b60013 4 //Initialize peripheral ports.
udareaniket 0:5e39f0b60013 5 DigitalOut light(LED_GREEN);
udareaniket 0:5e39f0b60013 6 DigitalOut ac(LED_RED);
udareaniket 0:5e39f0b60013 7 DigitalOut tv(LED_BLUE);
udareaniket 0:5e39f0b60013 8 DigitalOut open_curtain(D9);
udareaniket 0:5e39f0b60013 9 DigitalOut close_curtain(D8);
udareaniket 0:5e39f0b60013 10 Serial bt(PTC15, PTC14);
udareaniket 0:5e39f0b60013 11 char speech[255] = "";
udareaniket 0:5e39f0b60013 12
udareaniket 0:5e39f0b60013 13 int main()
udareaniket 0:5e39f0b60013 14 {
udareaniket 0:5e39f0b60013 15 //initialize peripherals
udareaniket 0:5e39f0b60013 16 int curtain_pos = 0;
udareaniket 0:5e39f0b60013 17 light = 1;
udareaniket 0:5e39f0b60013 18 ac = 1;
udareaniket 0:5e39f0b60013 19 tv = 1;
udareaniket 0:5e39f0b60013 20 open_curtain = 0;
udareaniket 0:5e39f0b60013 21 close_curtain = 0;
udareaniket 0:5e39f0b60013 22 unsigned char rx;
udareaniket 0:5e39f0b60013 23 bt.baud(9600);
udareaniket 0:5e39f0b60013 24 while (1) {
udareaniket 0:5e39f0b60013 25 //check if data available via bluetooth
udareaniket 0:5e39f0b60013 26 if(bt.readable()) {
udareaniket 0:5e39f0b60013 27 rx = bt.getc();
udareaniket 0:5e39f0b60013 28 speech[0] = rx;
udareaniket 0:5e39f0b60013 29
udareaniket 0:5e39f0b60013 30 //do respective task from code received by bluetooth
udareaniket 0:5e39f0b60013 31 if(strstr(speech,"1")!=NULL) {
udareaniket 0:5e39f0b60013 32 light = 0;
udareaniket 0:5e39f0b60013 33 }
udareaniket 0:5e39f0b60013 34 if(strstr(speech,"2")!=NULL) {
udareaniket 0:5e39f0b60013 35 light = 1;
udareaniket 0:5e39f0b60013 36 }
udareaniket 0:5e39f0b60013 37 if(strstr(speech,"3")!=NULL) {
udareaniket 0:5e39f0b60013 38 light = !light;
udareaniket 0:5e39f0b60013 39 }
udareaniket 0:5e39f0b60013 40 if(strstr(speech,"4")!=NULL) {
udareaniket 0:5e39f0b60013 41 ac = 0;
udareaniket 0:5e39f0b60013 42 }
udareaniket 0:5e39f0b60013 43 if(strstr(speech,"5")!=NULL) {
udareaniket 0:5e39f0b60013 44 ac = 1;
udareaniket 0:5e39f0b60013 45 }
udareaniket 0:5e39f0b60013 46 if(strstr(speech,"6")!=NULL) {
udareaniket 0:5e39f0b60013 47 ac = !ac;
udareaniket 0:5e39f0b60013 48 }
udareaniket 0:5e39f0b60013 49 if(strstr(speech,"7")!=NULL) {
udareaniket 0:5e39f0b60013 50 tv = 0;
udareaniket 0:5e39f0b60013 51 // d9 = !d9;
udareaniket 0:5e39f0b60013 52 }
udareaniket 0:5e39f0b60013 53 if(strstr(speech,"8")!=NULL) {
udareaniket 0:5e39f0b60013 54 tv = 1;
udareaniket 0:5e39f0b60013 55 }
udareaniket 0:5e39f0b60013 56 if(strstr(speech,"9")!=NULL) {
udareaniket 0:5e39f0b60013 57 tv = !tv;
udareaniket 0:5e39f0b60013 58 }
udareaniket 0:5e39f0b60013 59 if(strstr(speech,"a")!=NULL) {
udareaniket 0:5e39f0b60013 60 ac = 0;
udareaniket 0:5e39f0b60013 61 light = 0;
udareaniket 0:5e39f0b60013 62 tv = 0;
udareaniket 0:5e39f0b60013 63 open_curtain = 1;
udareaniket 0:5e39f0b60013 64 }
udareaniket 0:5e39f0b60013 65 if(strstr(speech,"b")!=NULL) {
udareaniket 0:5e39f0b60013 66 ac = 1;
udareaniket 0:5e39f0b60013 67 light = 1;
udareaniket 0:5e39f0b60013 68 tv = 1;
udareaniket 0:5e39f0b60013 69 open_curtain = 0;
udareaniket 0:5e39f0b60013 70 }
udareaniket 0:5e39f0b60013 71 if(strstr(speech,"c")!=NULL) {
udareaniket 0:5e39f0b60013 72 ac = !ac;
udareaniket 0:5e39f0b60013 73 light = !light;
udareaniket 0:5e39f0b60013 74 tv = !tv;
udareaniket 0:5e39f0b60013 75 open_curtain = !open_curtain;
udareaniket 0:5e39f0b60013 76 }
udareaniket 0:5e39f0b60013 77 if(strstr(speech,"d")!=NULL) {
udareaniket 0:5e39f0b60013 78 printf("open curtain");
udareaniket 0:5e39f0b60013 79 close_curtain = 0;
udareaniket 0:5e39f0b60013 80 open_curtain = 1;
udareaniket 0:5e39f0b60013 81 wait_ms(10000);
udareaniket 0:5e39f0b60013 82 open_curtain =0;
udareaniket 0:5e39f0b60013 83 curtain_pos = 1;
udareaniket 0:5e39f0b60013 84 }
udareaniket 0:5e39f0b60013 85 if(strstr(speech,"e")!=NULL) {
udareaniket 0:5e39f0b60013 86 close_curtain = 0;
udareaniket 0:5e39f0b60013 87 open_curtain = 1;
udareaniket 0:5e39f0b60013 88 wait_ms(5000);
udareaniket 0:5e39f0b60013 89 open_curtain =0;
udareaniket 0:5e39f0b60013 90 curtain_pos = 2;
udareaniket 0:5e39f0b60013 91 }
udareaniket 0:5e39f0b60013 92 if(strstr(speech,"f")!=NULL) {
udareaniket 0:5e39f0b60013 93 open_curtain = 0;
udareaniket 0:5e39f0b60013 94 close_curtain = 1;
udareaniket 0:5e39f0b60013 95 if(curtain_pos ==1)wait_ms(10000);
udareaniket 0:5e39f0b60013 96 else if(curtain_pos ==2)wait_ms(5000);
udareaniket 0:5e39f0b60013 97 close_curtain =0;
udareaniket 0:5e39f0b60013 98 }
udareaniket 0:5e39f0b60013 99 }
udareaniket 0:5e39f0b60013 100 }
udareaniket 0:5e39f0b60013 101 }