Índice:

Controle deslizante de fotografia DIY: 4 etapas
Controle deslizante de fotografia DIY: 4 etapas

Vídeo: Controle deslizante de fotografia DIY: 4 etapas

Vídeo: Controle deslizante de fotografia DIY: 4 etapas
Vídeo: The Fey Key | Critical Role | Campaign 3, Episode 47 2024, Julho
Anonim
Controle deslizante de fotografia DIY
Controle deslizante de fotografia DIY

Olá pessoal! este é o meu projeto para um controle deslizante de câmera DIY, tive dificuldades com o meu, mas tenho certeza de que se você prestar mais atenção aos detalhes, vai funcionar!

em teoria, isso deve funcionar totalmente

Se você decidir fazer isso, espero que goste!

Etapa 1: Reúna seus materiais

Reúna seus materiais
Reúna seus materiais
Reúna seus materiais
Reúna seus materiais
Reúna seus materiais
Reúna seus materiais

Materiais Eletrônicos

  • Arduino
  • dois servos 360
  • tábua de pão
  • resistores
  • botões (de preferência 3)

Materiais de construção

  • dois pedaços de placa de espuma
  • Pedaços de cavilha de madeira (podem ser de metal)
  • peças de madeira em formato oval (consulte a imagem de introdução da imagem).

Etapa 2: Configuração

Configurar!
Configurar!

esta foto é o diagrama de circuito

siga isso e seu projeto funcionará!

Etapa 3: Montagem da placa de ensaio

Montagem do breadboard!
Montagem do breadboard!
  • em primeiro lugar, conecte o positivo e o aterrado à placa de ensaio.
  • em segundo lugar, conecte os dois servos … e tenha dois fios passando para o terra e positivo, e outro para o pino que você escolher. (observe que o código terá os pinos que eu escolhi)..
  • em seguida, monte seus botões … lembre-se de conectar aos pinos de sua escolha, mas o código não funcionará se você não usar os pinos que eu escolhi. conecte os botões ao aterramento também.
  • e usar um resistor 220.
  • por último, se quiser usar um monitor LCD, você terá que conectar 2 pinos à entrada analógica e um fio ao terminal positivo.

Etapa 4: O código do Arduino

#include #include #include

LiquidCrystal_I2C lcd (0x27, 16, 2); // define o endereço LCD para 0x27 para um display de 16 caracteres e 2 linhas

Servo servoLeft; // Definir servo esquerdo Servo servoRight; // Defina o servo correto

const int startbut = 8; // pino para startbut (startbutton) const int forwardbut = 12; // pino para forwardbut (forwardbutton) const int reversebut = 13; // pino para reversebut (reversebutton) int tim = 500; // o valor do tempo de atraso int flag = 0; contagem interna = 0;

char array1 = "bem-vindo"; // a string a ser impressa no LCD ("bem-vindo") char array2 = "push left = LEFT, right = RIGHT!"; // a string a ser impressa no LCD ("push left = LEFT, right = RIGHT")

void setup () {servoLeft.attach (10); // Defina o servo esquerdo para o pino digital 10 servoRight.attach (9); // Defina o servo direito para o pino digital 9 servoLeft.write (90); // definir servos para 90 graus servoRight.write (90); atraso (100);

// transforma o pino em entradas pinMode (startbut, INPUT); // inicializa o startbut (startbutton) como uma entrada pinMode (reversebut, INPUT); // inicializa o reversebut (reversebutton) como uma entrada pinMode (forwardbut, INPUT); // inicializa o forwardbut (forwardbutton) como uma entrada

}

void loop () {// Loop através de testes de movimento // código para monitor LCD if (flag == 1 && count == 0) {count = 1; lcd.init (); // inicializa o lcd lcd.backlight (); // abre a luz de fundo

lcd.setCursor (15, 0); // define o cursor para a coluna 15, linha 0 para (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Rola o conteúdo do display um espaço à esquerda. lcd.print (array1 [positionCounter1]); // Imprime uma mensagem no LCD. atraso (tim); // aguarde 250 microssegundos} lcd.clear (); // Limpa a tela LCD e posiciona o cursor no canto superior esquerdo. lcd.setCursor (15, 1); // define o cursor para a coluna 15, linha 1 para (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Rola o conteúdo do display um espaço à esquerda. lcd.print (array2 [positionCounter]); // Imprime uma mensagem no LCD. atraso (tim); // aguarde 250 microssegundos} lcd.clear (); // Limpa a tela LCD e posiciona o cursor no canto superior esquerdo. } ///////////////////////////////////////////////////// //////////////////////////////////////////////////////// ///////////////////////////////////////////

/ verifique se os botões foram pressionados if (digitalRead (startbut) == 1) {flag = 1; // sinalizar variável para o botão iniciar}

if (flag == 1) {if (digitalRead (reversebut) == HIGH) // reversebut pressionado irá ligar um servo {reverse (); // variável reversa para o botão reverso} else if (digitalRead (forwardbut) == HIGH) // forwardbut pressionado irá ligar um servo {forward (); // variável de avanço para botão de avanço} else {stop (); // pare a variável para parar o movimento dos servos quando os botões não forem pressionados}}

}

// Rotinas de movimento para avançar, retroceder e parar void forward () {// comando forward servoLeft.write (0); // direção em que os servos giram servoRight.write (180); } void stop () {// comando de parada servoLeft.write (90); // pára ambos os servos no mesmo local, caso contrário, eles estariam em posições diferentes servoRight.write (90); } void reverse () {// comando reverso servoLeft.write (180); // servos são ativados na direção oposta servoRight.write (0); }

aqui está o código para o sucesso! depois de configurar seu arduino, tudo deve funcionar! e aproveitar!

se não funcionar, dê uma olhada neste instrutível e verifique tudo!

Recomendado: