Sommario:

Controller Arduino per la fotografia di prodotti automatizzata a 360°: 5 passaggi (con immagini)
Controller Arduino per la fotografia di prodotti automatizzata a 360°: 5 passaggi (con immagini)

Video: Controller Arduino per la fotografia di prodotti automatizzata a 360°: 5 passaggi (con immagini)

Video: Controller Arduino per la fotografia di prodotti automatizzata a 360°: 5 passaggi (con immagini)
Video: Arduino Controller for DIY Automated Turntable with Camera Shutter for 360° Product Photography 2024, Luglio
Anonim
Image
Image
Raccogli parti e file
Raccogli parti e file

Costruiamo un controller basato su arduino che controlla un motore passo-passo e un otturatore della fotocamera. Insieme a un giradischi azionato da un motore passo-passo, questo è un sistema potente ed economico per la fotografia o la fotogrammetria automatizzata di prodotti a 360°. L'otturatore automatico della fotocamera si basa su una grande libreria di "Sebastian Setz" e funziona per fotocamere con attivazione a infrarossi di Nikon, Canon, Minolta, Olympus, Pentax, Sony.

Ho preparato due versioni del controller:

  • Una versione base che si aziona con un semplice pulsante e un led di stato.
  • Una versione avanzata che utilizza uno schermo LCD 16x2 + tastiera e quindi ha un menu per modificare le variabili "al volo" e non solo nel codice sorgente.

Cosa fa il controllore?

Se si attiva un "servizio fotografico" premendo il pulsante, il giradischi esegue un giro completo, suddiviso in una quantità predefinita di passaggi. Dopo ogni passaggio di rotazione, il controller fa una breve pausa e quindi attiva la fotocamera. Potrai modificare le variabili della velocità di rotazione, del tempo di ritardo e del numero di passi nel codice sorgente (per versione controller semplice) o nel menu di visualizzazione (versione controller avanzato).

Passaggio 1: raccogliere parti e file

Raccogli parti e file
Raccogli parti e file
Raccogli parti e file
Raccogli parti e file

Parti:

  • Arduino Uno (o simile)
  • Breadboard (adatto per breadboard di mezza misura)
  • Driver per motore passo-passo Easydriver
  • Dissipatore 2X per Easydriver (opzionale ma ALTAMENTE consigliato) https://www.sparkfun.com/products/11510 Avrai bisogno di nastro termico per fissare il dissipatore di calore sul chip. Se ordini il tuo dissipatore di calore, assicurati che il nastro termico sia incluso o che possa essere ordinato separatamente.
  • LED a infrarossi 950 nm (per trigger telecamera IR)
  • Resistenza 220 ohm (preresistenze per LED infrarossi)
  • Elemento sonoro piezo (opzionale, se si desidera avere suoni di feedback)
  • Alcuni ponticelli
  • Alimentatore esterno per motore passo-passo Ho fatto buone esperienze con un adattatore di alimentazione 12V 1A per pilotare un motore passo-passo NEMA 17 da 1A di Trinamic. Avevo anche un adattatore di alimentazione 24V 3A in uso. La scheda Easydriver supporta fino a 30V e 750mA per fase. Maggiori informazioni sulle specifiche di easydriver qui:
  • Presa per alimentazione esterna del motore passo-passo
  • Motore passo-passo e giradischi bipolari NEMA 17, ad es. il FluxGarage "Giradischi automatico con motore passo-passo" Link:

Aggiungi per pulsantiera di base…

  • Premi il bottone
  • Resistenza 10k ohm (per il pulsante)
  • LED (led di stato)
  • Resistenza 220 ohm (pre-resistenze per LED di stato)

… OPPURE aggiungere per controller avanzato con menu display+tastiera:

Adafruit LCD Shield Kit con display a caratteri 16x2, ad es

Scarica i codici Arduino e i diagrammi di Fritzing per controller di base e avanzato:

Se vuoi aprire il documento Fritzing per il controller avanzato, assicurati di scaricare e installare gli elementi adafruit:

Si prega di notare: Nelle immagini sto usando FluxGarage "piastra di base per bricolage" e FluxGarage "piastra frontale per schermo LCD 16x2 + tastiera". L'utilizzo di questi elementi è facoltativo, se si desidera utilizzarli anche, fare clic sui collegamenti per le istruzioni relative.

Passaggio 2: assemblare il circuito

Assemblare il circuito
Assemblare il circuito
Assemblare il circuito
Assemblare il circuito
Assemblare il circuito
Assemblare il circuito

