Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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
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
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
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:
- Definir posição inicial do eixo X
- Definir posição inicial do eixo Y
- Definir posição de parada do eixo X
- Definir posição de parada do eixo Y
- Defina o intervalo de tempo
Etapa 6: atualizações futuras
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!