Una caratteristica del Dolly Photo è senza dubbio la rapidità di esecuzione della sequenza fotografica, ecco perché ho realizzato il Dolly Photo tempi in millisecondi:
La versione 1.0 del Dolly Photo gestisce il tempo di attesa tra un passo ed il successivo in secondi ( minimo 1 ) rallentando l’eseguzione della sequenza fotografica.
Alcuni fotografi mi hanno segnalato che se avessi la possibilità di regolare i tempi di attesa tra un passo ed il successivo in millisecondi potresti programmare maggiori scatti o spostare la macchina in minor tempo a parità di numero di passi da eseguire.
Ho deciso dunque di modificare tutta la gestione dei tempi nel Dolly Photo versione 2, da cui il salto di release da 1.0 a 2.0.
In pratica potrai gestire i tempi:
- di attesa tra un passo ed il successivo
- di pausa prima dello scatto
- di pausa dopo lo scatto
in millisecondi, ossia 1/1000 di secondo.
Cosa comporta la gestione Dolly Photo tempi in millisecondi
La modifica nella gestione dei tempi comporta innanzitutto che l’impostazione dei parametri nel Dolly non avviene più in secondi, per cui inserendo 1 ad esempio come tempo di pausa tra un passo ed il successivo otterrai che i passi si susseguiranno ad un millisecondo l’uno dall’altro.
Important!
Alcuni motori passo-passo non supportano velocità di rotazione così elevate, quindi impostando a 1 millisecondo il tempo tra un passo ed il successivo potresti ottenere l’immobilità del motore e l’emissione di un sibilo, questo indica un’impostazione errata dei tempi.
Dovrai impostare dei tempi maggiori per consentie al tuo Dolly Photo di spostare il carrello lungo la slitta.
Se vorrai fermare lo slider durante una sequenza di time-lapse prima dello scatto per 1 secondo, come nella versione 1.0, dovrai impostare 1000 al posto di 1.
Lo sketch per la gestione Dolly Photo versione 2
Lo sketch è il medesimo pubblicato nel precedente articolo: Dolly Photo automatizzare il ritorno carrello – seconda parte di seguito ti riporto le linee specifiche per la gestione dei tempi per mostrarti dove intervenire quando vorrai modificare il tuo Dolly Photo.
case 2: if ( (ctrlButton( analogRead( BUTTON )) == 3 ) && intervalloScatto <= 9999999) { intervalloScatto += 10; lcd.clear(); } if ( (ctrlButton( analogRead( BUTTON )) == 2 ) && intervalloScatto >= 1) { intervalloScatto -= 1; lcd.clear(); } sprintf(buffer, "%s %dms", secondario[(setModeLevel+1)], intervalloScatto); break; case 4: if ( (ctrlButton( analogRead( BUTTON )) == 3 ) && tempoAltPrima <= 9999999) { tempoAltPrima += 10; lcd.clear(); } if ( (ctrlButton( analogRead( BUTTON )) == 2 ) && tempoAltPrima >= 1) { tempoAltPrima -= 1; lcd.clear(); } sprintf(buffer, "%s %dms", secondario[(setModeLevel+1)], tempoAltPrima); break; case 6: if ( (ctrlButton( analogRead( BUTTON )) == 3 ) && tempoAltDopo <= 9999999) { tempoAltDopo += 10; lcd.clear(); } if ( (ctrlButton( analogRead( BUTTON )) == 2 ) && tempoAltDopo >= 1) { tempoAltDopo -= 1; lcd.clear(); } sprintf(buffer, "%s %dms", secondario[(setModeLevel+1)], tempoAltDopo); break;
nella funzione impostazioni() in cui setti i valori di funzionamento del Dolly Photo modifica le linee contenenti il comando sprintf() cambiando l’unità di misura da s (secondi) in ms (millisecondi);
la stessa operazioni ricordati di eseguirla anche nelle linee della funzione di verifica():
switch ( setModeLevel ) { case 0: sprintf(buffer, "%s %d", secondario[(setModeLevel+1)], passiXscatto); break; case 2: sprintf(buffer, "%s %dms", secondario[(setModeLevel+1)], intervalloScatto); break; case 4: sprintf(buffer, "%s %dms", secondario[(setModeLevel+1)], tempoAltPrima); break; case 6: sprintf(buffer, "%s %dms", secondario[(setModeLevel+1)], tempoAltDopo); break; case 8: sprintf(buffer, "%s %d", secondario[(setModeLevel+1)], numeroScatti); break; }
passa quindi alla funzione avvio() che ha il compito di eseguire la sequenza di foto come da impostazioni:
/**********************************************************/ for ( int passo=1; passo <= passiXscatto; passo++ ) { lcd.setCursor(7, 1); lcd.print( "passo:" ); lcd.setCursor(13, 1); lcd.print( passo ); if ( ctrlButton( analogRead( BUTTON )) == 3 ) { if ( !pausa() ) return; } nFase = fase( nFase ); nFase++; int _intervallo = intervalloScatto; if ( !ctrlDelay( _intervallo )) return; } /**********************************************************/
modifica le linee relative alle variabili _intervallo e ctrlDelay( _intervallo ) in modo che il valore impostato in fase di impostazione coincida con quello inviato alla funzione di controllo del tempo: ctrlDelay().
/**********************************************************/ int _tempo = tempoAltPrima; if ( !ctrlDelay( _tempo )) return; /**********************************************************/
Esegui le modifiche anche nei punti relativi al tempo di attesa prima dello scatto (vedi sopra) ed al tempo di attesa dopo lo scatto:
/**********************************************************/ _tempo = tempoAltDopo; if ( !ctrlDelay( _tempo )) return; /**********************************************************/
Queste sono le uniche modifiche che devi eseguire sul Dolly Photo tempi in millisecondi.
Il video del Dolly Photo versione 2
Buon time-lapse !!!
Prima di inserire un commento, per favore, leggi il regolamento
29 pings
Skip to comment form