I've kept the delays in some spots as I want it to lock on those tasks. I really don't know what to do, so I have tried this.
const int CAMERA = 0;
const int SHUTTER = 1;
const int IN = 4;
unsigned long interval = 1000;
unsigned long interval2 = 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) >= interval2)
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);
}
}
}
Not really getting anywhere. >:(