Hi,
I am having some issues with my code,
Thing is, it does what it has to do but not what I expected... I'm a beginner trying things out.
Issue: When i activate sensor one (PIR) it takes the entire cycle of lights lighting up and then turning off until another sensor can re-trigger the light going up or down...
Here is my code part of which is what is on here.
int calibrationTime = 30;
//the time when the sensor outputs a low impulse
long unsigned int lowIn;
//the amount of milliseconds the sensor has to be low
//before we assume all motion has stopped
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int ledPin1 = 22;
int ledPin2 = 24;
int ledPin3 = 26;
int ledPin4 = 28;
int ledPin5 = 30;
int ledPin6 = 32;
int ledPin7 = 34;
int ledPin8 = 36;
int ledPin9 = 38;
int ledPin10 = 40;
int ledPin11 = 42;
int ledPin12 = 44;
int ledPin13 = 46;
int ledPin14 = 48;
int pirPin1 = 50;
int pirPin2 = 52;
void setup() {
Serial.begin(9600);
Serial.print("calibrating sensors ");
for(int i = 0; i < calibrationTime; i++){
Serial.print(".");
delay(1000);
}
Serial.println(" done");
Serial.println("SENSOR ACTIVE");
delay(50);
pinMode(pirPin1, INPUT);
pinMode(pirPin2, INPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin10, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin13, OUTPUT);
pinMode(ledPin14, OUTPUT);
digitalWrite(pirPin1, LOW);
digitalWrite(pirPin2, LOW);
}
void loop(){
if(digitalRead(pirPin1) == HIGH){
digitalWrite(ledPin1, HIGH);
delay (500);
digitalWrite(ledPin2, HIGH);
delay (500);
digitalWrite(ledPin3, HIGH);
delay (500);
digitalWrite(ledPin4, HIGH);
delay (500);
digitalWrite(ledPin5, HIGH);
delay (500);
digitalWrite(ledPin6, HIGH);
delay (500);
digitalWrite(ledPin7, HIGH);
delay (500);
digitalWrite(ledPin8, HIGH);
delay (500);
digitalWrite(ledPin9, HIGH);
delay (500);
digitalWrite(ledPin10, HIGH);
delay (500);
digitalWrite(ledPin11, HIGH);
delay (500);
digitalWrite(ledPin12, HIGH);
delay (500);
digitalWrite(ledPin13, HIGH);
delay (500);
digitalWrite(ledPin14, HIGH);
delay (500);
}
if(digitalRead(pirPin1) == LOW){
digitalWrite(ledPin1, LOW);
delay (500);
digitalWrite(ledPin2, LOW);
delay (500);
digitalWrite(ledPin3, LOW);
delay (500);
digitalWrite(ledPin4, LOW);
delay (500);
digitalWrite(ledPin5, LOW);
delay (500);
digitalWrite(ledPin6, LOW);
delay (500);
digitalWrite(ledPin7, LOW);
delay (500);
digitalWrite(ledPin8, LOW);
delay (500);
digitalWrite(ledPin9, LOW);
delay (500);
digitalWrite(ledPin10, LOW);
delay (500);
digitalWrite(ledPin11, LOW);
delay (500);
digitalWrite(ledPin12, LOW);
delay (500);
digitalWrite(ledPin13, LOW);
delay (500);
digitalWrite(ledPin14, LOW);
delay (500);
}}
I don't really have an option here but to take the lights activating in another loop.
If anybody would have an idea here would be nice to look at it.