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 !!!
29 commenti
Vai al modulo dei commenti
Ciao Mauro, mi imbatto in un problema, avevo acquistato un motore del genere :http://pages.ebay.com/link/?nav=item.view&id=120907934790
Va bene per questo progetto?
Altrimenti, riesci a consigliarmi un motore tra quelli su robot Italy? Perché leggendo i tuoi progetti non vedo specifiche dettagliate al riguardo
Grazie mille
Autore
Ciao Gianmaria,
questo progetto è stato realizzato per motori passo-passo e quello da te acquistato è un motoriduttore più adatto ad uno slider che a un dolly per time laspe.
Mauro
Ma non va proprio o c’è la possibilità che magari non ottimamente ma qualcosa vada?
Grazie Mauro
Autore
Ciao Giammaria,
La differenza tra un motore passo-passo ed un motoriduttore é che il primo si controlla ad impulsi/passo ed il secondo no.
Puoi usare quel motore ma dovrai riscrivere il 75% circa dello sketch e riadattare la logica di funzionamento. In internet trovi dei Progetti per Dolly realizzati con motoriduttori ed anche io sto lavorando ad un progetto che sarà in vendita come scheda completa di software ed hardware per natale, almeno spero.
Mauro
Ma riesci a consigliarmi un motore passo passo adatto perché su robot italy cé ne sono parecchi diversi
Autore
Ciao Gianmaria,
su http://www.robot-domestici.it trovi tutto il kit Dolly realizzato da me già pronto, comprensivo di scheda controllo motore, lcd e pulsanti.
Mauro
ok mauro ma siccome ho tutta la componentistica, mi manca solo la tipologia di motore, non lo trovo sensato, se mi consigli che coppia deve avere, quante fasi, quanti fili?
cioe quale tra questi per esempio (quindi anche altri):
http://www.robot-domestici.it/joomla/component/virtuemart/robotica-domotica/motori/motori-passo-passo/stepper-motor-with-cable
http://www.robot-domestici.it/joomla/component/virtuemart/robotica-domotica/motori/motori-passo-passo/stepper-motor-68-ozin-400-stepsrev
http://www.robot-domestici.it/joomla/component/virtuemart/robotica-domotica/motori/motori-passo-passo/motore-passo-passo-bipolare-25-a
Autore
Ciao Giammaria,
probabilmente mi sono spiegato male, non intendevo farti acquistare tutto il kit ma solo darti un riferimento da cui prendere il modello di motore.
Il motore passo passo che ho inserito nel kit dolly é un 200 passi con assorbimento per fase inferiore a 2A e flangia di connessione NEMA17; tuttavia puoi utilizzare qualsiasi motore passo passo bipolare a catalogo purché non assorba più di 2A per fase e abbia la coppia necessaria a spostare il tuo Dolly, questo dipende dalla meccanica che possiedi.
Mauro
Mi resta un’ultima perplessità, dove trovo, in che sito, luogo paese o cosa, delle puleggie o non so come chiamarle, che si attaccano al pignone del motorino per trasmettere il movimento.
Tipo questa per esempio;: http://oi44.tinypic.com/10yjeh3.jpg
Grazie mille
Autore
Ciao Gianmaria,
condivido il tuo problema anche io non so dove acquistare pulegge e cinghie per la trasmissione del moto.
Se qualche appassionato lettore del blog sa dove acquistarle sono interessato anche io.
Mauro
ciao ragazzi
ho letto i commenti e vi riporto un sito molto utile (io ho acquistato qui i componenti del mio primo (disastroso dolly)
ovviamente le parti meccaniche sono le uniche che sto mantenendo seguendo il tuo progetto mauro , l’elettronica l’ho cambiata seguendo il tuo dettagliato tutorial.
il sito che vi dicevo è (sono veloci e brillanti c’e tutto l’occorrente) e sopratutto spediscono molto in fretta
spero vi sia utile.
http://www.cnc-store.it/cinghie-pulegge-pulegge-dentate-at516-c-26_40_76.html
saluti
Autore
Ciao Andrea,
grazie per il link.
Non li conosco e non ho mai utilizzato il materiale distribuito per cui invito chi fa acquisti da loro a rivolgersi direttamente al rivenditore per chiarimenti in merito a datasheet, connessioni ecc..
ho trovato questo link interessante:
http://www.hobbyking.com/hobbyking/store/RC_PRODUCT_SEARCH.asp?strSearch=pulley
ecco definitivamente:
http://www.adafruit.com/category/122
spero di aver aiutato 😀
Autore
Grazie Gianmaria,
contributo molto apprezzato.
Mauro
Perché andare all’estero quando ci sono anche qui in Italia. 🙂
http://www.cnc-store.it/cinghie-pulegge-pulegge-dentate-t510-c-26_40_47.html
Autore
Www grazie Mario!!!
Ciao Mauro, il finalmente mi è arrivato lo schermetto.. il problema ora è che appena parte, fa lo spashscreen con scritto mauro alfieri ecc.. e poi si spegne, se premo un tasto scrive: in attesa si comandi, di nuovo lo splash screen e si spegne e via cosi…
cosa posso fare?
Autore
Ciao Gianmaria,
Intendi la Keypad LCD?
Controlla che versione hai, ci sono lievi differenze tra la versione 1.0 e la versione 1.1 trovi un articolo dedicato a tali differenze.
Mauro
ciao mauro, ho la SainSmart lcd keypad shield 1602.
Il problema è che proprio non mi si avvia, resta su in attesa di comandi e poi si riavvia..
Dall’articolo del verisone 1.0 o 1.1 no ne trovo risposta, per favore non parlarmi di lavori su commissione, ho dedicato molto tempo e danaro e manca così poco
Autore
Ciao Gianmaria,
la Keypad LCD che hai acquistato non é nessuna di quelle che ho utilizzato per i miei progetti e non l’avevo mai sentita prima di oggi.
Puoi provare a fare da solo le rilevazioni dei valori sui pulsanti come ho spiegato in più articoli.
Costruisco dei kit per agevolare la costruzione dei miei progetti chi si discosta dal kit sceglie di provarci da solo e di acquisire le competenze per colmare le differenze dal kit.
Non ti propongo lavori su commissione, quelli li eseguo per chi sceglie le mie soluzioni o ha un progetto che non ho mai descritto nel mio blog gratuito, per tutti gli altri ci sono molti articoli da cui imparare ed anche un corso online, sempre gratuito.
Mauro
Puoi linkarmi come effettuare le rilevazioni dei pulsanti? grazie
Autore
Ciao Gianmaria,
trovi tutto nel blog, sono molti articoli e non ricordo in ciascuno cosa ho scritto, a memoria trovi la spiegazione nell’articolo dedicato alla Keypad LCD.
Mauro
Grazie molte
Ciao Mauro
sono in attesa del kit per realizzare il dolly e nel frattempo penso come implementare ulteriormente il tuo progetto, secondo te si potrebbe integrare il tutto con una scheda bluetooth e magari settore i valore dal telefono ? Magari mantenendo il display per poterli visualizzare. Forse sto dicendo fesserie ma magari potrebbe essere il dolly 3.0 …
grazie sei il numero 1 !!!
Giorgio
Autore
Ciao Giorgio,
il bello dei progetti con arduino è che puoi fargli fare tutto quello che desideri, mi piacerebbe ricevere le tue modifiche del Dolly v.3
Mauro
Buonasera Mauro, sto cercando di riprodurre il tuo dolli anche se sto solo adattando motore ed elettronica a qualcosa di già esistente.
sto utilizzando come monitor il kpad lcd v1.1 un driver pololu 8825 ed arduino nano dovendo collegare il monitor keypad ad arduino nano i pin da collegare quali sono?
voglio dire va collegato comunque come se lo sovrapponessi ad arduino uno?
Autore
Ciao Angelo,
si dovrbbero essere gli stessi, l’arduino nano ha la medesima arditettura dell’Arduino Uno se non ricordo male.
Ma vanno collegati tutti o solo quelli che servono?
Autore
Ciao Angelo,
direi solo quelli che ti sono necessari.