Spisu treści:

Kontroler Arduino do zautomatyzowanej fotografii produktów 360°: 5 kroków (ze zdjęciami)
Kontroler Arduino do zautomatyzowanej fotografii produktów 360°: 5 kroków (ze zdjęciami)

Wideo: Kontroler Arduino do zautomatyzowanej fotografii produktów 360°: 5 kroków (ze zdjęciami)

Wideo: Kontroler Arduino do zautomatyzowanej fotografii produktów 360°: 5 kroków (ze zdjęciami)
Wideo: Вывод картинки на oled дисплей и контроллер Arduino, Esp8266, ESP32 2024, Lipiec
Anonim
Image
Image
Zbierz części i pliki
Zbierz części i pliki

Zbudujmy kontroler oparty na arduino, który steruje silnikiem krokowym i migawką kamery. Wraz z gramofonem napędzanym silnikiem krokowym jest to potężny i tani system do zautomatyzowanej fotografii produktów 360° lub fotogrametrii. Automatyczna migawka aparatu opiera się na wspaniałej bibliotece „Sebastian Setz” i działa z wyzwalanymi podczerwienią aparatami Nikon, Canon, Minolta, Olympus, Pentax, Sony.

Przygotowałem dwie wersje kontrolera:

  • Podstawowa wersja obsługiwana za pomocą prostego przycisku i diody statusu.
  • Zaawansowana wersja, która wykorzystuje ekran LCD 16x2 + klawiaturę, a tym samym posiada menu do zmiany zmiennych „w locie”, a nie tylko w kodzie źródłowym.

Co robi kontroler?

Jeśli uruchomisz „fotografowanie” przez naciśnięcie przycisku, gramofon wykona pełny obrót, podzielony na określoną liczbę kroków. Po każdym kroku obrotu kontroler robi krótką przerwę, a następnie wyzwala kamerę. Będziesz mógł zmieniać zmienne prędkości obrotowej, czas opóźnienia i liczbę kroków w kodzie źródłowym (dla prostej wersji sterownika) lub w menu wyświetlacza (dla zaawansowanej wersji sterownika).

Krok 1: Zbierz części i pliki

Zbierz części i pliki
Zbierz części i pliki
Zbierz części i pliki
Zbierz części i pliki

Części:

  • Arduino Uno (lub podobny)
  • Deska do krojenia chleba (pasuje do połowy wielkości deski do krojenia chleba)
  • Sterownik silnika krokowego Easydriver
  • Radiator 2X dla Easydriver (opcjonalny, ale WYSOCE zalecany) https://www.sparkfun.com/products/11510Do zamocowania radiatora na chipie potrzebna będzie taśma termoprzewodząca. Jeśli zamawiasz radiator, upewnij się, że dołączono taśmę termiczną lub można ją zamówić osobno.
  • Dioda podczerwieni 950nm (do wyzwalania kamery IR)
  • Rezystor 220 omów (rezystory wstępne dla podczerwieni LED)
  • Element dźwiękowy piezo (opcjonalnie, jeśli chcesz mieć dźwięki sprzężenia zwrotnego)
  • Niektóre przewody połączeniowe
  • Zewnętrzny zasilacz do silnika krokowego Mam dobre doświadczenia z zasilaczem 12V 1A do napędzania silnika krokowego 1A NEMA 17 firmy Trinamic. Miałem też w użyciu zasilacz 24V 3A. Płyta Easydriver obsługuje do 30V i 750mA na fazę. Więcej na temat specyfikacji easydriver tutaj:
  • Gniazdo do zewnętrznego zasilania silnika krokowego
  • Dwubiegunowy silnik krokowy NEMA 17 i gramofon m.in. Link do „zautomatyzowanego gramofonu z silnikiem krokowym” FluxGarage:

Dodaj dla podstawowego kontrolera przyciskowego…

  • Naciśnij przycisk
  • Rezystor 10k omów (dla przycisku)
  • LED (kontrola stanu)
  • Rezystor 220 omów (rezystory wstępne dla diody LED stanu)

… LUB dodaj dla zaawansowanego kontrolera z menu wyświetlacz + klawiatura:

Adafruit LCD Shield Kit z wyświetlaczem 16x2 znaków, m.in

Pobierz kody Arduino i diagramy Fritzing dla podstawowego i zaawansowanego kontrolera:

Jeśli chcesz otworzyć dokument Fritzing dla zaawansowanego kontrolera, pobierz i zainstaluj elementy adafruit:

Uwaga: Na zdjęciach używam FluxGarage „Tinkerer's Baseplate“oraz FluxGarage „Front Plate for 16x2 LCD + Keypad Shield“. Korzystanie z tych elementów jest opcjonalne, jeśli chcesz ich również użyć, kliknij łącza do odpowiednich instrukcji.

Krok 2: Złóż obwód

Montaż obwodu
Montaż obwodu
Montaż obwodu
Montaż obwodu
Montaż obwodu
Montaż obwodu

Płytka lutownicza Easydriver do płytki stykowej: Aby użyć płytki stykowej Easydriver na płytce stykowej, należy przylutować kilka męskich nagłówków pinów na płytce stykowej. Najlepszym sposobem jest włożenie męskich nagłówków pinów do płytki stykowej, położenie easydrivera na górze, a następnie przylutowanie pinów.

Okablowanie: Połącz części, jak pokazano na odpowiedniej grafice Fritzing dla podstawowego lub zaawansowanego kontrolera. Pobierz diagramy Firtzinga na github, znajdź linki w kroku 1.

Dokładnie sprawdź, czy wszystko jest połączone w następujący sposób:

  • Cyfrowe pin Arduino 02 = dir pin Easydriver
  • Cyfrowy pin Arduino 03 = krok pin Easydriver
  • Pin cyfrowy Arduino 09 = wyjście dla piezo
  • Pin cyfrowy Arduino 12 = wyjście dla diody podczerwieni (umieść rezystor 220 omów przed diodą LED)

+ dla podstawowego kontrolera:

  • Pin cyfrowy Arduino 04 = wejście dla przycisku (umieść rezystor 10 kΩ przed masą przycisku)
  • Pin cyfrowy Arduino 13 = wyjście dla diody LED stanu (umieść rezystor 220 omów przed diodą LED)

+ dla zaawansowanego kontrolera:

Ułóż ekran + osłonę klawiatury na arduino, w rzeczywistości używane są te piny: pin analogowy Arduino A4 + A5 i 5 V + GND

Podłącz silnik krokowy: Okablowanie bipolarnych silników krokowych (4 przewody) polega na połączeniu dwóch cewek (A i B) silnika z prawymi pinami płyty easydriver. Spójrz na grafikę na środku tej strony i na specyfikacje konkretnego silnika krokowego:

Więcej informacji na temat okablowania silnika krokowego i Easydrivera można znaleźć tutaj:

Podłącz zewnętrzny zasilacz Płyta Easydriver ma dwa oddzielne styki zasilania w prawym górnym rogu (M+ i uziemienie). Podczas gdy sama płytka pobiera zasilanie z Arduino, osobne wejście zapewnia zasilanie dla silnika krokowego. W przypadku korzystania z typowego zasilacza i gniazdka „po wyjęciu z pudełka” należy podłączyć przewód „+” do pinu „M+” w easydriver, a przewód „-” do pinu „GND” w easydriver. Zwykle „+” znajduje się po wewnętrznej stronie, a „-” po zewnętrznej stronie wtyczki. Ale bądź ostrożny, niektóre zasilacze pozwalają na zmianę polaryzacji! Jeśli podłączysz nieprawidłowe podłączenie easydriver, może i prawdopodobnie zostanie uszkodzony, pamiętaj o tym.

Krok 3: Prześlij kod źródłowy do Arduino

Prześlij kod źródłowy do Arduino
Prześlij kod źródłowy do Arduino

Pobierz kod źródłowy Arduino z Github:

Pobierz Arduino IDE:

www.arduino.cc/en/Main/Software

Pobierz biblioteki innych firm i skopiuj je do folderu biblioteki swojego IDE:… dla migawki aparatu: https://github.com/dharmapurikar/Arduino/tree/mast…… dla Adafruit 16x2 Display+Keypad Shield: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…

Kod jest przetestowany i działa dobrze z najnowszym Arduino IDE (1.8.7 na Windows) i Arduino Uno + sterownik silnika krokowego Easydriver + wyświetlacz Adafruit 16x2 + osłona klawiatury, + silnik krokowy Trinamic i aparat Nikon D60.

Dostosuj kod do pracy z konkretną kamerą: Jak wspomniano, użyłem biblioteki „multiCameraIrControl.h” autorstwa Sebastiana Setza. Aby to działało dla twojego aparatu, musisz usunąć ukośniki w komentarzach przed nazwą producenta aparatu i oczywiście dodać ukośniki przed wszystkimi innymi nazwami producentów:

// Ustaw typ aparatu Nikon D5000(12);//Canon D5(12);//Minolta A900(12);//Olympus E5(12);//Pentax K7(12);//Sony A900(12);

Wykonaj podobną regulację w funkcji „snap”:

// Zrób migawkę bez zdjęcia(){D5000.shotNow();//D5.shotNow();//A900.shotNow();//E5.shotNow();//K7.shotNow();//A900.shotTeraz();}

Uwaga: Niestety, nie mogłem jeszcze przetestować innych aparatów wyzwalanych podczerwienią niż mój własny Nikon D60. Biblioteka migawki aparatu powinna działać z kilkoma aparatami różnych producentów, a nie tylko z konkretnymi modelami aparatów wymienionymi w kodzie. Byłoby wspaniale, gdybyś skomentował swoje doświadczenia z aparatem Canon, Minolta, Olympus, Pentax lub Sony.

Krok 4: Obsługuj kontroler

Obsługuj kontroler
Obsługuj kontroler
Obsługuj kontroler
Obsługuj kontroler

Co robi kod lub kontroler? Jeśli naciśniesz przycisk, zostanie uruchomiona „sesja zdjęciowa”. Każda sesja zdjęciowa to skończona pętla następującej sekwencji:

  1. Kamera jest uruchomiona
  2. Krótkie opóźnienie
  3. Silnik krokowy będzie się obracał o określoną liczbę stopni
  4. Krótkie opóźnienie

Sesja zdjęciowa opiera się na zestawie zmiennych, które dokładnie określają jej zachowanie. Możesz zmienić te zmienne w kodzie źródłowym (dla prostej wersji kontrolera) lub w menu wyświetlania (dla zaawansowanej wersji kontrolera).

Obsługa sterownika podstawowego:

Na podstawowym kontrolerze dioda LED stanu pokazuje, kiedy system jest gotowy do działania. Dioda LED wyłącza się po rozpoczęciu sesji zdjęciowej. Możesz przerwać sesję zdjęciową, przytrzymując przycisk, aż pojawi się „dźwięk przerywany” i gramofon się zatrzyma. Obejrzyj wideo w górnej części tej instrukcji, aby zobaczyć to w „prawdziwym życiu”.

Zmienne sesji zdjęciowej można znaleźć w górnej części kodu i można je zmienić, aby zmodyfikować sesję zdjęciową. Poniżej możesz zobaczyć początkowe wartości:

int etapy strzelania = 20; // liczba kroków dla pełnego obrotu powinna wynosić 10, 20 lub 40 float prędkość strzelania = 0,01; // prędkość obrotu: dowolna liczba od.01 -> 1, gdzie 1 oznacza najszybszy - Wolniej oznacza mocniej (wolniej = lepiej dla „ciężkich” obiektów)int opóźnienie strzelania = 1000; // przerwa w milisekundach przed i po każdym obrocie

Obsługa zaawansowanego kontrolera:

Po włączeniu zaawansowanego kontrolera przez 4 sekundy wyświetlane jest logo FluxGarage. Następnie sterownik jest gotowy do wykonania i wyświetla listę regulowanego zestawu zmiennych:

  • ST = liczba kroków, może wynosić 10, 20 lub 40
  • SP = prędkość rotacji, może wynosić 1-5, podczas gdy 1 jest najwolniejszy
  • DE = Opóźnienie przed i po każdym kroku w dziesiątej części sekundy, może wynosić 5, 10, 25, 50
  • LI = Określa, czy podświetlenie wyświetlacza jest włączone, czy wyłączone podczas fotografowania. Może być 1 = włączony lub 0 = wyłączony

Możesz poruszać się po typach zmiennych za pomocą lewego i prawego przycisku, a zmieniać wartości za pomocą przycisków w górę i w dół. Rozpocznij fotografowanie, naciskając przycisk wyboru i przerwij fotografowanie, przytrzymując przycisk wyboru, aż pojawi się „przerwany dźwięk”. Obejrzyj wideo w górnej części tej instrukcji, aby zobaczyć to w „prawdziwym życiu”.

Krok 5: Rozpocznij fotografowanie

Rozpocznij strzelanie
Rozpocznij strzelanie

Jeśli zbudowałeś własny kontroler + gramofon, a kamera jest na miejscu, wszystko jest gotowe do rozpoczęcia fotografowania… prawie. Pozwólcie, że podzielę się kilkoma wnioskami z moich własnych eksperymentów:

  • Użyj lekkiego namiotu, aby równomiernie oświetlić przedmioty. Możesz znaleźć wiele dobrych samouczków tutaj na instructables.com, które pokazują, jak stworzyć diy lightbox. Istnieją również niedrogie namioty tekstylne, które można kupić w wielu sklepach internetowych.
  • Używaj żarówek o tej samej temperaturze barwowej (w kelwinach)
  • Ustaw ostrość obiektu na gramofonie ręcznie, wyłącz autofokus aparatu
  • Wyłącz stabilizator obrazu aparatu, jeśli pracujesz ze statywem
  • Wybierz zakres pomiarowy w tle, w którym nie pojawi się sfilmowany obiekt. W ten sposób unikniesz migotania sekwencji obrazów. Innym sposobem jest ręczne ustawienie czasów ekspozycji aparatu itp.
  • Jeśli chcesz umieścić swoje obrazy 360 na swojej stronie internetowej, użyj wtyczek JavaScript, takich jak „Jquery Reel Plugin” autorstwa Petra Vostřela alias „PISI” → https://jquery.vostrel.cz/reel „Przeglądarka produktów 360 stopni” firmy „Codyhouse „ →

To wynik jednej z moich strzelanin (stworzonej z powyższymi ustawieniami):

Zalecana: