«

»

Lug 01

Stampa Articolo

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

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

29 comments

Vai al modulo dei commenti

  1. Gianmaria

    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. Mauro Alfieri

      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

  2. Gianmaria

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

    1. Mauro Alfieri

      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

  3. gianmaria

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

    1. Mauro Alfieri

      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

    1. Mauro Alfieri

      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

  4. gianmaria

    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. Mauro Alfieri

      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

      1. andrea

        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. Mauro Alfieri

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

  5. gianmaria

    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. Mauro Alfieri

      Grazie Gianmaria,
      contributo molto apprezzato.

      Mauro

  6. Mario B.

    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. Mauro Alfieri

      Www grazie Mario!!!

  7. gianmaria

    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. Mauro Alfieri

      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

  8. gianmaria

    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. Mauro Alfieri

      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

  9. Gianmaria

    Puoi linkarmi come effettuare le rilevazioni dei pulsanti? grazie

    1. Mauro Alfieri

      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

  10. Gianmaria

    Grazie molte

  11. Giorgio

    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. Mauro Alfieri

      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

  12. Angelo

    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. Mauro Alfieri

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

      1. Angelo

        Ma vanno collegati tutti o solo quelli che servono?

        1. Mauro Alfieri

          Ciao Angelo,
          direi solo quelli che ti sono necessari.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>