Dolly Photo tempi in millisecondi – terza parte

Una caratteristica del Dolly Photo è senza dubbio la rapidità di esecuzione della sequenza fotografica, ecco perché ho realizzato il Dolly Photo tempi in millisecondi:

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.

Dolly Photo  tempi in millisecondi

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.

Dolly Photo  tempi in millisecondi

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.

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 !!!

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/dolly-photo-tempi-in-millisecondi-terza-parte.html

29 commenti

Vai al modulo dei commenti

    • Gianmaria il 28 Agosto 2013 alle 11:30
    • Rispondi

    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

    1. 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

    • Gianmaria il 29 Agosto 2013 alle 00:21
    • Rispondi

    Ma non va proprio o c’è la possibilità che magari non ottimamente ma qualcosa vada?
    Grazie Mauro

    1. 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

    • gianmaria il 29 Agosto 2013 alle 14:38
    • Rispondi

    Ma riesci a consigliarmi un motore passo passo adatto perché su robot italy cé ne sono parecchi diversi

    1. 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

    • gianmaria il 29 Agosto 2013 alle 18:00
    • Rispondi

    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

    1. 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

    • gianmaria il 31 Agosto 2013 alle 17:36
    • Rispondi

    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

    1. 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

        • andrea il 28 Aprile 2015 alle 11:30
        • Rispondi

        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

        1. 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..

    • gianmaria il 1 Settembre 2013 alle 16:58
    • Rispondi

    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 😀

    1. Grazie Gianmaria,
      contributo molto apprezzato.

      Mauro

    • Mario B. il 9 Settembre 2013 alle 23:13
    • Rispondi

    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

    1. Www grazie Mario!!!

    • gianmaria il 9 Ottobre 2013 alle 17:57
    • Rispondi

    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?

    1. 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

    • gianmaria il 12 Ottobre 2013 alle 17:04
    • Rispondi

    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

    1. 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

    • Gianmaria il 13 Ottobre 2013 alle 14:20
    • Rispondi

    Puoi linkarmi come effettuare le rilevazioni dei pulsanti? grazie

    1. 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

    • Gianmaria il 14 Ottobre 2013 alle 10:49
    • Rispondi

    Grazie molte

    • Giorgio il 21 Settembre 2015 alle 23:37
    • Rispondi

    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

    1. 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

    • Angelo il 30 Settembre 2017 alle 00:16
    • Rispondi

    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?

    1. Ciao Angelo,
      si dovrbbero essere gli stessi, l’arduino nano ha la medesima arditettura dell’Arduino Uno se non ricordo male.

        • Angelo il 2 Ottobre 2017 alle 17:15
        • Rispondi

        Ma vanno collegati tutti o solo quelli che servono?

        1. Ciao Angelo,
          direi solo quelli che ti sono necessari.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.