Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 (/watek-fotopu%C5%82apka-do-lustrzanki-oparta-na-sensorach-activ-ir-i-arduino-cz-2) Strony:
1
2
|
Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - fro - 01-12-2019 Witam! Mój poprzedni wątek dotyczący tego projektu został zamknięty ponieważ temat zdryfował na zupełnie inne tematy dlatego bardzo proszę o trzymanie się tematu Celem projektu jest fotopułapka uruchamiająca po wykryciu ruchu lustrzankę DSLR i lampy błyskowe w celu sfotografowania obiektu którego ruch został wykryty. Jako, że w takiej sytuacji ważne jest żeby wiedzieć gdzie dokładnie jest fotografowany obiekt projekt oparłem na nadajniku i odbiorniku active IR zamiast mało precyzyjnego sensora IR. Założenia: - w celu optymalizacji zużycia energii zastąpiłem arduino uno Adafruit Pro Trinket - kabel sygnałowy z odbiornika IR podłączony został do pinu 3 (INT1) - po wykryciu ruchu LOW - do pin 4 podłączone zostało przez transoptor (optoizolator) wyjście na ustawianie ostrości - do pin 8 podłączone zostało przez transoptor (optoizolator) wyjście na migawkę (czyli de facto wykonanie zdjęcia) Działanie: wszystko działało bardzo fajnie ale zużycie energii było wysokie i w celu jej zaoszczędzeniu dodałem do kodu tryb "deep-sleep mode". W teorii wszystko super. Urządzenie przechodzi w tryb deep-sleep i zużycie energii obniża się praktycznie tylko do zasilenia czuwającego odbiornika IR. Wybudza się też praktycznie natychmiast i ponownie przechodzi po określonym czasie w deep-sleep. Problem: - niestety nie jest tak kolorowo. Przed dopisaniem do kodu deep-sleep mode - czujnik wyzwalał migawkę za każdym razem, teraz bardzo szybkie naruszenie nie wyzwala migawki. To bym jeszcze przeżył, bo przynajmniej małe zwierzątka (myszy itp. ) nie wyzwalały by migawki. Chociaż oczywiście chciałbym wiedzieć co jest przyczyną takiej sytuacji. - drugi problem jest znacznie poważniejszy - przy serii nieregularnych naruszeń w niewielkich odstępach czasu (imitujących powiedzmy przechodzące stadko dzików) następuje zawieszenie płytki i niezbędny jest reset. Jest to zapewne spowodowane nieudolnym zaimplementowaniem przeze mnie deep-sleep bo bez tego kod działa bezbłędnie. Niestety niewiele jeszcze umiem i liczę, że ktoś wskaże mi na czym polega błąd. Kod: Kod: /* RE: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - PiegowatyGuziec - 02-12-2019 Może ciut do okola ale najpierw zamień wszystkie Delay na timery (biblioteka) żeby nie powodowało to błędów. Po tym dodaj WatchDoga, który może nie załata problemu ale przynajmniej płytka się zresetuje po zawieszeniu. RE: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - elvis - 02-12-2019 A jaki błąd mialby powodować delay w tym programie? RE: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - Agregacik - 02-12-2019 Spróbuj tego kodu: Kod: /* RE: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - fro - 02-12-2019 Dzięki wielkie. Sprawdzę jak wrócę do domu i oczywiście dam znać jakie są efekty RE: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - fro - 04-12-2019 Sorry za post pod postem. Oczywiście Twój wpis @Agregacik kolejny raz był bardzo pomocny. Jest znaczna poprawa Różnicą jest teraz to, że urządzenia po ustaniu ruchu w ułamku sekundy przechodzi w tryb uśpienia bez żadnej zwłoki na ewentualne kolejne naruszenia. Natomiast układ przestał się wieszać i wybudza się również. Jeszcze raz ogromne dzięki. Uzmysłowiło mi to, że muszę się zabezpieczyć przed podobnymi problemami związanymi ze specyfiką sensorów ActiveIR opartych na połączeniu wiązką między nadajnikiem i odbiornikiem takie jak: moment w którym się wyczerpują baterie w nadajniku, lub nadajnik się psuje, lub źle zabezpieczony przesuwa na wietrze i traci kontakt z odbiornikiem. Odbiornik uznaje to za wykrycie ruchu i wyzwala migawkę bez końca pstrykając zdjęcia "niczemu" Muszę to jakoś rozwiązać. Nie bardzo mam pomysł jak. Albo jakieś ograniczenie czasowe uruchamiania migawki (po określonym czasie koniec wyzwalania) albo ilościowe (po określonej liczbie wykonanych w jednym ciągu zdjęć koniec wyzwalania). Bardziej skomplikowanym, ale najbardziej eleganckim rozwiązaniem było by dołączenie tradycyjnego czujnika ruchu (PIR) i napisanie zależności - jeśli tradycyjny sensor ruchu PIR (mający zazwyczaj bardzo duży kąt widzenia 90- 120 st.) nie wykryje ruchu przez określony czas to migawka zostanie zatrzymana nawet jeśli nadal nie ma połączenia między nadajnikiem i odbiornikiem ActiveIR. A może jest jakiś inny, sprytniejszy sposób? Jeśli ktoś ma taki proszę o opis, a może jakiś link do poczytania o podobnych rozwiązaniach. Z góry bardzo dziękuję. RE: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - Agregacik - 04-12-2019 Może w tym wierszu attachInterrupt(1, Budzenie, LOW); zmienić na attachInterrupt(1, Budzenie, FALLING); Czyli wybudzanie nastąpi przy zmianie stanu z wysokiego na niski. Wykonają się zdjęcia w zadanej ilości po czym zapada w stan uśpienia. Dopiero jak stan zmieni się na wysoki i z powrotem na niski to się wybudzi i operacja wykona się ponownie. Pewnie rozwiąże to tylko część problemów i spowoduje nowe . RE: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - fro - 05-12-2019 Dzięki. Chyba rozumiem to rozwiązanie, ale ono tak jak napisałeś spowoduje nowe problemy. Taki jaki widzę na szybko: wyobraźmy sobie, że w obręb pułapki wchodzi Yeti, Wielka Stopa czy Chupacabra . Zaskoczone dźwiękiem migawki zamiera i rozgląda się stojąc idealnie w obrębie działania pułapki dając Ci jedyną okazję do zrobienia zdjęć które obiegną świat A Twoja pułapka zrobi tylko trzy czy nawet cztery zdjęcia Ok! Można ustawić i 100, ale wtedy napewno zamiast Yeti będziesz miał tysiące zdjęć polnej myszy czy zająca, na dodatek zwróconego do Ciebie tym czym kończą się plecy Na pewno wiesz o co mi chodzi Rozwiązanie musi być jednak bardziej elastyczne i dopasowane do sytuacji. Coraz bardziej skłaniam się do dodania pasywnego sensora IR jako swego rodzaju potwierdzenia sprawności układu. Zużywa 0.1mA i pozwala zweryfikować czy nastąpił błąd czy rzeczywiście coś żywego znajduje się w obrębie jego zasięgu. Ktoś by mógł powiedzieć - to dlaczego nie zbudować całego układu na czujniku PIR - odpowiedź brzmi "precyzja" i brak fałszywych wzbudzeń od ruszającej się gałązki czy promieni słonecznych. Każdy kto używał takiej zwykłej fotopułapki wie o czym piszę. Kiedy coś przekracza wiązkę active IR to wiesz praktycznie co do centymetra gdzie się znajduje. RE: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - Agregacik - 05-12-2019 Jakie są wyjścia z tych urządzeń. Czy to są styki przekaźnika czy stan logiczny? Przy przekaźnikach można połączyć szeregowo ich styki i wyzwalać zdjęcia jak obydwa zadziałają. RE: Fotopułapka do lustrzanki oparta na sensorach activ IR i arduino cz.2 - fro - 05-12-2019 Zarówno sensor PIR jak i odbiornik aIR mają wyjście cyfrowe na którym następuje zmiana stanu. Na czujniku PIR naruszenie powoduje stan wysoki na przewodzie sygnałowym, a na odbiorniku aIR (to te z którch korzystam obecnie) na naruszenie reagują stanem niskim na przewodzie sygnałowym. Tylko nie wiem czy o to pytasz |