1int Light = 5;
2int PIRpower = 13;
3int PIR = 12;
4int PIRState = LOW;
5int LDR = 2;
6int LDRpower = 3;
7int LDRState = LOW;
8
9void Night()
10{
11 digitalWrite(PIRpower, HIGH);
12 delay(2000);
13 Serial.println("A. PIR sensor ON, detecting motion");
14 delay(3000);
15 PIRState = digitalRead(PIR);
16 delay(500);
17 Serial.println("B. Motion sensor read, switching PIR OFF");
18 digitalWrite(PIRpower, LOW);
19 delay(500);
20 if (PIRState == HIGH){
21 Serial.println(">>>>>>>>>> MOTION DETECTED");
22 delay(500);
23 Serial.println("I. switching Light ON");
24 delay(500);
25 digitalWrite(Light, HIGH);
26 Serial.println("II. Light 100%");
27 delay(15000);
28 analogWrite(Light, 175);
29 Serial.println("II. Light 70%");
30 delay(15000);
31 analogWrite(Light, 100);
32 Serial.println("II. Light 40%");
33 delay(15000);
34 analogWrite(Light, 50);
35 Serial.println("II. Light 20%");
36 delay(500);
37 Serial.println(".......... Wait 5 seconds..........");
38 delay(1000);
39 }else {
40 Serial.println(">>>>>>>>>> MOTION NOT DETECTED");
41 delay(500);
42 Serial.println(".......... Wait 10 seconds..........");
43 delay(10000);
44 }
45}
46
47void setup() {
48 pinMode(Light, OUTPUT);
49 pinMode(PIRpower, OUTPUT);
50 pinMode(LDRpower, OUTPUT);
51 pinMode(LDR, INPUT);
52 pinMode(PIR, INPUT);
53 digitalWrite(PIRpower, LOW);
54 digitalWrite(LDRpower, LOW);
55 Serial.begin(9600);
56}
57
58void loop(){
59 Serial.println(".......... START..........");
60 digitalWrite(LDRpower, HIGH);
61 Serial.println("1. LDRpower ON, reading LDR sensor");
62 delay(3000);
63 LDRState = digitalRead(LDR);
64 delay(500);
65 Serial.println("2. LDR status read, turning LDRpower OFF");
66 delay(500);
67 Serial.println("3. LDRpower OFF");
68 digitalWrite(LDRpower, LOW);
69 delay(500);
70 if (LDRState == HIGH){
71 Serial.println(">>>>>>>>>> DARKNESS DETECTED");
72 delay(500);
73 Serial.println("Switch ON Light 20%");
74 analogWrite(Light, 50);
75 Night();
76 Serial.println(".......... Restarting..........");
77 } else{
78 Serial.println(">>>>>>>>>> BRIGHTNESS DETECTED");
79 delay(500);
80 digitalWrite(Light, LOW);
81 Serial.println(".......... Waiting 5mins..........");
82 delay(60000);
83 Serial.println(".......... Waiting 4mins..........");
84 delay(60000);
85 Serial.println(".......... Waiting 3mins..........");
86 delay(60000);
87 Serial.println(".......... Waiting 2mins..........");
88 delay(60000);
89 Serial.println(".......... Waiting 1mins..........");
90 delay(60000);
91 Serial.println(".......... Restarting..........");
92 }
93}
94