Taula de continguts:

Controlador Arduino per a fotografia automàtica de productes de 360 °: 5 passos (amb imatges)
Controlador Arduino per a fotografia automàtica de productes de 360 °: 5 passos (amb imatges)

Vídeo: Controlador Arduino per a fotografia automàtica de productes de 360 °: 5 passos (amb imatges)

Vídeo: Controlador Arduino per a fotografia automàtica de productes de 360 °: 5 passos (amb imatges)
Vídeo: drone #shorts 2024, Desembre
Anonim
Image
Image
Reuneix parts i fitxers
Reuneix parts i fitxers

Construïm un controlador basat en arduino que controla un motor de pas i un obturador de càmera. Juntament amb una placa giratòria accionada per un motor de pas, es tracta d’un sistema potent i de baix cost per a la fotografia o fotogrametria automatitzada de productes de 360 °. L'obturador automàtic de la càmera es basa en una gran biblioteca de „Sebastian Setz“i funciona per a càmeres activades per infrarojos de Nikon, Canon, Minolta, Olympus, Pentax, Sony.

He preparat dues versions del controlador:

  • Una versió bàsica que s’utilitza amb un senzill polsador i un led d’estat.
  • Una versió avançada que utilitza un protector de teclat LCD + 16x2 i, per tant, té un menú per canviar les variables "sobre la marxa" i no només al codi font.

Què fa el controlador?

Si activeu una "resolució de fotos" prement el botó, el plat giratori realitza una revolució completa, dividida en una quantitat predeterminada de passos. Després de cada pas de rotació, el controlador fa un breu descans i després activa la càmera. Podreu canviar les variables de la velocitat de rotació, el temps de retard i el nombre de passos al codi font (per a la versió simple del controlador) o al menú de visualització (versió avançada del controlador).

Pas 1: reuniu parts i fitxers

Reuneix parts i fitxers
Reuneix parts i fitxers
Reuneix parts i fitxers
Reuneix parts i fitxers

