Índice:

Lapso de tempo controlado por movimento: 7 etapas (com imagens)
Lapso de tempo controlado por movimento: 7 etapas (com imagens)

Vídeo: Lapso de tempo controlado por movimento: 7 etapas (com imagens)

Vídeo: Lapso de tempo controlado por movimento: 7 etapas (com imagens)
Vídeo: O Tempo - Vídeo Motivacional 2024, Novembro
Anonim
Image
Image
O plano
O plano

Os intervalos de tempo são ótimos! Eles nos ajudam a dar uma olhada no mundo lento que podemos esquecer de apreciar sua beleza. Mas às vezes um vídeo de lapso de tempo constante pode ser enfadonho ou há tantas coisas acontecendo ao redor que apenas um ângulo não é suficiente. Vamos apimentar!

Neste Instructable, vou mostrar como fiz um dispositivo que vai adicionar movimento ao seu lapso de tempo. Vamos começar!

Etapa 1: O Plano

Eu queria que a câmera se movesse em duas direções, ou seja, nos eixos horizontal (X) e vertical (Y). Para isso, precisarei de dois motores.

Devemos ser capazes de escolher a posição inicial e final para ambos os eixos.

O movimento dos motores seria tal que a cada foto os eixos girassem 1 grau.

Para obter um controle tão preciso, estarei usando servo motores.

Além disso, devemos ser capazes de definir o intervalo de tempo.

Eu queria que fosse portátil, então decidi executá-lo com uma bateria LiPo, o que significa que será necessário carregar e aumentar o circuito.

E por último, o cérebro para controlar tudo isso será o Arduino. ATMega328p será usado como um microcontrolador autônomo.

Eu escolhi uma câmera GoPro por ser pequena e fazer intervalos de tempo com ela é fácil. Você pode ir com qualquer outra câmera pequena ou seu telefone celular.

Etapa 2: Lista de componentes

Lista de Componentes
Lista de Componentes
Lista de Componentes
Lista de Componentes
Lista de Componentes
Lista de Componentes

1x ATmega328p (com bootloader Arduino)

2x servo motor MG995

Conversor Boost 1x MT3608

Módulo de carregamento de bateria lipo 1x TP4056

1x interruptor SPDT

1x cristal de 16 MHz

2x capacitor 22pF

2 resistores de 10k

1x Potenciômetro (qualquer valor)

1x botão de pressão (normalmente aberto)

Opcional:

impressora 3d

Etapa 3: Projetando o PCB

Projetando o PCB
Projetando o PCB
Projetando o PCB
Projetando o PCB
Projetando o PCB
Projetando o PCB

Para tornar o circuito o menor possível, optei por uma placa de circuito impresso. Você pode gravar o quadro sozinho em casa ou deixar os profissionais fazerem o trabalho duro por você e foi isso que eu fiz.

Quando tudo está funcionando direito na placa de ensaio, podemos começar com o processo de design do PCB. Eu escolhi EasyEDA para design, pois torna as coisas mais fáceis para iniciantes como eu.

Verifique, verifique e verifique! Certifique-se de não perder nada. Quando tiver certeza absoluta, clique em Gerar Arquivo de Fabricação para baixar os arquivos Gerber ou você pode encomendá-lo diretamente do JLCPCB por apenas 2 $ usando a opção fornecida abaixo.

Depois de receber / fazer seu PCB, é hora de preenchê-lo. Mantenha seu diagrama de circuito pronto e comece a soldar os componentes de acordo com a marcação da serigrafia.

Limpe o PCB após a soldagem com álcool isopropílico para remover o resíduo de fluxo.

Etapa 4: juntando as coisas

Juntando as Coisas
Juntando as Coisas
Juntando as Coisas
Juntando as Coisas
Juntando as Coisas
Juntando as Coisas
Juntando as Coisas
Juntando as Coisas

Você não precisará de uma impressora 3D sofisticada. As peças podem ser construídas muito facilmente com ferramentas adequadas. Recentemente, comprei uma impressora 3D e estava ansioso para usá-la em meu projeto. Encontrei algumas das peças do Thingiverse.

Montagem GoPro:

Chifre de servo:

