Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned long limit = 5000; // 5 Seconds = 5 * 1000 = 5000
- //unsigned long limit = 60000; // 1 Minute = 1 * 60 * 1000 = 60000
- //unsigned long limit = 300000; // 5 Minutes = 5 * 60 * 1000 = 300000
- #define ledPin 13
- #define cameraPin 12
- #define sensorPin 2
- bool sensorState;
- bool startState = LOW;
- bool resetState = LOW;
- bool flag = LOW;
- bool photo_flag = LOW;
- unsigned long startMillis;
- unsigned long currentMillis;
- unsigned long elapsedMillis;
- void setup() {
- pinMode(sensorPin, INPUT);
- pinMode(cameraPin, OUTPUT);
- pinMode(ledPin, OUTPUT);
- digitalWrite(cameraPin, LOW);
- digitalWrite(ledPin, LOW);
- delay(500);
- Serial.begin(9600);
- Serial.println("Starting...");
- }
- void loop() {
- sensorState = !digitalRead(sensorPin);
- Serial.println(sensorState);
- if ((sensorState == 1) && (flag == 0)) {
- Serial.println("Timer Started");
- startMillis = millis();
- startState = 1;
- flag = 1;
- }
- else if ((sensorState == 0) && (flag == 1)) {
- Serial.println("Timer Stoped");
- startState = 0;
- flag = 0;
- photo_flag = 0;
- digitalWrite(ledPin, LOW);
- }
- if (startState == 1)
- {
- currentMillis = millis();
- elapsedMillis = (currentMillis - startMillis);
- Serial.print("elapsedMillis: ");
- Serial.print(elapsedMillis);
- Serial.println("");
- if ((elapsedMillis > limit) && (photo_flag == 0)) {
- Serial.println("Photo Taken");
- //take Photo to cloud storage
- digitalWrite(cameraPin, HIGH);
- delay(500);
- digitalWrite(cameraPin, LOW);
- digitalWrite(ledPin, HIGH);
- photo_flag = 1;
- delay(1000);
- }
- unsigned long durMS = (elapsedMillis % 1000); //Milliseconds
- unsigned long durSS = (elapsedMillis / 1000) % 60; //Seconds
- unsigned long durMM = (elapsedMillis / (60000)) % 60; //Minutes
- unsigned long durHH = (elapsedMillis / (3600000)); //Hours
- durHH = durHH % 24;
- Serial.print("Time: ");
- Serial.print(durHH);
- Serial.print(" : ");
- Serial.print(durMM);
- Serial.print(" : ");
- Serial.print(durSS);
- Serial.print(" : ");
- Serial.print(durMS);
- Serial.println("");
- Serial.println("******************************");
- Serial.println("");
- delay(150);
- }
- }// end of loop
Advertisement
Add Comment
Please, Sign In to add comment