Saldare la scheda Easydriver per l'uso su breadboard: per utilizzare l'easydriver su una breadboard, è necessario saldare alcuni connettori maschio sulla scheda. Il modo migliore è inserire le intestazioni dei pin maschio nella breadboard, posizionare l'easydriver sopra e quindi saldare i pin.

Cablaggio: cablare le parti come mostrato nella relativa grafica di Fritzing per il controller di base o avanzato. Scarica i diagrammi di Firtzing su github, trova i collegamenti nel passaggio 1.

Ricontrolla se tutto è collegato come segue:

  • Pin digitale Arduino 02 = pin dir di Easydriver
  • Pin digitale Arduino 03 = pin passo di Easydriver
  • Pin digitale Arduino 09 = uscita per piezo
  • Pin digitale Arduino 12 = uscita per LED infrarossi (posizionare un pre resistore da 220 ohm prima del LED)

+ per il controller di base:

  • Pin digitale Arduino 04 = ingresso per pulsante (posizionare una resistenza da 10k ohm prima della massa del pulsante)
  • Pin digitale Arduino 13 = uscita per LED di stato (posizionare un pre resistore da 220 ohm prima del led)

+ per controller avanzato:

Impila il display + lo shield della tastiera sull'arduino, in realtà vengono utilizzati quei pin: pin analogico Arduino A4+A5 e 5V+GND

Connect Steppermotor:Il cablaggio dei motori passo-passo bipolari (4 fili) consiste nel collegare le due bobine (A e B) del motore ai pin di destra della scheda easydriver. Dai un'occhiata al grafico al centro di questa pagina e al specifiche del tuo motore passo-passo specifico:

Puoi anche trovare maggiori informazioni sul cablaggio del tuo motore passo-passo e dell'Easydriver qui:

Collegamento dell'alimentazione esterna La scheda Easydriver ha due pin di alimentazione separati in alto a destra (M+ e Ground). Mentre la scheda stessa ottiene energia dall'Arduino, l'ingresso separato fornisce alimentazione al motore passo-passo. Se si utilizza un tipico adattatore di alimentazione "pronto all'uso" e una presa, è necessario collegare il filo "+" al pin "M+" di easydriver e il filo "-" al pin "GND" di easydriver. Di solito il "+" si trova sul lato interno, mentre il "-" si trova sul lato esterno della spina. Ma attenzione, alcuni alimentatori consentono di invertire la polarità! Se colleghi il tuo easydriver in modo errato, potrebbe e probabilmente sarà danneggiato, tienilo a mente.

Passaggio 3: carica il codice sorgente su Arduino

Carica il codice sorgente su Arduino
Carica il codice sorgente su Arduino

Scarica il codice sorgente di Arduino su Github:

Scarica Arduino IDE:

www.arduino.cc/en/Main/Software

Scarica le librerie di terze parti e copiale nella cartella della libreria del tuo IDE:… per l'otturatore della fotocamera: https://github.com/dharmapurikar/Arduino/tree/mast…… per Adafruit 16x2 Display+Keypad Shield: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…

Il codice è testato e funziona bene con l'ultimo Arduino IDE (1.8.7 su Windows) e Arduino Uno + driver per motore passo-passo Easydriver + display Adafruit 16x2 + protezione tastiera, + un motore passo-passo Trinamic e una fotocamera Nikon D60.

Regola il codice per lavorare con la tua fotocamera specifica: come accennato, ho usato la libreria "multiCameraIrControl.h" di Sebastian Setz. Per farlo funzionare per la tua fotocamera, devi eliminare le barre dei commenti prima del nome del produttore della fotocamera e, naturalmente, aggiungere le barre prima di tutti gli altri nomi del produttore:

// Imposta il tipo di fotocameraNikon D5000(12);//Canon D5(12);//Minolta A900(12);//Olympus E5(12);//Pentax K7(12);//Sony A900(12);

Eseguire la regolazione simile nella funzione "scatta":

// Scatta una foto senza scatto(){D5000.shotNow();//D5.shotNow();//A900.shotNow();//E5.shotNow();//K7.shotNow();//A900.shotNow();}

Nota: sfortunatamente, non ero ancora in grado di testare altre fotocamere con attivazione IR oltre alla mia Nikon D60. La libreria dell'otturatore della fotocamera dovrebbe funzionare con diverse fotocamere di diversi produttori, non solo con i modelli di fotocamere specifici menzionati nel codice. Sarebbe bello se pubblichi un commento sulle tue esperienze con la tua fotocamera Canon, Minolta, Olympus, Pentax o Sony.

