├── .gitattributes └── Code_for_NFC_Automation └── Code_for_NFC_Automation.ino /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Code_for_NFC_Automation/Code_for_NFC_Automation.ino: -------------------------------------------------------------------------------- 1 | /************************************************************* 2 | This is the code for the project called 3 | 4 | Internt,W/O Internet & Manual Home Automation project using Blynk IOT Platform 5 | Here is the full tutorial video of this project 6 | https://youtu.be/dHuqD-EaL-U 7 | 8 | 9 | Subscriber to techiesms YouTube channel for more such amazing and unique 10 | electronic project tutorials 11 | https://www.youtube.com/techiesms 12 | 13 | This code is provided open only for fair use like projects and education purpose only 14 | Any one using this code or any material for the purpose other then fair use 15 | will be considered as breaking the rules of open source material 16 | and will be taken necesasary actions against them. 17 | 18 | #techiesms 19 | explore | learn | share 20 | *************************************************************/ 21 | #include 22 | #include 23 | #include 24 | BlynkTimer timer; 25 | 26 | 27 | #define DEBUG_SW 1 28 | 29 | 30 | #define S1 32 31 | #define R1 15 32 | 33 | #define S2 35 34 | #define R2 2 35 | 36 | #define S3 34 37 | #define R3 4 38 | 39 | #define S4 39 40 | #define R4 22 41 | 42 | 43 | #define LED1 26 44 | #define LED2 25 45 | #define LED3 27 46 | #define Buzzer 21 47 | 48 | 49 | 50 | int MODE = 0; 51 | 52 | 53 | // Your WiFi credentials. 54 | // Set password to "" for open networks. 55 | char ssid[] = "SSID"; 56 | char pass[] = "PASS"; 57 | 58 | // You should get Auth Token in the Blynk App. 59 | // Go to the Project Settings (nut icon). 60 | char auth[] = "AUTH_TOKEN"; 61 | 62 | 63 | int switch_ON_Flag1_previous_I = 0; 64 | int switch_ON_Flag2_previous_I = 0; 65 | int switch_ON_Flag3_previous_I = 0; 66 | int switch_ON_Flag4_previous_I = 0; 67 | 68 | 69 | BLYNK_WRITE(V1) 70 | { 71 | int pinValue = param.asInt(); // assigning incoming value from pin V1 to a variable 72 | digitalWrite(R1, pinValue); 73 | // process received value 74 | } 75 | 76 | BLYNK_WRITE(V2) 77 | { 78 | int pinValue = param.asInt(); // assigning incoming value from pin V2 to a variable 79 | digitalWrite(R2, pinValue); 80 | // process received value 81 | } 82 | 83 | BLYNK_WRITE(V3) 84 | { 85 | int pinValue = param.asInt(); // assigning incoming value from pin V3 to a variable 86 | digitalWrite(R3, pinValue); 87 | // process received value 88 | } 89 | 90 | BLYNK_WRITE(V4) 91 | { 92 | int pinValue = param.asInt(); // assigning incoming value from pin V4 to a variable 93 | digitalWrite(R4, pinValue); 94 | // process received value 95 | } 96 | 97 | BLYNK_WRITE(V5) 98 | { 99 | int pinValue = param.asInt(); // assigning incoming value from pin V4 to a variable 100 | Serial.print("V5 - "); Serial.println(pinValue); 101 | switch (pinValue) { 102 | case 1: // Shooting Mode 103 | digitalWrite(R1, HIGH); // TubeLights Off 104 | digitalWrite(R2, LOW); // Studio Lights On 105 | digitalWrite(R3, HIGH); // Speakers Off 106 | digitalWrite(R4, HIGH); // Alexa Off 107 | break; 108 | case 2: // Editing Mode 109 | digitalWrite(R1, LOW); // Tubelight On 110 | digitalWrite(R2, HIGH); // Studio Lights Off 111 | digitalWrite(R3, LOW); // Speakers On 112 | digitalWrite(R4, LOW); // Alexa On 113 | break; 114 | default: 115 | break; 116 | } 117 | //digitalWrite(R4, pinValue); 118 | // process received value 119 | } 120 | 121 | void with_internet() 122 | { 123 | if (digitalRead(S1) == LOW) 124 | { 125 | if (switch_ON_Flag1_previous_I == 0 ) 126 | { 127 | digitalWrite(R1, LOW); 128 | /// if (DEBUG_SW) Serial.println("Relay1- ON"); 129 | Blynk.virtualWrite(V1, 0); 130 | switch_ON_Flag1_previous_I = 1; 131 | } 132 | // if (DEBUG_SW) Serial.println("Switch1 -ON"); 133 | 134 | } 135 | if (digitalRead(S1) == HIGH ) 136 | { 137 | if (switch_ON_Flag1_previous_I == 1) 138 | { 139 | digitalWrite(R1, HIGH); 140 | // if (DEBUG_SW) Serial.println("Relay1 OFF"); 141 | Blynk.virtualWrite(V1, 1); 142 | switch_ON_Flag1_previous_I = 0; 143 | } 144 | // if (DEBUG_SW)Serial.println("Switch1 OFF"); 145 | } 146 | 147 | 148 | if (digitalRead(S2) == LOW) 149 | { 150 | if (switch_ON_Flag2_previous_I == 0 ) 151 | { 152 | digitalWrite(R2, LOW); 153 | // if (DEBUG_SW) Serial.println("Relay2- ON"); 154 | Blynk.virtualWrite(V2, 0); 155 | switch_ON_Flag2_previous_I = 1; 156 | } 157 | // if (DEBUG_SW) Serial.println("Switch2 -ON"); 158 | 159 | } 160 | if (digitalRead(S2) == HIGH ) 161 | { 162 | if (switch_ON_Flag2_previous_I == 1) 163 | { 164 | digitalWrite(R2, HIGH); 165 | // if (DEBUG_SW) Serial.println("Relay2 OFF"); 166 | Blynk.virtualWrite(V2, 1); 167 | switch_ON_Flag2_previous_I = 0; 168 | } 169 | // if (DEBUG_SW)Serial.println("Switch2 OFF"); 170 | //delay(200); 171 | } 172 | 173 | if (digitalRead(S3) == LOW) 174 | { 175 | if (switch_ON_Flag3_previous_I == 0 ) 176 | { 177 | digitalWrite(R3, LOW); 178 | // if (DEBUG_SW) Serial.println("Relay3- ON"); 179 | Blynk.virtualWrite(V3, 0); 180 | switch_ON_Flag3_previous_I = 1; 181 | } 182 | // if (DEBUG_SW) Serial.println("Switch3 -ON"); 183 | 184 | } 185 | if (digitalRead(S3) == HIGH ) 186 | { 187 | if (switch_ON_Flag3_previous_I == 1) 188 | { 189 | digitalWrite(R3, HIGH); 190 | // if (DEBUG_SW) Serial.println("Relay3 OFF"); 191 | Blynk.virtualWrite(V3, 1); 192 | switch_ON_Flag3_previous_I = 0; 193 | } 194 | // if (DEBUG_SW)Serial.println("Switch3 OFF"); 195 | //delay(200); 196 | } 197 | 198 | if (digitalRead(S4) == LOW) 199 | { 200 | if (switch_ON_Flag4_previous_I == 0 ) 201 | { 202 | digitalWrite(R4, LOW); 203 | // if (DEBUG_SW) Serial.println("Relay4- ON"); 204 | Blynk.virtualWrite(V4, 0); 205 | switch_ON_Flag4_previous_I = 1; 206 | } 207 | //if (DEBUG_SW) Serial.println("Switch4 -ON"); 208 | 209 | } 210 | if (digitalRead(S4) == HIGH ) 211 | { 212 | if (switch_ON_Flag4_previous_I == 1) 213 | { 214 | digitalWrite(R4, HIGH); 215 | if (DEBUG_SW) Serial.println("Relay4 OFF"); 216 | Blynk.virtualWrite(V4, 1); 217 | switch_ON_Flag4_previous_I = 0; 218 | } 219 | //if (DEBUG_SW)Serial.println("Switch4 OFF"); 220 | //delay(200); 221 | } 222 | 223 | 224 | 225 | } 226 | 227 | void without_internet() 228 | { 229 | 230 | digitalWrite(R1, digitalRead(S1)); 231 | digitalWrite(R2, digitalRead(S2)); 232 | digitalWrite(R3, digitalRead(S3)); 233 | digitalWrite(R4, digitalRead(S4)); 234 | 235 | } 236 | 237 | 238 | void checkBlynk() { // called every 3 seconds by SimpleTimer 239 | 240 | bool isconnected = Blynk.connected(); 241 | if (isconnected == false) { 242 | MODE = 1; 243 | digitalWrite(LED1, HIGH); 244 | digitalWrite(LED2, LOW); 245 | digitalWrite(LED3, LOW); 246 | } 247 | if (isconnected == true) { 248 | MODE = 0; 249 | digitalWrite(LED1, HIGH); 250 | digitalWrite(LED2, HIGH); 251 | digitalWrite(LED3, HIGH); 252 | } 253 | } 254 | 255 | void setup() 256 | { 257 | // Debug console 258 | if (DEBUG_SW) Serial.begin(9600); 259 | pinMode(S1, INPUT); 260 | pinMode(R1, OUTPUT); 261 | 262 | pinMode(S2, INPUT); 263 | pinMode(R2, OUTPUT); 264 | 265 | pinMode(S3, INPUT); 266 | pinMode(R3, OUTPUT); 267 | 268 | pinMode(S4, INPUT); 269 | pinMode(R4, OUTPUT); 270 | 271 | 272 | pinMode(LED1, OUTPUT); 273 | pinMode(LED2, OUTPUT); 274 | pinMode(LED3, OUTPUT); 275 | pinMode(Buzzer, OUTPUT); 276 | 277 | digitalWrite(LED1, HIGH); 278 | delay(200); 279 | digitalWrite(LED2, HIGH); 280 | delay(200); 281 | digitalWrite(LED3, HIGH); 282 | delay(200); 283 | 284 | digitalWrite(LED1, LOW); 285 | digitalWrite(LED2, LOW); 286 | digitalWrite(LED3, LOW); 287 | delay(500); 288 | 289 | digitalWrite(LED1, HIGH); 290 | delay(200); 291 | digitalWrite(LED2, HIGH); 292 | delay(200); 293 | digitalWrite(LED3, HIGH); 294 | delay(200); 295 | 296 | digitalWrite(LED1, LOW); 297 | digitalWrite(LED2, LOW); 298 | digitalWrite(LED3, LOW); 299 | //pinMode(MODE, INPUT); 300 | WiFi.begin(ssid, pass); 301 | timer.setInterval(3000L, checkBlynk); // check if connected to Blynk server every 3 seconds 302 | Blynk.config(auth);//, ssid, pass); 303 | 304 | } 305 | 306 | void loop() 307 | { 308 | if (WiFi.status() != WL_CONNECTED) 309 | { 310 | //if (DEBUG_SW) Serial.println("Not Connected"); 311 | } 312 | else 313 | { 314 | //if (DEBUG_SW) Serial.println(" Connected"); 315 | Blynk.run(); 316 | } 317 | 318 | timer.run(); // Initiates SimpleTimer 319 | if (MODE == 0) 320 | with_internet(); 321 | else 322 | without_internet(); 323 | } 324 | --------------------------------------------------------------------------------