Solde os fios para o botão liga / desliga, potenciômetro e botão de pressão com conectores fêmeas e conecte-os aos conectores machos no PCB.

Baixe e abra o arquivo anexado no IDE do Arduino e envie o código para o seu Arduino. Após fazer o upload do código, remova o IC da placa Arduino e insira-o em seu PCB.

/ * Autor: IndoorGeek YouTube: www.youtube.com/IndoorGeek Obrigado por fazer o download. Espero que goste do projeto. * /

#incluir

Servo xServo;

Servo yServo;

int potPin = A0;

int val, xStart, xParar, yIniciar, yParar; botão int = 2; unsigned long timeInterval;

void setup () {

pinMode (botão, INPUT); xServo.attach (3); yServo.attach (4); }

void loop () {

xAxis (); atraso (1000); xStart = val; yAxis (); atraso (1000); yInício = val; xAxis (); atraso (1000); xStop = val; yAxis (); atraso (1000); yParar = val; setTimeInterval (); atraso (1000); timelapseStart (); }

void xAxis () {

enquanto (digitalRead (botão)! = HIGH) {val = analogRead (A0); val = mapa (val, 0, 1023, 0, 180); xServo.write (val); }}

void yAxis () {

enquanto (digitalRead (botão)! = HIGH) {val = analogRead (A0); val = mapa (val, 0, 1023, 0, 180); yServo.write (val); }}

void setTimeInterval () {// Alterar os intervalos de tempo de acordo com as configurações de lapso de tempo de sua câmera

enquanto (digitalRead (botão)! = HIGH) {val = analogRead (A0); if (val> = 0 && val = 171 && val = 342 && val = 513 && val = 684 && val = 855 && val <1023) {timeInterval = 60000L; }}}

void timelapseStart () {

sem sinal long lastMillis = 0; xServo.write (xStart); yServo.write (yStart); while (xIniciar! = xParar || yIniciar! = yParar) {if (millis () - lastMillis> timeInterval) {if (xIniciar xParar) {xServo.write (xIniciar); lastMillis = millis (); xStart--; } if (yIniciar xParar) {yServo.write (yIniciar); lastMillis = millis (); yStart--; }}}}

Etapa 5: Trabalhando

Trabalhando
Trabalhando
Trabalhando
Trabalhando

Ligue o interruptor principal.

O eixo X ficará ativo. Gire o potenciômetro para a posição de onde você deseja iniciar o lapso de tempo. Pressione o botão Selecionar para confirmar a posição inicial. Depois disso, o eixo Y estará ativo. Faça o mesmo para selecionar a posição inicial do eixo Y.

Repita o procedimento acima para a posição de parada do eixo X e Y.

Agora, usando o pote, selecione o intervalo de tempo entre cada tiro. A rotação do potenciômetro é dividida em 6 partes para intervalos de 1 seg, 2 seg, 5 seg, 10 seg, 30 seg e 60 seg. Você pode alterar os intervalos na função setTimeInterval () conforme mostrado na imagem. Pressione o botão Selecionar para confirmar.

Os servos chegarão à posição inicial e se moverão 1 grau após o intervalo de tempo.

Seqüência:

  1. Definir posição inicial do eixo X
  2. Definir posição inicial do eixo Y
  3. Definir posição de parada do eixo X
  4. Definir posição de parada do eixo Y
  5. Defina o intervalo de tempo

Etapa 6: atualizações futuras

Upgrades Futuros
Upgrades Futuros

1) Atualmente, devido a 1 foto / grau, o maior número de fotos que podemos obter é 180, pois os servos podem girar de 0 a 180 graus. Adicionar engrenagens aumentará a resolução. Assim, teremos mais fotos e, portanto, lapsos de tempo suaves. Sinto-me bastante confortável com a eletrônica, mas não tanto com o material mecânico. Estou ansioso para melhorá-lo.

2) O potenciômetro pode ser substituído por um codificador rotativo.

3) Controle sem fio, talvez ?!

Há muito o que aprender

Etapa 7: Divirta-se

Obrigado por ficar até o fim. Espero que todos vocês amem este projeto e aprendam algo novo hoje. Deixe-me saber se você fizer um para você. Inscreva-se no meu canal no YouTube para mais projetos futuros. Agradeço novamente!

Recomendado: