Come utilizzare un Arduino per scattare belle fotografie ad alta velocità

Come utilizzare un Arduino per scattare belle fotografie ad alta velocità / Fai da te

Smashing bicchieri da vino e palloncini popping è ovviamente divertente in sé e per sé - questo è solo il modo in cui rotolo. Ma combinato con una fotocamera DSLR e un Arduino, può anche fare alcune fotografie interessanti. Questo è esattamente quello che faremo oggi.

Nozioni di base sul progetto

Ci sono due parti in questo progetto in realtà: il primo è un innesco del suono. Usando un cicalino piezo come un microfono e un Arduino, possiamo facilmente rilevare rumori forti e definire un'azione. La seconda parte è l'impostazione della videocamera. Poiché l'attivazione della fotocamera direttamente sarebbe troppo lenta, lasceremo l'otturatore della fotocamera aperto in una stanza buia e utilizzeremo un flash esterno per fornire la luce sufficiente per completare lo scatto.

Se sei completamente nuovo alla fotografia, dai un'occhiata ai miei 5 migliori consigli fotografici per principianti assoluti I migliori 7 consigli fotografici per i principianti assoluti I migliori 7 consigli fotografici per i principianti assoluti Se sei un principiante assoluto in fotografia, ecco una manciata di suggerimenti che dovrebbero essere considerati "apprendimento essenziale". Leggi di più . Se questo progetto è un po 'complicato per te, perché non provare a fare lo tilt-shifting per dare alle tue foto un effetto diorama del modello 5 modi per spostare le foto in Tilt-Shift per modelli Model-tastic 5 modi per inclinare le foto per modello -modelli sintetici Leggi di più invece.

attrezzatura

  • Fotocamera DSLR con treppiede
  • Flash esterno con trigger manuale
  • Arduino
  • Cicalino piezoelettrico e resistore da 1M Ohm
  • 4N35 o analogo optoaccoppiatore / optoisolatore e resistenza da 220 Ohm

Schema di cablaggio

Il buzzer piezoelettrico dovrebbe essere collegato al filo nero a GND e rosso a A0; posizionare il resistore 1M tra i due pin. Il resistore viene utilizzato per fornire uno scarico di corrente per la tensione prodotta dal piezoelettrico, proteggendo l'ingresso analogico.

Usiamo un optoisolatore per proteggere Arduino da qualsiasi tensione che potrebbe avere il flash esterno. Un optoisolatore è un LED e un interruttore sensibile alla luce in un piccolo pacchetto; accendere il LED da un lato e l'interruttore sull'altro sarà attivato. Sul 4N35 (altri modelli possono variare), si dovrebbe vedere un cerchio molto piccolo in un angolo: questo pin 1. Collegare il pin 1 tramite la resistenza da 220 ohm al pin 12 e quindi il pin 2 a GND. Il dispositivo che viene attivato va sui due pin nell'angolo opposto (5/6). La fine di questi cavi trigger può passare a un cavo di trigger flash reale, o solo a una giuria rigirarli direttamente nella presa - potrebbe essere necessario un po 'di Blu-Tack per farli rimanere sul posto.

Ecco il circuito completato collegato al flash.

Codice Arduino

Il codice per questo progetto è relativamente semplice. Nel file qui sotto, ho lasciato l'output della console seriale, anche se potresti volerlo rimuovere quando sei sicuro che le cose stiano funzionando - basta commentare il Serial.begin e Serial.println linee quando sei pronto. Esegui il codice e guarda l'uscita della console mentre batti le mani: dovresti ricevere un segnale dal cicalino piezo. I numeri che hai qui possono essere usati per determinare la soglia alla quale il flash si accende, ma il mio piezo non è stato così sensibile quindi l'ho lasciato a 1.

Nel ciclo principale, stiamo controllando se la lettura piezoelettrica è sopra la soglia e se è stato più di un secondo dall'ultima volta che abbiamo attivato il flash. Questo evita di innescare il flash più di una volta. In alcuni lampi, questo potrebbe non essere necessario, ma poiché il mio era in grado di sostenere raffiche semplicemente sparava più volte senza quell'assegno.

Inoltre, nota il ritardo valore prima di attivare il flash: ti consigliamo di giocare con questo o di rimuoverlo completamente, a seconda di cosa stai fotografando. Senza il ritardo, la foto di un vetro rotto fu presa immediatamente dopo l'impatto, senza alcun effetto distruttivo. 50 ms era un po 'troppo lento, quindi 25 ms dovrebbero essere l'ideale per vedere la realtà in frantumi.

int ledPin = 13; int cameraPin = 12; int piezo = 0; unsigned long lastMillis = 0; byte val = 0; soglia int = 1; void setup () pinMode (ledPin, OUTPUT); pinMode (cameraPin, OUTPUT); Serial.begin (9600);  void loop () val = analogRead (piezo); if (val> 0) Serial.println (val); // usato per il debug if (val> = threshold && (millis () - lastMillis> 1000)) delay (25); // cambia secondo necessità, o rimuove interamente digitalWrite (ledPin, HIGH); digitalWrite (cameraPin, HIGH); lastMillis = millis ();  else digitalWrite (ledPin, LOW); digitalWrite (cameraPin, LOW);  

Tiro

Prima di tutto, avrai bisogno di una stanza buia per farlo - più si avvicina il buio, meglio è. Se trovi che i tuoi scatti sono troppo sfocati, ciò potrebbe essere dovuto a troppa luce ambientale. L'unica luce che desideri per questo scatto è nel momento in cui viene attivato il flash, quindi inserisci la tua DSLR Manuale modalità e impostare il tempo di esposizione fino a 4 secondi o più. Imposta l'apertura intorno Da F8 a F16; Avevo bisogno di un ISO di 1600 per catturare questi scatti, ma dovresti modificare entrambi questi valori per trovare qualcosa che funzioni per te prima di andare avanti.

Avrai anche bisogno che la fotocamera sia accesa messa a fuoco manuale, e disabilitare qualsiasi stabilizzazione se ce l'hai. Gioca con i tempi del flash - ho usato 1/128 di potenza - qualsiasi valore superiore a 1/32 e il flash si attiva per troppo tempo, provocando di nuovo scatti sfocati. Non sono certo un esperto di fotografia, quindi si tratta solo di giocare per trovare le impostazioni che funzionano per te.

Un modo semplice per testare la tua configurazione è di spegnere le luci, fare clic sull'otturatore, quindi battere le mani - il colpo dovrebbe uscire ben illuminato e non sfocato.

Soddisfatto delle mie prove, sono andato avanti e ho provato a far scoppiare un palloncino.

Il codice potrebbe essere un po 'ottimizzato - anche senza un ritardo programmato, sembra che lo scatto sia stato solo di 5-10 ms troppo lento per catturare il momento. Eppure, questo è venuto fuori bene e mostra i colori del pallone marmorizzato e un cane stupefatto.

Questo è stato il mio primo tentativo di distruggere le cose - senza ritardi, la foto scattata direttamente al momento dell'impatto e non è particolarmente eccitante.

Un ritardo di 10 ms era solo leggermente troppo presto per questa tazza.

Ho provato di nuovo con l'altra metà della tazza e un ritardo di 50 ms - solo leggermente troppo tardi Io sento:

Ho dato a 50 ms un'altra possibilità con questo vetro: assicurati di frantumare le cose in una scatola per rendere più facile la pulizia!

La cosa grandiosa delle reflex digitali è che puoi fare un milione di scatti fino a quando non lo fai, anche se il tuo vetro diventerà costoso. Sarò onesto, ho preso tutto il giorno a modificare e centinaia di colpi di pratica di me che applaudono per trovare le giuste impostazioni, quindi non arrenderti se non funziona correttamente la prima volta.

Una volta che sei annoiato di palloncini e occhiali, prova a sperimentare diversi tipi di grilletti: forse un sensore ping posto sul terreno che cattura l'oggetto che cade, o una luce laser e un fotodiodo che poggia appena sopra l'acqua che si innesca quando il raggio di luce viene interrotto. Fai dei buoni colpi? Facci sapere nei commenti come ti sei comportato o hai riscontrato problemi.

Scopri di più su: Arduino, Fotografia.