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

Annuncio pubblicitario

Annuncio pubblicitario
Annuncio pubblicitario

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. Dal momento che l'attivazione della fotocamera direttamente sarebbe troppo lenta, lasceremo l'otturatore della fotocamera aperto in una stanza buia e utilizzando un flash esterno per fornire luce a sufficienza per completare lo scatto.

Se sei completamente nuovo alla fotografia, dai un'occhiata ai miei 5 migliori consigli fotografici per principianti assoluti. I 5 migliori consigli fotografici per i principianti assoluti I 5 migliori consigli fotografici per i principianti assoluti Se sei un principiante assoluto in fotografia, ecco una manciata di suggerimenti che dovrebbero essere considerati "apprendimento essenziale". Ecco i primi cinque. 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.

arduino-circuito

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 innesco istantaneo, o solo alla giuria, inserirli direttamente nella presa: potrebbe essere necessario un po 'di Blu-Tack per farli rimanere al loro posto.

Flash-trigger

Ecco il circuito completato collegato al flash.

completato circuito

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 tutto funzioni, basta commentare le righe Serial.begin e Serial.println 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 scatta, 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 quel controllo.

Inoltre, nota il valore del ritardo 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; int threshold= 1; void setup() { pinMode(ledPin, OUTPUT); pinMode(cameraPin, OUTPUT); Serial.begin(9600); } void loop() { val = analogRead(piezo); if(val>0){ Serial.println(val); //used to debug } if (val>= threshold && (millis()-lastMillis>1000)) { delay(25); // change as needed, or remove entirely 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 metti la tua reflex digitale in modalità manuale e imposta il tempo di esposizione fino a 4 secondi o più . Imposta il diaframma su F8 o 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 della fotocamera impostata sulla messa a fuoco manuale e disabilita qualsiasi stabilizzazione, se ce l'hai. Gioca con i tempi del flash - Ho usato 1/128 di potenza - qualsiasi più alto di 1/32 e troverai il fuoco del flash troppo a lungo, risultante di nuovo in immagini sfocate. 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 è quello di uccidere 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.

hs-balloon2

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.

hs-balloon-1

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

HS-no-delay-glass

Un ritardo di 10 ms era appena un po ' troppo presto per questa tazza.

HS-10ms-tazza

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

HS-50ms-tazza

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

HS-50ms-glass

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 prove pratiche di applausi 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.

In this article