
Któregoś dnia postanowiłem zrobić parę fotek dzikich zwierząt. Wiadomo, że ptaszki, sarenki i inne robaczki raz spłoszone długo nie pojawiają się w tym samym miejscu, dlatego pomyślałem, aby użyć fotopułapki, ale po szybkim przejrzeniu Internetu okazało się, że jest to dość droga sprawa, a do tego jakość zdjęć nie powala. Los nie dał mi wyboru, musiałem zrobić swoją fotopułapkę… a przy okazji powstał materiał do filmu na mój kanał YT (JestemInżynieremPL). Od razu wspomnę, że projekt ma charakter edukacyjny- ma być do odtworzenia przez osoby rozpoczynające swoją przygodę z elektroniką, więc na filmie krok po kroku opisuję jak „komunikować” się z aparatem oraz tłumaczę jak działa algorytm fotopułapki. Program dla płytki Arduino używa standardowych i prostych funkcji. Nie martwiłem się specjalnie o optymalizację i wydajność kodu, używałem funkcji opóźnień delay()- miało być prosto, miło i przyjemnie

Wspomnę jeszcze, że opis schematów, nazwy funkcji i zmiennych w kodzie są w języku angielskim, aby całość była czytelna dla szerszego grona widzów. Jeśli zajdzie potrzeba mogę zrobić tłumaczenia na język polski.
Cała fotopułapka wygląda następująco:

Fotopułapka składa się z aparatu Canon, sterownika i czujnika ruchu.
Fotopułapka składa się z lustrzanki Canon, sterownika i czujnika ruchu. Model i marka aparatu jest dość przypadkowa- akurat taki mam. Z tego co się orientuję tego typu fotopułapka może bez problemu działać z aparatami innych producentów, ale o tym dalej. Sterownik jest zbudowany na bazie Arduino Micro, ruch jest wykrywany czujnikiem ruchu PIR. Zasilanie to bateria 9V. Elementy użyte w tym projekcie:

Budowę fotopułapki dobrze zacząć od poznania sposobu wyzwalania zdjęć w aparacie przy pomocy wejścia wężyka spustowego. Układ sterujący podłącza się do aparatu przez gniazdo micro-jack 2,5mm. Odpowiednie zwieranie pinów gniazda aparatu pozwala na imitowanie wciśnięcia przycisku spustu migawki.

Schemat pinów wężyka spustowego w aparatach Canon
Zwarcie kabla ustawiania ostrości z masą odpowiada wciśnięciu do połowy przycisku spustu aparatu. Po zwarciu kabla wyzwalania migawki z masą, aparat robi zdjęcie. Napięcie miedzy pinami ustawiania ostrości i wyzwalania a masą wynosi 3,3V. Sytuacja jest identyczna dla aparatów Canon ze złączem N3. Większość aparatów, nawet innych producentów ma identyczną zasadę działania tylko posiadają inne złącza wężyka spustowego.
Cała sztuczka pracy fotopułapki polega na odpowiednim zwieraniu pinów aparatu z masą po otrzymaniu sygnału o wykryciu ruchu przez czujnik PIR. Brzmi fajnie, ale dobrze jest nie spalić aparatu za parę tysięcy przy takiej zabawie (Prawa Murphy'ego są nieubłagane). Dlatego należy odseparować galwanicznie układ aparatu od Arduino za pomocą transoptorów.
Dodatkowym zabezpieczeniem przed spaleniem elektroniki aparatu jest zastosowanie rezystora ograniczającego przepływ prądu miedzy pinami aparatu i masą. Nie znalazłem informacji o tym co się stanie, gdy zewrze się piny aparatu przez dłuższy czas, a nie miałem ochoty tego sprawdzać na własnym sprzęcie dlatego wstawiłem rezystora 22 kΩ ograniczający przepływ prądu do minimum. Wartość rezystancji dobrałem doświadczalnie, zwiększałem ją, aż aparat przestał reagować na zwieranie pinów z masą.

Schemat ideowy podłączenia i sterowania aparatu przez wejście wężyka spustowego.
Działanie fotopułapki jest bardzo proste. W momencie otrzymania sygnału z czujnika ruchu Arduino wysyła stan wysoki na piny do, których są podłączone transoptory. W tym momencie transoptory zaczynają przewodzić prąd, więc zwierają piny ustawiania ostrości i wyzwalania migawki z masą w aparacie. Tak wygląda cały układ na schemacie:

Schemat fotopułapki z Arduino Micro, czujnika ruchu PIR i aparatu Canon

Schemat fotopułapki dla tych co wolą trochę kolorków
Wybór pinów płytki Arduino, które zostały użyte jest podyktowany jedynie wygodą lutowania i montażu całego układu. Wszystkie piny Arduino pracują jako wejścia lub wyjścia cyfrowe, więc można je dość dowolnie zamieniać. Pamiętać należy jedynie o odpowiedniej zmianie numerów pinów w szkicu programu sterującego.
Czujnik ruchu wymaga jedynie podłączenia zasilania oraz przewodu sygnałowego. Wykrycie ruchu sygnalizowane jest wysłaniem stanu wysokiego do Arduino. Kabel sygnałowy jest zwarty z masą układu za pomocą opornika o rezystancji 100kΩ. Ma to na celu wyeliminowanie szumów z otoczenia, które mogą być interpretowane przez Arduino jako stan wysoki.
Algorytm i kod fotopułapki dla Arduino jest objaśniony w 05:26 poniższego filmu, tak chyba jest najłatwiej. Plik ze szkicem dla Arduino IDE dodałem jako załącznik do tego artykułu (trzeba zmienić rozszerzenie na *.ino):
Zbudowanie całości nie powinno nastręczać dużych problemów, trzeba trochę pokombinować z dostosowaniem obudów, chlapnąć coś przed lutowaniem, żeby ręka nie drżała, kobitę wysłać do sąsiadki na ploteczki, żeby nie przeszkadzała. Tak wygląda „pająk” sterownika:

Polutowany układ sterujący fotopułapki
Przed uruchomieniem fotopułapki należy odpowiednio ustawić parametry pracy aparatu fotograficznego. Pierwsza sprawa to włączenie manualnego trybu ustawiania ostrości obiektywu, aby ostrość była ustawiona na ten sam punkt. Druga rzecz to maksymalne skrócenie czasu po którym aparat przechodzi w stan hibernacji, aby jak najbardziej oszczędzać baterię aparatu. Gdy Arduino zasymuluje łapanie ostrości aparat wybudzi się.
Jak widać cała konstrukcja miała być prosta i nieskomplikowana dlatego posiada pewne wady, które należy wyeliminować przy sterowniku „professional”:
- podłączenie czujnika ruchu do wyjścia 5V powoduje, że prąd jest stale pobierany bez wzglądu na to czy wykrywanie ruchu jest aktualnie używane
- podłączenie czujnika ruchu do wyjścia 5V powoduje powstanie dodatkowej straty energii na regulatorze napięcia na płytce Arduino
- w kodzie są używane funkcje delay() z dość długim czasem opóźnienia więc łatwo kliknąć przyciskiem w czasie ich trwania
- można zmniejszyć ilość instrukcji warunkowych przez wydłużenie warunków
- mikrokontroler stale pracuje, a więc pobiera dużo prądu (trzeba pomyśleć nad zewnętrznymi przerwaniami)
Zachęcam do obejrzenia całego filmu opisującego budowę fotopułapki. To mój pierwszy artykuł na Elektrodzie, więc liczę na wyrozumiałość za ewentualne niedociągnięcia. Jeśli macie jakieś pytania to chętnie odpowiem

Cool? Ranking DIY