Índice:
- Etapa 1: reunir peças e arquivos
- Etapa 2: montar o circuito
- Etapa 3: fazer upload do código fonte para o Arduino
- Etapa 4: operar o controlador
- Etapa 5: comece a fotografar
Vídeo: Controlador Arduino para fotografia automatizada de produtos em 360 °: 5 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Vamos construir um controlador baseado em Arduino que controle um motor de passo e um obturador de câmera. Junto com uma mesa giratória acionada por motor de passo, este é um sistema poderoso e de baixo custo para fotografia automatizada de produtos em 360 ° ou fotogrametria. O obturador automático da câmera é baseado em uma grande biblioteca de „Sebastian Setz“e funciona para câmeras com disparo infravermelho da Nikon, Canon, Minolta, Olympus, Pentax, Sony.
Preparei duas versões do controlador:
- Uma versão básica que é operada com um botão simples e um led de status.
- Uma versão avançada que utiliza um teclado 16x2 LCD + escudo e, portanto, possui um menu para alterar as variáveis „on the fly“e não apenas no código fonte.
O que o controlador faz?
Se você acionar um „photoshooting“pressionando o botão, o toca-discos executa uma revolução completa, dividida em uma quantidade predefinida de etapas. Após cada etapa de rotação, o controlador faz uma pequena pausa e aciona a câmera. Você poderá alterar as variáveis da velocidade de rotação, o tempo de atraso e o número de etapas no código-fonte (para versão de controlador simples) ou no menu de exibição (versão de controlador avançado).
Etapa 1: reunir peças e arquivos
Partes:
- Arduino Uno (ou similar)
- Placa de ensaio (encaixe de placa de ensaio de meio tamanho)
- Driver do motor de passo Easydriver
- 2X dissipador de calor para Easydriver (opcional, mas ALTAMENTE recomendado) https://www.sparkfun.com/products/11510Você precisará de fita térmica para fixar o dissipador de calor no chip. Se você encomendar o seu dissipador de calor, certifique-se de que a fita térmica está incluída ou pode ser encomendada separadamente.
- LED infravermelho 950nm (para gatilho de câmera infravermelho)
- Resistor 220 ohms (pré-resistores para LED infravermelho)
- Elemento de som piezo (opcional, se você quiser sons de feedback)
- Alguns fios de ligação
- Fonte de alimentação externa para motor de passo Fiz boas experiências com um adaptador de alimentação 12V 1A para acionar um motor de passo 1A NEMA 17 da Trinamic. Eu também usei um adaptador de energia 24V 3A. A placa Easydriver suporta até 30 V e 750 mA por fase. Mais sobre as especificações do easydriver aqui:
- Soquete para fonte de alimentação externa do motor de passo
- Bipolar NEMA 17 Steppermotor and Turntable, por exemplo o FluxGarage „Plataforma giratória automatizada com Steppermotor“Link:
Adicionar para botão de controle básico …
- Botão de apertar
- Resistor de 10k ohms (para o botão)
- LED (led de status)
- Resistor 220 ohms (pré-resistores para LED de status)
… OU adicione para controlador avançado com menu display + teclado:
Kit Adafruit LCD Shield com display de caracteres 16x2, por ex
Baixe os códigos do Arduino e os diagramas Fritzing para o controlador básico e avançado:
Se você deseja abrir o documento Fritzing para o controlador avançado, certifique-se de baixar e instalar os elementos adafruit:
Observação: nas fotos estou usando o FluxGarage „Tinkerer's Baseplate“e o FluxGarage „Front Plate for 16x2 LCD + Keypad Shield“. Usar esses elementos é opcional, se você também quiser usá-los, clique nos links para os respectivos instructables.
Etapa 2: montar o circuito
Placa de solda Easydriver para uso em protoboard: Para usar o easydriver em uma protoboard, você precisa soldar alguns pinos machos na placa. A melhor maneira é colocar os conectores de pinos machos na placa de ensaio, colocar a chave fácil em cima e soldar os pinos.
Fiação: Faça a fiação das peças conforme mostrado no gráfico de Fritzing referente ao controlador básico ou avançado. Baixe os diagramas do Firtzing no github, encontre os links na etapa 1.
Verifique se tudo está conectado da seguinte maneira:
- Arduino digital pin 02 = dir pin do Easydriver
- Arduino digital pin 03 = step pin do Easydriver
- Pino digital do Arduino 09 = saída para piezo
- Pino digital 12 do Arduino = saída para LED infravermelho (coloque o pré-resistor de 220 ohms antes do led)
+ para controlador básico:
- Pino digital do Arduino 04 = entrada para o botão de pressão (coloque o resistor de 10k ohms antes do aterramento do botão)
- Pino digital 13 do Arduino = saída para LED de status (coloque o pré-resistor de 220 ohms antes do led)
+ para controlador avançado:
Empilhe a tela + proteção do teclado no arduino, na verdade esses pinos são usados: pino analógico do Arduino A4 + A5 e 5V + GND
Conecte o motor de passo: A fiação de motores de passo bipolares (4 fios) consiste em conectar as duas bobinas (A e B) do motor aos pinos direitos da placa easydriver. Dê uma olhada no gráfico no meio desta página e no especificações de seu motor de passo específico:
Você também pode encontrar mais informações sobre a fiação de seu motor de passo e do Easydriver aqui:
Conecte a fonte de alimentação externa A placa Easydriver possui dois pinos de alimentação separados no lado superior direito (M + e aterramento). Enquanto a própria placa ganha energia do Arduino, a entrada separada fornece energia para o motor de passo. Se você usar um adaptador de força "pronto para uso" típico e um soquete, você deve conectar o fio "+" ao pino "M +" do easydriver e o fio "-" ao pino "GND" do easydriver. Normalmente o „+“está no lado interno, enquanto o „-“está no lado externo do plugue. Mas tenha cuidado, alguns adaptadores de energia permitem mudar a polaridade! Se você ligar o seu easydriver incorretamente, ele pode e provavelmente será danificado, tenha isso em mente.
Etapa 3: fazer upload do código fonte para o Arduino
Baixe o código fonte do Arduino no Github:
Baixe o IDE do Arduino:
www.arduino.cc/en/Main/Software
Baixe as bibliotecas de terceiros e copie-as para a pasta da biblioteca do seu IDE:… para o obturador da câmera: https://github.com/dharmapurikar/Arduino/tree/mast…… para o monitor Adafruit 16x2 + proteção do teclado: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…
O código foi testado e funciona bem com o Arduino IDE mais recente (1.8.7 no Windows) e Arduino Uno + Driver do motor de passo Easydriver + Monitor Adafruit 16x2 + Proteção do teclado, + um motor de passo Trinamic e uma câmera Nikon D60.
Ajuste o código para trabalhar com sua câmera específica: Como mencionado, usei a biblioteca „multiCameraIrControl.h“de Sebastian Setz. Para que funcione para a sua câmera, você deve excluir as barras de comentário antes do nome do fabricante da câmera e, claro, adicionar barras antes de todos os outros nomes de fabricante:
// Definir tipo de câmeraNikon D5000 (12); // Canon D5 (12); // Minolta A900 (12); // Olympus E5 (12); // Pentax K7 (12); // Sony A900 (12);
Faça o ajuste semelhante na função "snap":
// Faça um snap picturevoid () {D5000.shotNow (); // D5.shotNow (); // A900.shotNow (); // E5.shotNow (); // K7.shotNow (); // A900.shotNow ();}
Observação: infelizmente, ainda não fui capaz de testar outras câmeras acionadas por infravermelho além da minha Nikon D60. A biblioteca do obturador de câmera deve funcionar com várias câmeras de diferentes fabricantes, não apenas com os modelos de câmera específicos mencionados no código. Seria ótimo se você postasse um comentário sobre suas experiências com sua câmera Canon, Minolta, Olympus, Pentax ou Sony.
Etapa 4: operar o controlador
O que faz o código, respectivamente, o controlador faz? Se você apertar o botão, um "photoshooting" é acionado. Cada sessão de fotos é um loop finito da seguinte sequência:
- Câmera é acionada
- Atraso curto
- O motor de passo irá girar uma quantidade predefinida de graus
- Atraso curto
Uma sessão de fotos é baseada em um conjunto de variáveis que determinam seu comportamento exato. Você pode alterar essas variáveis no código-fonte (para versão do controlador simples) ou no menu de exibição (versão do controlador avançado).
Operando o controlador básico:
No controlador básico, o LED de status mostra quando o sistema está pronto para funcionar. O LED apaga quando você inicia uma sessão de fotos. Você pode interromper uma sessão de fotos segurando o botão até que o “som de interrupção” apareça e o toca-discos pare. Dê uma olhada no vídeo na seção superior deste instrutível para ver isso na "vida real".
As variáveis da sessão de fotos podem ser encontradas na seção superior do código e podem ser alteradas para modificar a sessão de fotos. Abaixo você pode ver os valores iniciais:
passos de tiro int = 20; // número de passos para uma revolução completa, deve ser 10, 20 ou 40float shootingspeed = 0.01; // velocidade de rotação: qualquer número de.01 -> 1 com 1 sendo mais rápido - Mais lento é mais forte (mais lento = melhor para objetos „pesados“) int shootingdelay = 1000; // quebra em milissegundos antes e depois de cada rotação
Operando o controlador avançado:
Ao ligar o controlador avançado, um logosplash do FluxGarage é mostrado por 4 segundos. Depois disso, o controlador está pronto para executar e mostra uma lista do conjunto ajustável de variáveis:
- ST = Número de etapas, pode ser 10, 20 ou 40
- SP = Velocidade de rotação, pode ser 1-5 enquanto 1 é o mais lento
- DE = Atraso antes e depois de cada etapa em décimos de segundo, pode ser 5, 10, 25, 50
- LI = Determina se a luz de fundo do monitor está ligada ou desligada durante a captura. Pode ser 1 = ligado ou 0 = desligado
Você pode navegar pelos tipos de variáveis com os botões esquerdo e direito e alterar os valores com os botões para cima e para baixo. Inicie uma sessão de fotos pressionando o botão selecionar e interrompa uma sessão de fotos segurando o botão selecionar até que apareça o “som de interrupção”. Dê uma olhada no vídeo na seção superior deste instrutível para ver isso na "vida real".
Etapa 5: comece a fotografar
Se você construiu seu próprio controlador + toca-discos e sua câmera está no lugar, você está pronto para começar a fotografar … quase. Deixe-me compartilhar algumas lições de minhas próprias experiências:
- Use uma tenda leve para iluminar seus objetos uniformemente. Você pode encontrar muitos bons tutoriais aqui em instructables.com que mostram como criar uma caixa de luz DIY. Além disso, existem barracas leves de tecido de baixo custo que podem ser compradas em muitas lojas online.
- Use lâmpadas com a mesma temperatura de cor (Kelvin)
- Foque o objeto na plataforma giratória manualmente, desative o foco automático da sua câmera
- Desligue o estabilizador de imagem da câmera, se estiver trabalhando com um tripé
- Selecione uma faixa de medição no fundo, onde o objeto fotografado não aparecerá. Ao fazer isso, você evitará oscilações na sequência de imagens. Outra forma é definir manualmente os tempos de exposição da câmera, etc.
- Se você quiser incluir suas imagens 360 em seu site, use plug-ins de javascript como „Jquery Reel Plugin“de Petr Vostřel alias „PISI” → https://jquery.vostrel.cz/reel Se360 Degrees Product Viewer “por„ Codyhouse “→
Este é o resultado de um dos meus tiroteios (criado com a configuração acima):
Recomendado:
Selecionando um motor de etapa e driver para um projeto de tela de sombra automatizada do Arduino: 12 etapas (com imagens)
Selecionando um motor de etapa e driver para um projeto de tela de sombra automatizada do Arduino: Neste instrutivo, passarei pelas etapas que executei para selecionar um motor de etapa e driver para um projeto de protótipo de tela de sombra automatizada. As telas de sombra são os modelos populares e baratos Coolaroo com manivela, e eu queria substituí-la
Privacidade do PC - Privacidade automatizada do Arduino para o seu computador: 5 etapas (com imagens)
Pc-Privacy - Arduino Automated Privacy for Your Computer: The Problem: Se você mora com outras pessoas ou tem seu próprio escritório, você pode estar familiarizado com o problema de pessoas que aparecem aleatoriamente em sua sala enquanto você está trabalhando em dados confidenciais ou apenas tem alguns coisas estranhas abrem na 2ª tela de h
Instalando MPLAB X para produtos ChipKIT: 6 etapas
Instalando MPLAB X para produtos ChipKIT: Muitos de vocês que seguem minha série For Cheap Robots estão familiarizados com como usar MPIDE com produtos chipKIT. Você pode até estar familiarizado com como usar o IDE Arduino com essas placas. Até agora, no entanto, não usei muito o MPLAB X.MPLAB X is a p
Stand DIY LED SOFTBOX para fotografia de produtos: 27 etapas (com fotos)
DIY LED SOFTBOX Stand para fotografia de produto: Aprenda como fazer uma lâmpada SOFTBOX LED em CASA fácil Papelão DIY #DIY #Softbox #Light #Film #Studio #HowToMake #Cardboard #LED #Bulb # DiyAtHome ▶ Basta seguir as instruções passo a passo em o vídeo e divirta-se experimentando você mesmo !!! ▶ Por favor, eu
Robot Gong: Ideia final do projeto Hackaton para viciados em vendas e produtos (sem necessidade de codificação): 17 etapas (com imagens)
Robot Gong: Ideia final do projeto Hackaton para vendas e geeks de produtos (sem necessidade de codificação): Vamos construir um gongo musical robótico acionado por e-mail. Isso permite que você configure alertas de e-mail automatizados para disparar o gong … (via SalesForce, Trello, Basecamp …) Sua equipe nunca mais se esquecerá de " GONGGG " quando um novo código for lançado, um dea