Índice:

Pega automática usando um sensor a laser e comandos de voz: 5 etapas (com imagens)
Pega automática usando um sensor a laser e comandos de voz: 5 etapas (com imagens)

Vídeo: Pega automática usando um sensor a laser e comandos de voz: 5 etapas (com imagens)

Vídeo: Pega automática usando um sensor a laser e comandos de voz: 5 etapas (com imagens)
Vídeo: Acidente de trabalho em máquina 2024, Novembro
Anonim
Image
Image
A lista de peças
A lista de peças

Pegar objetos que nos parecem simples e naturais é de fato uma tarefa complexa. O homem usa o sentido da visão para determinar a distância do objeto que deseja agarrar. A mão se abre automaticamente quando está próxima ao objeto sendo agarrado e então se fecha rapidamente para agarrar bem o objeto. Usei essa técnica de forma simplificada neste miniprojeto, mas em vez da câmera usei um sensor a laser para estimar a distância do objeto da pinça e comandos de voz para controle.

Etapa 1: a lista de peças

A lista de peças
A lista de peças

Neste pequeno projeto, você só precisará de algumas das partes listadas abaixo. Como controlador usei o Arduino mega 2560, mas você também pode usar o UNO ou qualquer outro Arduino. Como sensor de distância usei um sensor laser VL53L0X que tem boa precisão (cerca de alguns milímetros) e alcance de até 2 metros. Neste projeto, você pode usar para testar qualquer garra e servo, mas você deve alimentá-lo de uma fonte de alimentação separada, por exemplo: uma fonte de alimentação de 5 V ou uma bateria LiPo (7,4 V ou 11,1 V) através de um conversor abaixador que reduz a tensão a 5V.

Peças necessárias neste projeto:

  • VL53L0X Laser ToF Sensor x1
  • Servo digital x1
  • Arduino mega 2560 x1
  • Garra de metal robotizada x1
  • Breadboard x1
  • Botão tátil x1
  • Bluetooth HC-06
  • Resistor 10k x1
  • Fonte de alimentação 5V / 2A

Versão extendida:

  1. Módulo Sensor de Monitor de Corrente CJMCU-219 x1
  2. WS2812 RGB LED Driver Development Board x1

Etapa 2: Conexão de peças eletrônicas

Conexão de peças eletrônicas
Conexão de peças eletrônicas
Conexão de peças eletrônicas
Conexão de peças eletrônicas
Conexão de peças eletrônicas
Conexão de peças eletrônicas

A primeira figura mostra todas as conexões necessárias. Nas fotos a seguir você pode ver as próximas etapas de conexão de módulos individuais. No início, o botão de pressão era conectado ao pino 2 do Arduino, depois o servo ao pino 3 e finalmente o sensor de distância a laser VL53L0X via barramento I2C (SDA, SCL).

As conexões dos módulos eletrônicos são as seguintes:

Sensor a laser VL53L0X -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5V
  • GND - GND

Servo -> Arduino Mega 2560

Sinal (fio laranja) - 3

Servo -> Fonte de alimentação 5V / 2A

  • GND (fio marrom) - GND
  • VCC (fio vermelho) - 5V

Botão de pressão -> Arduino Mega 2560

  • Pino 1 - 3,3 ou 5V
  • Pinos 2 - 2 (e através do resistor de 10k para o aterramento)

Bluetooth (HC-06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5V
  • GND - GND

Etapa 3: Mega Código Arduino

Arduino Mega Code
Arduino Mega Code

Preparei os seguintes programas de amostra do Arduino disponíveis em meu GitHub:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

O primeiro programa denominado "VL53L0X_gripper_control" realiza a tarefa de preensão automática de um objeto que foi detectado pelo sensor laser VL53L0X. Antes de compilar e enviar o programa de amostra, certifique-se de ter escolhido "Arduino Mega 2560" como a plataforma de destino, conforme mostrado acima (Arduino IDE -> Ferramentas -> Placa -> Arduino Mega ou Mega 2560). O programa Arduino verifica no loop principal - "void loop ()" se a nova leitura do sensor a laser chegou (função readRangeContinuousMillimeter ()). Se a distância lida do sensor "distance_mm" for maior que o valor "THRESHOLD_CLOSING_DISTANCE_FAR" ou menor que "THRESHOLD_CLOSING_DISTANCE_NEAR" então o servo começa a fechar. Em outros casos, ele começa a abrir. Na próxima parte do programa, na função "digitalRead (gripperOpenButtonPin)", o estado do botão de pressão é controlado constantemente e se for pressionado, a pinça abrirá apesar de estar fechada devido à proximidade do objeto (distance_mm é menor que THRESHOLD_CLOSING_DISTANCE_NEAR).

O segundo programa "Voice_VL53L0X_gripper_control" permite que você controle a garra usando comandos de voz. Os comandos de voz são processados pelo aplicativo BT Voice Control for Arduino do Google Play e posteriormente enviados via bluetooth para o Arduino. O programa Arduino verifica no loop principal - "void loop ()" se o novo comando (caractere) foi enviado do aplicativo Android via bluetooth. Se houver qualquer caractere de entrada do serial do bluetooth, o programa lê os dados seriais até encontrar o final da instrução de voz "#". Em seguida, ele inicia a execução da função "void processInput ()" e, dependendo do comando de voz, uma função de controle específica é chamada.

Etapa 4: Teste de preensão automática

Testando Pega Automática
Testando Pega Automática
Testando Pega Automática
Testando Pega Automática

O vídeo da "Etapa 1" mostra testes de garra de robô com base no programa da seção anterior "Arduino Mega Code". Este vídeo mostra como ele abre automaticamente quando o objeto está perto dele e, em seguida, agarra esse objeto se estiver ao alcance da garra. O feedback do sensor de distância a laser usado aqui é claramente visível na parte posterior do vídeo, quando movo a garrafa para frente e para trás, o que causa uma reação rápida e uma mudança no controle da garra.

Etapa 5: Pega Automática Ativada por Voz

Image
Image
Epilog Challenge 9
Epilog Challenge 9

Na próxima etapa no desenvolvimento deste projeto, adicionei o controle de voz a ele. Graças ao comando de voz, posso controlar o fechamento, a abertura e a velocidade da pinça. O controle de voz, neste caso, é muito útil ao abrir a garra que segura o objeto. Ele substitui o botão e permite fácil controle da pinça colocada no robô móvel.

Se gostou deste projeto não esqueça de votar e escrever no comentário o que gostaria de ver no próximo post como mais uma melhoria deste projeto:) Confira meus outros projetos relacionados à robótica, basta acessar:

  • Youtube
  • meu website

Recomendado: