Home Automation Device
Home Automation Device using GSM Module
Components and supplies
1
Jumper wires (generic)
1
Relay Module (Generic)
1
Hologram Global IoT SIM Card
1
Single Turn Potentiometer- 10k ohms
1
Android device
1
12v 1 amp DC Adapter
1
GSM SIM 900
1
Arduino Nano R3
1
Resistor 330 ohm
1
Alphanumeric LCD, 16 x 2
Tools and machines
1
Hot glue gun (generic)
Apps and platforms
1
Arduino IDE
Project description
Code
Code
arduino
1// https://www.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g // 2// 3 Home Automation Device using GSM Module // 4// By MOHD SOHAIL // 5 6 7#include<LiquidCrystal.h> 8LiquidCrystal 9 lcd(A0,A1,A2,A3,A4,A5); 10#define Fan 3 11#define Light 4 12#define TV 5 13 14int 15 temp=0,i=0; 16int led=13; 17char str[15]; 18void setup() 19{ 20 lcd.begin(16,2); 21 22 Serial.begin(9600); 23 pinMode(led, OUTPUT); 24 pinMode(Fan, OUTPUT); 25 26 pinMode(Light, OUTPUT); 27 pinMode(TV, OUTPUT); 28 29 lcd.setCursor(0,0); 30 31 lcd.print(" GSM Based "); 32 lcd.setCursor(0,1); 33 lcd.print("Home Automation"); 34 35 delay(2000); 36 lcd.clear(); 37 lcd.print(" EIF - SOHAIL "); 38 delay(1000); 39 40 lcd.setCursor(0,1); 41 lcd.print("System Ready"); 42 Serial.println("AT+CNMI=2,2,0,0,0"); 43 // Auto opened message Receiving. 44 delay(500); 45 Serial.println("AT+CMGF=1"); 46 //Selecting Text mode 47 delay(1000); 48 lcd.clear(); 49 lcd.setCursor(0,0); 50 51 lcd.print("Fan Light TV "); 52 lcd.setCursor(0,1); 53 lcd.print("OFF 54 OFF OFF "); 55} 56void loop() 57{ 58 lcd.setCursor(0,0); 59 lcd.print("Fan 60 Light TV"); 61 serialEvent(); 62 if(temp==1) 63 { 64 check(); 65 66 temp=0; 67 i=0; 68 delay(1000); 69 } 70} 71 void serialEvent() 72 73 { 74 while(Serial.available()) 75 { 76 if(Serial.find("#S.")) 77 { 78 79 digitalWrite(led, HIGH); 80 delay(1000); 81 digitalWrite(led, 82 LOW); 83 while (Serial.available()) 84 { 85 char inChar=Serial.read(); 86 87 str[i++]=inChar; 88 if(inChar=='*') 89 { 90 temp=1; 91 92 return; 93 } 94 } 95 } 96 } 97 } 98void check() 99{ 100 101 if(!(strncmp(str,"tv on",5))) 102 { 103 digitalWrite(TV, HIGH); 104 105 lcd.setCursor(13,1); 106 lcd.print("ON "); 107 delay(200); 108 109 } 110 111 else if(!(strncmp(str,"tv off",6))) 112 { 113 digitalWrite(TV, 114 LOW); 115 lcd.setCursor(13,1); 116 lcd.print("OFF "); 117 delay(200); 118 119 } 120 121 else if(!(strncmp(str,"fan on",5))) 122 { 123 digitalWrite(Fan, 124 HIGH); 125 lcd.setCursor(0,1); 126 lcd.print("ON "); 127 delay(200); 128 129 } 130 131 else if(!(strncmp(str,"fan off",7))) 132 { 133 digitalWrite(Fan, 134 LOW); 135 lcd.setCursor(0,1); 136 lcd.print("OFF "); 137 delay(200); 138 139 } 140 141 else if(!(strncmp(str,"light on",8))) 142 { 143 digitalWrite(Light, 144 HIGH); 145 lcd.setCursor(7,1); 146 lcd.print("ON "); 147 delay(200); 148 149 } 150 151 else if(!(strncmp(str,"light off",9))) 152 { 153 digitalWrite(Light, 154 LOW); 155 lcd.setCursor(7,1); 156 lcd.print("OFF "); 157 delay(200); 158 159 } 160 161 else if(!(strncmp(str,"all on",6))) 162 { 163 digitalWrite(Light, 164 HIGH); 165 digitalWrite(Fan, HIGH); 166 digitalWrite(TV, HIGH); 167 lcd.setCursor(0,1); 168 169 lcd.print("ON ON ON "); 170 delay(200); 171 } 172 173 174 else if(!(strncmp(str,"all off",7))) 175 { 176 digitalWrite(Light, 177 LOW); 178 digitalWrite(Fan, LOW); 179 digitalWrite(TV, LOW); 180 lcd.setCursor(0,1); 181 182 lcd.print("OFF OFF OFF "); 183 delay(200); 184 } 185 } 186
Code
arduino
1// https://www.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g // 2// Home Automation Device using GSM Module // 3// By MOHD SOHAIL // 4 5 6#include<LiquidCrystal.h> 7LiquidCrystal lcd(A0,A1,A2,A3,A4,A5); 8#define Fan 3 9#define Light 4 10#define TV 5 11 12int temp=0,i=0; 13int led=13; 14char str[15]; 15void setup() 16{ 17 lcd.begin(16,2); 18 Serial.begin(9600); 19 pinMode(led, OUTPUT); 20 pinMode(Fan, OUTPUT); 21 pinMode(Light, OUTPUT); 22 pinMode(TV, OUTPUT); 23 24 lcd.setCursor(0,0); 25 lcd.print(" GSM Based "); 26 lcd.setCursor(0,1); 27 lcd.print("Home Automation"); 28 delay(2000); 29 lcd.clear(); 30 lcd.print(" EIF - SOHAIL "); 31 delay(1000); 32 lcd.setCursor(0,1); 33 lcd.print("System Ready"); 34 Serial.println("AT+CNMI=2,2,0,0,0"); // Auto opened message Receiving. 35 delay(500); 36 Serial.println("AT+CMGF=1"); //Selecting Text mode 37 delay(1000); 38 lcd.clear(); 39 lcd.setCursor(0,0); 40 lcd.print("Fan Light TV "); 41 lcd.setCursor(0,1); 42 lcd.print("OFF OFF OFF "); 43} 44void loop() 45{ 46 lcd.setCursor(0,0); 47 lcd.print("Fan Light TV"); 48 serialEvent(); 49 if(temp==1) 50 { 51 check(); 52 temp=0; 53 i=0; 54 delay(1000); 55 } 56} 57 void serialEvent() 58 { 59 while(Serial.available()) 60 { 61 if(Serial.find("#S.")) 62 { 63 digitalWrite(led, HIGH); 64 delay(1000); 65 digitalWrite(led, LOW); 66 while (Serial.available()) 67 { 68 char inChar=Serial.read(); 69 str[i++]=inChar; 70 if(inChar=='*') 71 { 72 temp=1; 73 return; 74 } 75 } 76 } 77 } 78 } 79void check() 80{ 81 if(!(strncmp(str,"tv on",5))) 82 { 83 digitalWrite(TV, HIGH); 84 lcd.setCursor(13,1); 85 lcd.print("ON "); 86 delay(200); 87 } 88 89 else if(!(strncmp(str,"tv off",6))) 90 { 91 digitalWrite(TV, LOW); 92 lcd.setCursor(13,1); 93 lcd.print("OFF "); 94 delay(200); 95 } 96 97 else if(!(strncmp(str,"fan on",5))) 98 { 99 digitalWrite(Fan, HIGH); 100 lcd.setCursor(0,1); 101 lcd.print("ON "); 102 delay(200); 103 } 104 105 else if(!(strncmp(str,"fan off",7))) 106 { 107 digitalWrite(Fan, LOW); 108 lcd.setCursor(0,1); 109 lcd.print("OFF "); 110 delay(200); 111 } 112 113 else if(!(strncmp(str,"light on",8))) 114 { 115 digitalWrite(Light, HIGH); 116 lcd.setCursor(7,1); 117 lcd.print("ON "); 118 delay(200); 119 } 120 121 else if(!(strncmp(str,"light off",9))) 122 { 123 digitalWrite(Light, LOW); 124 lcd.setCursor(7,1); 125 lcd.print("OFF "); 126 delay(200); 127 } 128 129 else if(!(strncmp(str,"all on",6))) 130 { 131 digitalWrite(Light, HIGH); 132 digitalWrite(Fan, HIGH); 133 digitalWrite(TV, HIGH); 134 lcd.setCursor(0,1); 135 lcd.print("ON ON ON "); 136 delay(200); 137 } 138 139 else if(!(strncmp(str,"all off",7))) 140 { 141 digitalWrite(Light, LOW); 142 digitalWrite(Fan, LOW); 143 digitalWrite(TV, LOW); 144 lcd.setCursor(0,1); 145 lcd.print("OFF OFF OFF "); 146 delay(200); 147 } 148 } 149
Downloadable files
Operation Table
Operation Table

Operation Table
Operation Table

Circuit Diagram
Circuit Diagram

Comments
Only logged in users can leave comments