Back to the drawing board. I have made the changes to the pins and called the long 2 minute wait "ARMED".
Uploaded the code and all is does is flash the 2 LEDs every second. If I activate the input, it turns the SHUTTER output LOW and holds the CAMERA input high for a second.
I don't know what is wrong or how to fix it
const int CAMERA = 3;
const int SHUTTER = 4;
const int IN = 2;
unsigned long interval = 1000;
unsigned long ARMED= 120000;
unsigned long previousMillis = 0;
int val = 0;
void setup()
{
pinMode(CAMERA, OUTPUT);
pinMode(SHUTTER, OUTPUT);
pinMode(IN, INPUT);
}
void loop()
{
val = digitalRead(IN);
if (val == 0)
{
digitalWrite(SHUTTER, LOW);
digitalWrite(CAMERA, HIGH);
unsigned long currentMillis = millis();
if ((unsigned long)(currentMillis - previousMillis) >= ARMED)
digitalWrite(CAMERA, LOW);
delay(1000);
previousMillis = millis();
}
else
val = digitalRead(IN);
if (val == 1)
{
{
digitalWrite(CAMERA, HIGH);
digitalWrite(SHUTTER, HIGH);
delay(100);
digitalWrite(SHUTTER, LOW);
digitalWrite(CAMERA, LOW);
delay(1000);
}
}
}