Arduino Bluetooth Controlled Solar Smart Security for Home
This project help us to get our life easier. It will detect many things and show the alert on our device which can controlled by Bluetooth
Components and supplies
1
5 mm LED: Red
1
Power Entry Connector, Tubular Connector Cable Assembly
1
Buzzer
1
Arduino UNO
1
Lead Acid Battery 6V
1
Resistor 1k ohm
1
High Brightness LED, White
1
Water Sensor
1
Solar Panel 6V
1
IR Sensor
1
Ultrasonic Sensor - HC-SR04 (Generic)
1
1N4007 – High Voltage, High Current Rated Diode
1
LDR, 5 Mohm
1
Capacitor 1000 µF
Apps and platforms
1
Bluetooth Electronics
1
Arduino IDE
Project description
Code
Code
c_cpp
1char dataIn = 'S'; 2char determinant; 3char det; 4 5int irled = 6; 6int irbuz = 9; 7int ir = 2; 8int tp = 13; 9int trig = 3; 10int echo = 4; 11long duration; 12int distance; 13int ultraled = 7; 14int ultrabuz = 11; 15int rainled = 5; 16int rainbuz = 8; 17const int ledPin = 12; 18const int ldrPin = A1; 19 20 21 22void setup() { 23 Serial.begin(9600); 24 Serial.println("Welcome"); 25 delay(500); 26 Serial.println("Starting Smart Home System"); 27 Serial.println("Made By Krishna Team"); 28 delay(2000); 29 pinMode(irled,OUTPUT); 30 pinMode(irbuz,OUTPUT); 31 pinMode(ir,INPUT); 32 pinMode(tp,OUTPUT); 33pinMode(trig, OUTPUT); 34pinMode(echo, INPUT); 35 36 37pinMode(ultrabuz,OUTPUT); 38pinMode(ultraled,OUTPUT); 39pinMode(rainled , OUTPUT); 40 pinMode(rainbuz , OUTPUT); 41 pinMode(ledPin, OUTPUT); 42 pinMode(ldrPin, INPUT); 43 44 45} 46 47void loop() { 48 digitalWrite(trig, LOW); 49 delayMicroseconds(5); 50 digitalWrite(trig, HIGH); 51 delayMicroseconds(10); 52 digitalWrite(trig, LOW); 53 54 duration = pulseIn(echo, HIGH); 55 distance = duration*0.034/2; 56 if( digitalRead( ldrPin ) == 1){ 57 digitalWrite( ledPin,HIGH); 58 } 59 else{ 60 digitalWrite( ledPin , LOW); 61 } 62 63 64 det = check(); 65 switch (det){ 66 case 'A': 67 if (digitalRead(ir)== LOW){ 68 Serial.println("Alert Ir Detects Object"); 69 digitalWrite(irled , HIGH); 70 digitalWrite(irbuz , HIGH); 71 delay(10); 72 } 73 else 74 digitalWrite(irled , LOW); 75 digitalWrite(irbuz , LOW); 76 delay(10); 77 78det = check(); 79 break; 80 81 case 'B': 82 digitalWrite(tp,LOW); 83 digitalWrite(irled , LOW); 84 digitalWrite(irbuz , LOW); 85det = check(); 86break; 87case 'C' : 88 if (digitalRead(ir)== LOW){ 89 Serial.println("Alert Ir Detects Object"); 90 digitalWrite(irled , LOW); 91 digitalWrite(irbuz , LOW); 92 delay(10); 93 } 94 else 95 digitalWrite(irled , LOW); 96 digitalWrite(irbuz , LOW); 97 delay(10); 98 99det = check(); 100break; 101case 'D' : 102 if (digitalRead(ir)== LOW){ 103 Serial.println("Alert Ir Detects Object"); 104 digitalWrite(irled , HIGH); 105 digitalWrite(irbuz , HIGH); 106 delay(10); 107 } 108 else 109 digitalWrite(irled , LOW); 110 digitalWrite(irbuz , LOW); 111 delay(10); 112 det = check(); 113break; 114 case 'E': 115 if (distance <= 75){ 116 Serial.print(distance); 117 Serial.println("cm Extreme Risk "); 118 digitalWrite(ultraled , HIGH); 119 tone(ultrabuz,900); 120 delay(900); 121 digitalWrite(ultraled , LOW); 122 noTone(ultrabuz); 123 delay(900); 124 } 125 126 else if (distance >= 76 && distance <=151){ 127 Serial.print(distance); 128 Serial.println("cm HIGH Risk"); 129digitalWrite(ultraled , HIGH); 130 tone(ultrabuz,1400); 131 delay(1400); 132 digitalWrite(ultraled , LOW); 133 noTone(ultrabuz); 134 delay(1400); 135 } 136 137 else if (distance >= 152 && distance <=227){ 138 Serial.print(distance); 139 Serial.println("cm Medium Risk"); 140 digitalWrite(ultraled , HIGH); 141 tone(ultrabuz,1500); 142 delay(2000); 143 digitalWrite(ultraled , LOW); 144 noTone(ultrabuz); 145 delay(2000); 146 } 147 148 else if (distance >= 228 && distance <=300){ 149 Serial.print(distance); 150 Serial.println("cm Low Risk"); 151 digitalWrite(ultraled , HIGH); 152 tone(ultrabuz,2000); 153 delay(3000); 154 digitalWrite(ultraled , LOW); 155 noTone(ultrabuz); 156 delay(3000); 157 } 158 else 159 digitalWrite(ultraled,LOW); 160 digitalWrite(ultrabuz,LOW); 161 162 det = check(); 163 break; 164 165 case 'F': 166 digitalWrite(ultraled,LOW); 167 digitalWrite(ultrabuz,LOW); 168 169Serial.print(""); 170 det = check(); 171 break; 172 173 case 'G': 174 if (distance <= 75){ 175 Serial.println("Extreme Risk"); 176 digitalWrite(ultraled,LOW); 177 digitalWrite(ultrabuz,LOW); 178 179 } 180 181 else if (distance >= 76 && distance <=151){ 182 Serial.println("HIGH Risk"); 183 digitalWrite(ultraled,LOW); 184 digitalWrite(ultrabuz,LOW); 185 } 186 187 else if (distance >= 152 && distance <=227){ 188 Serial.println("Medium Risk"); 189 digitalWrite(ultraled,LOW); 190 digitalWrite(ultrabuz,LOW); 191 192 } 193 194 195 else if (distance >= 228 && distance <=300){ 196 Serial.println("Low Risk"); 197 digitalWrite(ultraled,LOW); 198 digitalWrite(ultrabuz,LOW); 199 200 } 201 else 202 digitalWrite(ultraled,LOW); 203 digitalWrite(ultrabuz,LOW); 204 205 det = check(); 206 break; 207 208 case 'H': 209 int value1=analogRead(A0); 210 211 if (value1<700){ 212 Serial.println("Raining Outside"); 213 digitalWrite(rainled , HIGH); 214 tone(rainbuz,900); 215 delay(2000); 216 digitalWrite(rainled , LOW); 217 noTone(rainbuz); 218 delay(3000); 219 } 220 221 else 222 digitalWrite(rainled , LOW); 223 digitalWrite(rainbuz , LOW); 224det = check(); 225break; 226case 'I' : 227 digitalWrite(rainled , LOW); 228 digitalWrite(rainbuz , LOW); 229det = check(); 230break; 231 232 } 233} 234 235 236int check(){ 237 if (Serial.available() > 0){// if there is valid data in the serial port 238 dataIn = Serial.read();// stores data into a varialbe 239if (dataIn == 'A'){//Forward 240 determinant = 'A'; 241 } 242 else if (dataIn == 'B'){//Backward 243 determinant = 'B'; 244 } 245 else if (dataIn == 'C'){//Backward 246 determinant = 'C'; 247 } 248 else if (dataIn == 'D'){//Backward 249 determinant = 'D'; 250 } 251 else if (dataIn == 'E'){//Backward 252 determinant = 'E'; 253 } 254 else if (dataIn == 'F'){//Backward 255 determinant = 'F'; 256 } 257 else if (dataIn == 'G'){//Backward 258 determinant = 'G'; 259 } 260 else if (dataIn == 'H'){//Backward 261 determinant = 'H'; 262 } 263 else if (dataIn == 'I'){//Backward 264 determinant = 'I'; 265 } 266 else if (dataIn == 'J'){//Backward 267 determinant = 'J'; 268 } 269 else if (dataIn == 'K'){//Backward 270 determinant = 'K'; 271 } 272 } 273 return determinant; 274}
Downloadable files
Circuit Diagram
Circuit Diagram

Comments
Only logged in users can leave comments