Índice:

Controlador PCA9685 de Tim: 5 etapas (com imagens)
Controlador PCA9685 de Tim: 5 etapas (com imagens)

Vídeo: Controlador PCA9685 de Tim: 5 etapas (com imagens)

Vídeo: Controlador PCA9685 de Tim: 5 etapas (com imagens)
Vídeo: Python Programmable DIY Robot Arm (1 of 5) 2024, Julho
Anonim
Controlador PCA9685 de Tim
Controlador PCA9685 de Tim

Muitos projetos feitos com o Arduino envolvem o uso de um Servo.

Se estiver usando apenas um ou dois servos, eles podem ser controlados diretamente de um Arduino usando uma biblioteca e alocando pinos para fazer isso.

Mas para projetos que precisam de muitos servo para serem controlados, o (vamos dar seu nome completo) PCA9685 16 canais, PWM Fm + I2C-bus LED Controlador de 16 canais, pode ser a melhor escolha.

O controlador de LED PCA9685, embora projetado para controlar LEDs, pode ser configurado para controlar Servo. (Ficha de dados)

O PCA9685 se comunica via I2C e possui 64 endereços possíveis, isso significa que 64 desses dispositivos podem ser encadeados um após o outro, cada um com 16 servo ou LED acoplados a cada um. Isso totaliza 1.024 números que podem ser controlados a partir de um Arduino.

Agora, tendo um projeto que tem muitos Servo para controlar, digamos um robô de quatro patas. Cada perna tem dois servos para controlá-la. (começamos de forma simples, em teoria meu aplicativo pode controlar 1024)

Configurando oito servo, encontrando a configuração de trim para cada um, determinando lá max. e min. posições, pode ser muito demorado.

Escrever e reescrever o código para ver o que acontece pode ser uma dor de cabeça.

Portanto, decido fazer um aplicativo para tornar as coisas simples e ajudar a encontrar cada configuração de Servo necessária e ser capaz de executar sequências (script) para testar comandos enviados ao servo.

Etapa 1: conexões

"carregando =" preguiçoso"

A seção Script é a parte divertida, onde você pode criar sequências de posições Servo.

Faça com que seu projeto faça o que você deseja.

  • O botão Adicionar valor adiciona as configurações atuais do controle deslizante.
  • O botão Adicionar atraso adiciona um atraso em milissegundos definido na caixa ao lado do botão.
  • O botão Adicionar endereço adiciona uma chave de comando a um PCA9685 diferente (alterar o endereço para o canto superior esquerdo), também usado para alterar o modo, modo servo ou modo LED.
  • O botão Executar Script F executa o script atual adiante.
  • O botão Executar Script R executa o script atual ao contrário.
  • A caixa de seleção Loop faz com que o script atual seja executado continuamente, quando um dos botões Executar Script é pressionado. Para interromper o loop, desmarque a caixa de seleção.
  • O botão Limpar Script faz exatamente isso, limpa todos os comandos do script.
  • O botão Carregar carrega um script salvo anteriormente.
  • O botão Salvar salva o script atual.

Observação!

Não escrevi nenhum script de verificação no aplicativo, o script deve seguir as seguintes regras:

Uma linha por comando, valores separados por um espaço.

  • O servo comando começa com "S" seguido por dezesseis valores, cada valor entre 0 e 600
  • O comando do LED começa com "L" seguido por dezesseis valores, cada valor entre 0 e 4095
  • O comando Dely começa com "D" seguido por um valor, entre 0 e 10.000
  • O comando de endereço começa com "A" seguido por um valor e uma palavra. O valor entre 0 e 64. A palavra sendo "Servo" ou "LED".

O aplicativo pode controlar servo ou LED, não coloque LED e servo no mesmo Breakout Board, servo e LED precisam de frequências diferentes para funcionar corretamente.

Se você tentar controlar o servo com as configurações de LED, eles podem pirar, não vai prejudicá-los, mas se eles forem instalados em um projeto, você pode não querer que eles mudem para alguma posição.

Eu fiz um vídeo de um script simples.

Etapa 5: Epílogo

Conforme as instruções vão nos Instructables, a maioria das pessoas espera terminar com um item físico no final de uma instrução.

Acho que não existe uma categoria realista para software.

Suponho que você poderia classificá-lo como uma ferramenta, mas a instrução não é como fazer a ferramenta, é como usá-la.

Esperançosamente, tendo uma ferramenta como esta, as pessoas serão capazes de fazer projetos melhores com o Arduino usando Servos ou matrizes de LED.

Desculpe o vídeo do projeto em ação, eu estava usando uma placa de breakout ESP32-CAM com outro aplicativo que fiz para visualizar imagens do ESP32-CAM.

EDITAR

Eu melhorei isso.

As atualizações podem ser encontradas aqui: Tims_PCA_9685_Controller

Recomendado: