Cześć!
Parę słów wyjaśnienia na wstępie. Niestety nie jestem ani informatykiem ani elektronikiem, jestem fotografem przyrody i do tego już nie młodym Zbudowałem fotopułapkę do lustrzanki na podstawie opisu z linku poniżej na zasadzie "małpy" bezmyślnie odtwarzającej kroki wykonane przez autora:
https://www.instructables.com/id/Buildin...rap-for-W/
W wężyku spustowym Canona opartym na Jacku stereo wystarczy zewrzeć "grund" (najniższą sekcję małego jacka) z pierwszą sekcją aby wyostrzyć i z drugą sekcją aby wyzwolić migawkę (zrobić zdjęcie). Obie czynności są od siebie niezależne. Jako, że w tego typu fotopułapkach ostrość ustawia się manualnie sprawa jest prosta - po wykryciu ruchu przez czujniki AIR arduino wykonuje polecenie zwarcia na małym jacku najniższej sekcji z najwyższą - aparat wykonuje zdjęcie - bingo!
Działa to bardzo fajnie i wszystko było by super gdyby nie to, że opis jest zrobiony do aparatów Canona a ja fotografuję Nikonem. W Nikonie aby aparat wykonał zdjęcie najpierw musi nastąpić zwarcie sekcji najniższej z pierwszą (tą od autofocusa) i dopiero wtedy zwarcie z górną sekcją wyzwalającą zdjęcie. Zamiast jednego kroku muszą być wykonane dwa. Po wykryciu ruchu musi nastąpić zwarcie najniższej sekcji z pierwszą i z niewielką zwłoką drugą wyzwalającą migawkę.
Bardzo liczę na waszą pomoc bo jestem kompletnie zielony i Bóg jeden raczy wiedzieć ile czasu zajęło by mi opanowanie podstaw elektroniki i informatyki, nie mówiąc o próbie rozwiązania tego problemu. Przypuszczalnie potrzebne jest dołączenie dodatkowego wyjścia cyfrowego które po wykryciu ruchu podobnie jak pierwsze poprzez optocoupler 4N26 zrobi dokładnie to samo co pierwsze ale z minimalnym opóźnieniem no i oczywiście dopisanie tej dodatkowej czynności do sketch. Mam nadzieję, że umieściłem to w dobrym miejscu na forum. Z góry ogromne dzięki za ewentualną pomoc.
Parę słów wyjaśnienia na wstępie. Niestety nie jestem ani informatykiem ani elektronikiem, jestem fotografem przyrody i do tego już nie młodym Zbudowałem fotopułapkę do lustrzanki na podstawie opisu z linku poniżej na zasadzie "małpy" bezmyślnie odtwarzającej kroki wykonane przez autora:
https://www.instructables.com/id/Buildin...rap-for-W/
W wężyku spustowym Canona opartym na Jacku stereo wystarczy zewrzeć "grund" (najniższą sekcję małego jacka) z pierwszą sekcją aby wyostrzyć i z drugą sekcją aby wyzwolić migawkę (zrobić zdjęcie). Obie czynności są od siebie niezależne. Jako, że w tego typu fotopułapkach ostrość ustawia się manualnie sprawa jest prosta - po wykryciu ruchu przez czujniki AIR arduino wykonuje polecenie zwarcia na małym jacku najniższej sekcji z najwyższą - aparat wykonuje zdjęcie - bingo!
Działa to bardzo fajnie i wszystko było by super gdyby nie to, że opis jest zrobiony do aparatów Canona a ja fotografuję Nikonem. W Nikonie aby aparat wykonał zdjęcie najpierw musi nastąpić zwarcie sekcji najniższej z pierwszą (tą od autofocusa) i dopiero wtedy zwarcie z górną sekcją wyzwalającą zdjęcie. Zamiast jednego kroku muszą być wykonane dwa. Po wykryciu ruchu musi nastąpić zwarcie najniższej sekcji z pierwszą i z niewielką zwłoką drugą wyzwalającą migawkę.
Bardzo liczę na waszą pomoc bo jestem kompletnie zielony i Bóg jeden raczy wiedzieć ile czasu zajęło by mi opanowanie podstaw elektroniki i informatyki, nie mówiąc o próbie rozwiązania tego problemu. Przypuszczalnie potrzebne jest dołączenie dodatkowego wyjścia cyfrowego które po wykryciu ruchu podobnie jak pierwsze poprzez optocoupler 4N26 zrobi dokładnie to samo co pierwsze ale z minimalnym opóźnieniem no i oczywiście dopisanie tej dodatkowej czynności do sketch. Mam nadzieję, że umieściłem to w dobrym miejscu na forum. Z góry ogromne dzięki za ewentualną pomoc.
Kod:
/*
* Active IR Camera Trap - 5/3/2017
*
*
* Active IR Sensor DSLR Camera Trap using E18-8MNK transmitter/Receiver pair.
*
* The IR output pin goes to LOW if motion is present.
*
*/
/*-----( Declare Constants )-----*/
#define IRsensor 9 // Active IR Sensor
#define opto 2 // 4n26 optocoupler
/*-----( Declare Variables )-----*/
int detector_state; /* Holds the last state of the switch */
int trigger = 4;
void setup() /*----( SETUP: RUNS ONCE )----*/
{
detector_state = 0;
pinMode (IRsensor, INPUT );
pinMode (opto, OUTPUT );
Serial.begin(9600);
Serial.println ("DSLR CritterMaster 1.0b1 - Active IR");
delay(5000);
Serial.println ("Ready ");
}/*--(end setup)---*/
void loop () /*----( LOOP: RUNS CONSTANTLY )----*/
{
detector_state = digitalRead (IRsensor);
if ( HIGH == detector_state)
{
digitalWrite (opto, LOW );
}
else
{
for (int x = 0; x < 4; x++) {
digitalWrite (opto, HIGH );
delay (200);
digitalWrite (opto, LOW);
delay (1000);
Serial.println("Motion detected ");
}
}
delay (100);
}/* --(end main loop )-- *
* ( THE END ) */