Z racji, iż time lapse podłączany do mojego Nikona D3200 był jednak kosztowny, postanowiłem zmotać coś z rzeczy, które mam w domu. Wiadomo Arduino mam trochę i komponentów do niego, nic po za obudową nie musiałem kupować. Dzięki temu mogę regulować co jaki czas będzie wykonywane zdjęcie interwały zaprogramowane to 1, 5, 10, 15, 20, 24, 25, 30, 35, 40, 45, 50, 55, 60 sek. Do wykonania całego układu projektu potrzebujemy:
– Arduino nano lub odpowiednik
– Rezystor 220Ω
– 2 potencjometry 10kΩ
– dioda IR 940nm
– LCD 2 x 16
– układ ładowania akumulatora 3,7V
– przetwornice step up 3,7 do 5V
– akumulator w moim przypadku 6000mAh
– Bibliotekę do prawidłowej komunikacji nikon Nikon Ir Control
Przykładowy film z użyciem prototypu, niebawem zamieszczę zdjęcia gotowego układu, gdyż teraz nie nadaje się do pokazania.
Schemat połączeń:
Kod programu:
#include <LiquidCrystal.h>
#include <nikonIrControl.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int CameraIrPin = 13;
int configPin = A2;
int selection = 0;
#define LENARRAY 15
int confArray[LENARRAY] = {0, 1, 5, 10, 15, 20, 24, 25, 30, 35, 40, 45, 50, 55, 60};
long previousMillis = 0;
void setup()
{
pinMode(CameraIrPin, OUTPUT);
lcd.begin(16,2) ;
lcd.setCursor(1, 0);
lcd.print(„Autor swistak”);
lcd.setCursor(1, 1);
lcd.print(„TRANZYSTOR.PL”);
delay(6000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(„Przeznaczony do”);
lcd.setCursor(3, 1);
lcd.print(„NIKON D3200”);
delay(3000);
lcd.clear();
}
void loop()
{
selection = analogRead(configPin);
selection = map(selection,0, 1023, 1, LENARRAY) ;
lcd.setCursor(0,0) ;
lcd.print(„Nastaw : „);
lcd.print(confArray[selection]);
lcd.print(” sek „);
lcd.setCursor(0,1);
lcd.print(„Pozostalo : „);
unsigned long currentMillis = millis();
lcd.print(confArray[selection] – ((currentMillis – previousMillis)/1000));
lcd.print(” „);
// time control
if((currentMillis – previousMillis) > (confArray[selection]*1000)) {
previousMillis = currentMillis;
cameraSnap(CameraIrPin);
}
}