Passaggio 4: utilizzare il controller

Azionare il controller
Azionare il controller
Azionare il controller
Azionare il controller

Cosa fa il codice rispettivamente il controller? Se si preme il pulsante, viene attivato un "servizio fotografico". Ogni servizio fotografico è un ciclo finito della seguente sequenza:

  1. La fotocamera è attivata
  2. Breve ritardo
  3. Il motore passo-passo ruoterà di una quantità predefinita di gradi
  4. Breve ritardo

Un servizio fotografico si basa su un insieme di variabili che ne determinano l'esatto comportamento. È possibile modificare queste variabili nel codice sorgente (per la versione del controller semplice) o nel menu del display (versione del controller avanzato).

Funzionamento del controller di base:

Sul controller di base il LED di stato mostra quando il sistema è pronto per funzionare. Il LED si spegne quando si avvia un servizio fotografico. È possibile interrompere un servizio fotografico tenendo premuto il pulsante finché non viene visualizzato il "suono di interruzione" e il giradischi si ferma. Dai un'occhiata al video nella sezione superiore di questo istruibile per vederlo nella "vita reale".

Le variabili del servizio fotografico si trovano nella parte superiore del codice e possono essere modificate per modificare il servizio fotografico. Di seguito puoi vedere i valori iniziali:

int passi di tiro = 20; // numero di passi per un giro completo, dovrebbe essere 10, 20 o 40 float velocità di tiro = 0,01; // velocità di rotazione: qualsiasi numero da.01 -> 1 dove 1 è il più veloce - Più lento è più forte (più lento = migliore per oggetti "pesanti") int shootingdelay = 1000; // pausa in millisecondi prima e dopo ogni rotazione

Utilizzo del controller avanzato:

Quando si accende il controller avanzato, viene visualizzato un logo FluxGarage per 4 secondi. Successivamente, il controller è pronto per eseguire e mostra un elenco del set di variabili regolabili:

  • ST = Numero di passi, può essere 10, 20 o 40
  • SP = Velocità di rotazione, può essere 1-5 mentre 1 è il più lento
  • DE = Ritardo prima e dopo ogni passo in decimi di secondo, può essere 5, 10, 25, 50
  • LI = Determina se la luce di sfondo del display è accesa o spenta durante le riprese. Può essere 1 = acceso o 0 = spento

È possibile navigare tra i tipi di variabili con i pulsanti sinistro e destro e modificare i valori con i pulsanti su e giù. Avviare un servizio fotografico premendo il pulsante di selezione e interromperlo tenendo premuto il pulsante di selezione finché non viene visualizzato il "suono di interruzione". Dai un'occhiata al video nella sezione superiore di questo istruibile per vederlo nella "vita reale".

Passaggio 5: inizia a scattare

Inizia a sparare
Inizia a sparare

Se hai costruito il tuo controller + giradischi e la tua fotocamera è a posto, sei pronto per iniziare a scattare… quasi. Permettetemi di condividere alcuni insegnamenti dai miei esperimenti:

  • Usa una tenda leggera per illuminare i tuoi oggetti in modo uniforme. Puoi trovare molti buoni tutorial qui su instructables.com che mostrano come creare una lightbox fai-da-te. Inoltre, ci sono tende leggere in tessuto economiche che possono essere acquistate in molti negozi online.
  • Usa lampadine con la stessa temperatura di colore (Kelvin)
  • Metti a fuoco manualmente l'oggetto sul giradischi, disattiva la messa a fuoco automatica della fotocamera
  • Disattiva lo stabilizzatore d'immagine della fotocamera, se lavori con un treppiede
  • Seleziona un intervallo di misurazione sullo sfondo, in cui l'oggetto ripreso non verrà visualizzato. In questo modo, eviterai lo sfarfallio nella sequenza di immagini. Un altro modo è impostare manualmente i tempi di esposizione della fotocamera, ecc.
  • Se vuoi includere le tue immagini 360 nel tuo sito web, usa plugin javascript come "Jquery Reel Plugin" di Petr Vostřel alias "PISI" → https://jquery.vostrel.cz/reel "360 Degrees Product Viewer" di "Codyhouse" “→

Questo è il risultato di uno dei miei scatti (creato con l'impostazione di cui sopra):

Consigliato: