Índice:

Arduino Servo Tester: 4 etapas
Arduino Servo Tester: 4 etapas
Anonim
Arduino Servo Tester
Arduino Servo Tester
Arduino Servo Tester
Arduino Servo Tester

Aqui, demonstramos como controlar um servo de um Arduino sem um computador. O uso dessa interface portátil acelera muito o processo de prototipagem, ao determinar os limites de rotação do servo. É especialmente útil quando você tem muitos servos, como nós.

Se você estiver usando este Instructable como parte da série Modified InMoov Robot, lembre-se de que esta é uma versão inacabada do painel de controle, montado na parte traseira do robô. Você pode usá-lo como fizemos para ajudar a determinar seus limites de servo.

Se você está apenas esperando controlar alguns servos com nosso método para outro projeto, ou apenas por diversão, este Instructable ainda é para você, então não saia da página! Observe que algumas imagens têm anotações, portanto, olhe para cada uma individualmente.

Vamos começar!

Suprimentos

Nem todos os suprimentos estão listados aqui, leia todo o Instructable

- 1 x Arduino Uno

- 1 x módulo de energia, 5A DC-DC conversor abaixador (Usamos este módulo, mas você também pode usar algo assim)

- 1 x LCD I2C (é o que usamos, mas qualquer LCD serial ou praticamente qualquer LCD padrão funciona)

- Teclado de matriz 1 x 4x4 (por exemplo)

- Um breadboard e / ou um perfboard. Se você estiver usando a placa de desempenho, você precisará de pinos de cabeçalho como os encontrados aqui, bem como de todo o equipamento necessário para soldar.

- Fios jumper macho para macho, macho para fêmea, fêmea para fêmea; resistores variados, LEDs e fios de placa de ensaio.

- Uma espécie de rodapé. Usamos acrílico transparente de 1/4 . Você pode usar qualquer material immalleable e fácil de perfurar.

- Dobradiças, parafusos, porcas / parafusos, supercola

Etapa 1: rodapé

Rodapé
Rodapé
Rodapé
Rodapé
Rodapé
Rodapé

Você vai querer fazer uma base resistente para seus eletrônicos. Se você estiver fazendo isso para o robô InMoov modificado, ele precisará acomodar outro Arduino Uno (talvez Mega), um Raspberry Pi3 e várias placas de ensaio e / ou placas de desempenho para controle de servo / sensor. Nosso painel base tinha cerca de 7x15 . Você pode ver as fotos acima para o layout geral dos módulos. Montamos o teclado e o LCD na tampa para que o painel só tivesse que ser aberto em caso de falha, prototipagem ou manutenção Como você pode ver, a tampa dobra-se na parte inferior e trava na parte superior por meio de um velcro.

Tente organizar seus microcontroladores em um lado da placa. O módulo de energia não é poderoso o suficiente para acionar todos os seus servos no robô concluído. Na verdade, ele não pode nem mesmo acionar 3 servos de alto torque do tipo usado no antebraço sem que a chave de corrente interna desligue a energia. Em qualquer caso, o exemplo de código fornecido funciona apenas para um objeto servo, portanto, você pode testar com esta configuração. Posicione este módulo próximo aos controladores, pois este será o seu regulador de energia, bem como fornecerá energia para alguns microsservos que drenam a corrente de parada irrelevante - mas isso fica para depois …

Configure o LCD e o teclado na parte externa da tampa que você está usando, ou na lateral, mas perto do Arduino.

Se você está fazendo isso por si mesmo, tente configurar sua placa em um layout semelhante. Você pode não precisar da tampa superior, nem de 3 placas de ensaio - mas os componentes precisam ser dispostos de maneira lógica, como a última foto de outro projeto, que também usa um teclado e LCD. Você pode substituir o circuito à esquerda por uma placa de ensaio ou omiti-lo totalmente.

Etapa 2: Testar o LCD I2C e o teclado

Testando o I2C LCD e teclado
Testando o I2C LCD e teclado
Testando o I2C LCD e teclado
Testando o I2C LCD e teclado

Agora iremos testar o teclado e o LCD ao mesmo tempo. Faça as conexões conforme a figura acima e execute o código em anexo. Você precisará baixar as bibliotecas ZIP para liquidCrystal_I2C.h se ainda não as tiver; também, você precisará importar as bibliotecas Keypad.he Wire.h (isso pode ser feito no IDE).

O arquivo Fritzing também está anexado. Você não precisa alimentar nada do módulo de energia ainda, embora você pudesse, se quisesse. O Arduino terá energia suficiente do cabo USB, pelo qual você carrega o código.

Quando você carrega seu código, o LCD deve solicitar que você pressione uma tecla no teclado; uma vez pressionado, o LCD imprime a tecla pressionada. Você pode ter que alterar o layout da matriz do teclado; veja os comentários no código para esclarecimento.

Etapa 3: Controlando o Servo

Controlando o Servo
Controlando o Servo
Controlando o Servo
Controlando o Servo
Controlando o Servo
Controlando o Servo

Agora vamos levar este projeto um passo adiante e adicionar um servo. Você precisa conectá-lo ao pino digital 10, conforme definido no código, ou pode alterá-lo para atender às suas necessidades. Siga o diagrama de Fritzing acima; é igual ao anterior com exceção do servo, LED cátodo comum RGB e campainha. Os dois últimos são usados para complementar a interface do usuário - avisos e status serão exibidos no LED e através da campainha. Vemos acima como estamos usando o servo testador completo para definir limites para o antebraço e a mão robóticos da InMoov.

Baixe o código em anexo e execute-o. Pressionar A abre um painel de informações; tudo o mais deve ser autoexplicativo.

Neste ponto, você pode usar o módulo de energia para alimentar o servo separadamente; especialmente se houver uma grande chance de que o servo alcance a corrente de estol.

Se desejar, você pode montar a campainha e o LED em uma placa de desempenho, conforme mostrado acima. Isso é útil porque servirá mais tarde como uma placa de breakout para os servos e é mais organizado no geral.

Tente inserir um valor maior que 180 graus para o servo - veja o que acontece!

Etapa 4: produto concluído

Produto Concluído
Produto Concluído

Agora você pode controlar servos com esta interface manual. Algumas dicas são mencionadas aqui.

Solução de problemas:

-LCD não funciona: verifique todas as suas conexões, e se você inicializou o LCD com o número correto de linhas e colunas

-O teclado não funciona: verifique as conexões

-O teclado funciona, mas os números errados são impressos: você tem duas alternativas aqui. Você pode rotular novamente a matriz no código (ou seja, se você estiver imprimindo A em vez de 1, rotular novamente de 'A' para '1'), ou pode refazer a fiação, tomando cuidado especial para garantir que todos os fios vão para os pinos certos no Arduino.

-LED não funciona: verifique se você está usando um LED de cátodo comum (terra comum). Caso contrário, você pode inverter todos os sinais que enviar a ele (ou seja, alterar de ALTO para BAIXO) e conectar o ânodo comum a + 5V.

Em breve estaremos postando um pequeno vídeo no Youtube demonstrando os recursos deste dispositivo; bem como, como uma série completa sobre a construção de nosso Robô InMoov Modificado. Você pode ler mais sobre o InMoov original aqui. Se este Instructable for inscrito em um concurso, vote nele! Qualquer coisa que ganharmos nos ajudará a acelerar o projeto e, conseqüentemente, instructables adicionais neste tópico.

Este Instructable foi editado pela última vez em 5 de outubro de 2019.

Recomendado: