Hi,
Im writting simple code for my project and I have problems with "delay" that is no happening in two situations.
I wrote:
.
.
.
if (digitalRead(stop1)==LOW) // working ok
{
digitalWrite(speed1, LOW); // working ok
digitalWrite(speed2, LOW); // working ok
digitalWrite(speed3, LOW); // working ok
digitalWrite(lock1, HIGH); // working ok
delay(1000); // NOT working
digitalWrite(lock1, LOW); // NOT working
}
.
.
.
if (digitalRead(start2)==HIGH) // working ok
{
digitalWrite(down2, LOW); // working ok
digitalWrite(lock2, HIGH); // working ok
delay(1000); // NOT working
digitalWrite(lock2, LOW); // NOT working
}
and "lock1" and "lock2" get HIGH but it stays HIGH, even if it is "delay# for 1 sec and then it should get LOW.
What I did wrong?
Complete code:
// *ELEVATOR PROJECT* //
const int start1 = 2;
const int start2 = 3;
const int stop1 = 4;
const int down1 = 5;
const int door1 = 6;
const int door2 = 7;
const int down2 = 8;
const int speed1 = 9;
const int speed2 = 10;
const int speed3 = 11;
const int lock1 = 12;
const int lock2 = 13;
void setup()
{
pinMode(start1, INPUT);
pinMode(start2, INPUT);
pinMode(stop1, INPUT);
pinMode(door1, INPUT);
pinMode(door2, INPUT);
pinMode(down1, INPUT);
pinMode(speed1, OUTPUT);
pinMode(speed2, OUTPUT);
pinMode(speed3, OUTPUT);
pinMode(down2, OUTPUT);
pinMode(lock1, OUTPUT);
pinMode(lock2, OUTPUT);
}
void loop()
{
// LIFTING //
if (digitalRead(start1)==HIGH) // Push button to start Lifting
if (digitalRead(start2)==HIGH)
if (digitalRead(stop1)==HIGH)
if (digitalRead(door1)==HIGH)
if (digitalRead(door2)==HIGH)
if (digitalRead(down1)==LOW)
{
digitalWrite(speed1, HIGH);
delay(1000);
digitalWrite(speed1, LOW);
digitalWrite(speed2, HIGH);
delay(1000);
digitalWrite(speed2, LOW);
digitalWrite(speed3, HIGH);
}
if (digitalRead(stop1)==LOW)
{
digitalWrite(speed1, LOW);
digitalWrite(speed2, LOW);
digitalWrite(speed3, LOW);
digitalWrite(lock1, HIGH);
delay(1000);
digitalWrite(lock1, LOW);
}
// LOWERING //
if (digitalRead(down1)==HIGH) // Push button to start Lowering
if (digitalRead(start1)==LOW)
if (digitalRead(start2)==LOW)
if (digitalRead(stop1)==LOW)
if (digitalRead(door1)==HIGH)
if (digitalRead(door2)==HIGH)
{
digitalWrite(down2, HIGH);
}
if (digitalRead(start2)==HIGH)
{
digitalWrite(down2, LOW);
digitalWrite(lock2, HIGH);
delay(1000);
digitalWrite(lock2, LOW);
}
}