Parts:

  • Arduino Uno (o similar)
  • Taula de pa (s'adapta a la tauleta de pa de mida mitjana)
  • Controlador de motor Stepper Easydriver
  • Dissipador de calor 2X per a Easydriver (opcional però altament recomanable) https://www.sparkfun.com/products/11510 Necessitareu cinta tèrmica per fixar el dissipador de calor al xip. Si demaneu el dissipador de calor, assegureu-vos que la cinta termal estigui inclosa o que es pugui demanar per separat.
  • LED d'infrarojos 950nm (per al disparador de la càmera IR)
  • Resistència de 220 ohms (pre-resistències per infraroig-LED)
  • Element de so piezoelèctric (opcional, si voleu obtenir sons de retroalimentació)
  • Alguns cables de pont
  • Font d'alimentació externa per Steppermotor He fet bones experiències amb un adaptador de corrent de 12V 1A per conduir un Steppermotor 1A NEMA 17 de Trinamic. També tenia un adaptador de corrent 24V 3A en ús. La placa Easydriver admet fins a 30 V i 750 mA per fase. Més informació sobre les especificacions de easydriver aquí:
  • Presa de corrent per a l'alimentació externa del motor de pas
  • Bipolar NEMA 17 Steppermotor i Turntable p.ex. l'enllaç "Plat giratori automatitzat amb Steppermotor" de FluxGarage:

Afegeix per a un controlador de polsador bàsic …

  • Polsador
  • Resistència de 10 k ohms (per al polsador)
  • LED (LED d'estat)
  • Resistència de 220 ohms (pre-resistències per LED d'estat)

… O afegiu un controlador avançat amb pantalla + menú del teclat:

Adafruit LCD Shield Kit amb pantalla de 16x2 caràcters, p. Ex

Descarregueu els codis Arduino i els diagrames Fritzing per al controlador bàsic i avançat:

Si voleu obrir el document Fritzing per al controlador avançat, assegureu-vos de descarregar i instal·lar els elements adafruit:

Tingueu en compte que a les imatges estic fent servir la placa base de Tinkerer de FluxGarage i la placa frontal de FluxGarage per a pantalla LCD de 16x2 + pantalla del teclat. L’ús d’aquests elements és opcional, si també voleu utilitzar-los, feu clic als enllaços per obtenir informació relativa a les instruccions.

Pas 2: Muntatge del circuit

Muntatge del circuit
Muntatge del circuit
Muntatge del circuit
Muntatge del circuit
Muntatge del circuit
Muntatge del circuit

Taula de soldadura Easydriver per a ús de taulers de suport: Per poder utilitzar el taulell de control de taula fàcil, heu de soldar algunes capçaleres de pins masculins al tauler. La millor manera és col·locar les capçaleres dels pins masculins a la placa, posar el controlador fàcil a la part superior i soldar els pins.

Cablatge: connecteu les parts com es mostra al gràfic Fritzing relatiu al controlador bàsic o avançat. Baixeu-vos els diagrames de Firtzing a github i trobeu els enllaços al pas 1.

Comproveu si tot està connectat de la següent manera:

  • Pin digital Arduino 02 = pin directori d'Easydriver
  • Pin digital Arduino 03 = pin de pas d'Easydriver
  • Pin digital Arduino 09 = sortida per piezo
  • Pin digital Arduino 12 = sortida per LED d'infrarojos (col·loqueu la resistència de 220 ohms abans del led)

+ per al controlador bàsic:

  • Pin digital Arduino 04 = entrada per polsador (col·loqueu la resistència de 10 k ohms abans que el botó es connecti a terra)
  • Pin digital Arduino 13 = sortida per LED d'estat (col·loqueu la resistència de 220 ohms abans del led)

+ per al controlador avançat:

Apileu la pantalla + pantalla del teclat a l’arduino, en realitat s’utilitzen aquests pins: pin analògic Arduino A4 + A5 i 5V + GND

Connect Steppermotor: El cablejat de motors pas a pas bipolars (4 cables) consisteix a connectar les dues bobines (A i B) del motor als pins de la placa easydriver de la dreta. Mireu el gràfic al mig d’aquesta pàgina i especificacions del motor pas a pas específic:

També podeu trobar més informació sobre el cablejat del motor pas a pas i l’Easydriver aquí:

Connecteu la font d'alimentació externa La placa Easydriver té dos pins d'alimentació separats a la part superior dreta (M + i terra). Tot i que la mateixa placa guanya energia de l’Arduino, l’entrada independent proporciona energia per al motor de pas. Si utilitzeu un adaptador de corrent típic "fora de la caixa" i una presa de corrent, hauríeu de connectar el cable "+" al pin "M +" del controlador fàcil d'utilització i el cable "-" al cable "easy" del controlador "GND". Normalment el "+" es troba al costat interior, mentre que el "-" es troba al costat exterior del tap. Però vés amb compte, alguns adaptadors de potència permeten canviar la polaritat. Si connecteu el vostre easydriver de manera incorrecta, es pot i probablement es farà malbé, tingueu-ho en compte.

Pas 3: pengeu Sourcecode a Arduino

Pengeu Sourcecode a Arduino
Pengeu Sourcecode a Arduino

Descarregueu el codi font Arduino a Github:

Descarregueu Arduino IDE:

www.arduino.cc/ca/Main/Software

Descarregueu les biblioteques de tercers i copieu-les a la carpeta de la biblioteca de l'IDE: … per a l'obturador de la càmera: https://github.com/dharmapurikar/Arduino/tree/mast…… per a la pantalla 16x2 + teclat Shield Adafruit: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…

El codi està provat i funciona bé amb l’últim Arduino IDE (1.8.7 a Windows) i Arduino Uno + Easydriver Stepper Motor Driver + Adafruit 16x2 Display + Keypad Shield, + un motor pas a pas Trinamic i una càmera Nikon D60.

Ajusteu el codi perquè funcioni amb la vostra càmera específica: com he dit, he utilitzat la biblioteca „multiCameraIrControl.h“de Sebastian Setz. Perquè funcioni per a la vostra càmera, heu de suprimir les barres incloses de comentaris abans del nom del fabricant de la càmera i, per descomptat, afegir barres incloses abans que la resta de noms del fabricant:

// Estableix el tipus de càmera Nikon D5000 (12); // Canon D5 (12); // Minolta A900 (12); // Olympus E5 (12); // Pentax K7 (12); // Sony A900 (12);

Feu els ajuts similars a la funció "snap":

// Feu una fotovoid snap () {D5000.shotNow (); // D5.shotNow (); // A900.shotNow (); // E5.shotNow (); // K7.shotNow (); // A900.shotNow ();}

Tingueu en compte que, per desgràcia, encara no he pogut provar altres càmeres activades per IR que la meva pròpia Nikon D60. La biblioteca de l'obturador de càmera hauria de funcionar amb diverses càmeres dels diferents fabricants, no només amb els models de càmera específics que s'esmenten al codi. Estaria molt bé que publiquéssiu un comentari sobre les vostres experiències amb la vostra càmera Canon, Minolta, Olympus, Pentax o Sony.

Pas 4: feu servir el controlador

Feu servir el controlador
Feu servir el controlador
Feu servir el controlador
Feu servir el controlador

Què fa el codi, respectivament, el controlador? Si premeu el botó, s'activarà una "resolució de fotos". Cada sessió de fotos és un bucle finit de la següent seqüència:

  1. La càmera s'activa
  2. Retard breu
  3. El Steppermotor girarà una quantitat predefinida de graus
  4. Retard breu

Una sessió de fotos es basa en un conjunt de variables que determinen el seu comportament exacte. Podeu canviar aquestes variables al codi font (per a la versió simple del controlador) o al menú de visualització (versió avançada del controlador).

Funcionament del controlador bàsic:

Al controlador bàsic, el LED d'estat mostra quan el sistema està preparat per funcionar. El LED s’apaga quan comenceu una sessió de fotos. Podeu interrompre una sessió de fotos mantenint premut el botó fins que aparegui el "so d'interrupció" i el plat giratori s'aturi. Mireu el vídeo a la secció superior d'aquest instructiu per veure-ho a la "vida real".

Les variables de la resolució de fotos es poden trobar a la secció superior del codi i es poden canviar per modificar-la. A continuació podeu veure els valors inicials:

int shootingsteps = 20; // nombre de passos per a una revolució completa, ha de ser de 10, 20 o 40 velocitat de tir flotant = 0,01; // velocitat de rotació: qualsevol número de.01 -> 1 amb l'1 més ràpid - Més lent és més fort (més lent = millor per a objectes "pesats") int de retard = 1000; // es trenca en mil·lisegons abans i després de cada rotació

Funcionament del controlador avançat:

En activar el controlador avançat, es mostra un logosplash de FluxGarage durant 4 segons. Després d'això, el controlador està preparat per mostrar-se i mostra una llista del conjunt ajustable de variables:

  • ST = Nombre de passos, pot ser de 10, 20 o 40
  • SP = Velocitat de rotació, pot ser d'1 a 5 mentre que 1 és la més lenta
  • DE = Retard abans i després de cada pas en dècimes de segon, pot ser de 5, 10, 25, 50
  • LI = Determina si la llum de fons de la pantalla està activada o apagada mentre es pren la fotografia. Pot ser 1 = activat o 0 = desactivat

Podeu navegar pels tipus de variables amb els botons esquerre i dret i canviar els valors amb els botons amunt i avall. Inicieu una sessió de fotos prement el botó de selecció i interrompeu una sessió de fotos mantenint premut el botó de selecció fins que aparegui el "so d'interrupció". Mireu el vídeo a la secció superior d'aquest instructiu per veure-ho a la "vida real".

Pas 5: Comenceu a disparar

Comenceu a disparar
Comenceu a disparar

Si heu creat el vostre propi controlador + plat giratori i la càmera està al seu lloc, ja esteu a punt per començar a disparar … gairebé. Permeteu-me compartir alguns aprenentatges dels meus propis experiments:

  • Utilitzeu una carpa lleugera per il·luminar els vostres objectes de manera uniforme. Podeu trobar molts bons tutorials aquí a instructables.com que mostren com crear un lightbox de bricolatge. A més, hi ha tendes de campanya tèxtils econòmiques que es poden comprar a moltes botigues en línia.
  • Utilitzeu bombetes amb la mateixa temperatura de color (Kelvin)
  • Enfoqueu l'objecte a la placa giratòria manualment, desactiveu l'enfocament automàtic de la càmera
  • Apagueu l'estabilitzador d'imatge de la càmera si treballeu amb un trípode
  • Seleccioneu un rang de mesura al fons, on no apareixerà l'objecte tret. En fer-ho, evitaràs parpellejar en la seqüència d’imatges. Una altra manera és configurar manualment els temps d’exposició de la càmera, etc.
  • Si voleu incloure les imatges de 360 ° al vostre lloc web, utilitzeu complements javascript com ara "Jquery Reel Plugin" de Petr Vostřel, àlies "PISI" → https://jquery.vostrel.cz/reel ara Visualitzador de productes de 360 graus "de" Codyhouse “→

Aquest és el resultat d'un dels meus rodatges (creat amb la configuració anterior):

Recomanat: