Braço Robótico com Joystick

No Blog BRAIN da Eletrogate, já existe um tutorial sobre Braço Robótico. Mas controlado com potenciômetros.

Kit Braço Robótico MDF com Arduino

Para facilitar o controle do Braço Robótico, criei esse novo tutorial. Com Joysticks, o manuseio do braço fica bem interessante! Controlando com potenciômetros, o braço ajusta os movimentos de acordo com os valores da tensões nos Pots. Se você gira o potenciômetro, o servomotor vai movimentar-se e parar no valor PWM correspondente à tensão no Pot.

Usando Joysticks, o controle da movimentação é diferente. Se você soltar a manete do Joystick, ele volta para a posição inicial. Portanto não é possível usar a mesma programação do Braço Robótico com potenciômetros. Irei explicar detalhadamente como tudo funciona. Leia todo o tutorial até o final.

Componentes necessários:

Para quem não conhece um Joystick, é um mecanismo de controle, que possui dois potenciômetros (5 K ohms) e um botão que pode ser acionado quando a manete é pressionada. Esse é um diagrama de um Joystick:

Para que o Arduino possa fazer a leitura da tensão sobre cada Joystick, ele precisa estar conectado no pino +5 V e no pino terra (GND). Assim as tensões nas portas analógicas poderão variar entre 5 e Zero Volts. O joystick com a manete liberada (posição inicial) corresponde à tensão de aproximadamente 2,5V.

Se você ainda não montou as peças do Braço Robótico, eu criei esse manual com dezenas de figuras ilustrativas, que irão facilitar bastante a montagem. Baixe o manual no link abaixo :

Manual de montagem do Braço Robótico

Recomendo que faça a montagem do Braço Robótico e dos dois Joysticks sobre uma base de madeira. Prenda as peças com parafusos.  A base de madeira deve ter no mínimo 20 x 25 cm. Monte o Arduino na base do Braço Robótico (já tem furação para isso). Para facilitar a montagem, use também um Sensor Shield. Esse Sensor Shield V 5.0 deve ser montado sobre o Arduino.

Sensor Shield V5.0 para Arduino

Na fiação do servomotor da Garra sugiro montar uma extensão (três fios) , para permitir maior flexibilidade do braço.

Faça a montagem das ligações de acordo com os diagramas abaixo. Os joysticks devem ser  conectados nas portas analógicas e os servomotores nas portas digitais do Arduino.

O Joystick de controle da Garra e da Base eu deixei no lado esquerdo. E o Joystick que controla a altura e a profundidade do Braço, eu deixei no lado direito. Veja no diagrama que as portas A0, A1, A2 e A3 do Arduino devem ser conectadas nos Joysticks. Não se esqueça de conectar o +5V e terra nos dois módulos de Joystick também.

Os Servomotores devem ser conectados de acordo com o diagrama abaixo:

  • Servomotor Garra = D10                            Servomotor Altura = D11
  • Servomotor Base = D09                             Servomotor Profundidade = D06

 

Conecte os fios vermelhos (+VCC) do Servomotor nos pinos V do Sensor Shield. E os fios marrons (GND) nos pinos G. Os fios Laranjas (PWM) conecte-os nas portas digitais correspondentes à cada servomotor.

O servomotor que controla a Altura fica no lado esquerdo do Braço Robótico. E o servomotor que controla a Profundidade fica no lado direito. (olhando por trás do braço robótico).

Para a alimentação de todo o conjunto do Braço Robótico, use uma fonte de alimentação de 5V com a corrente mínima de 1 A. Os fios da fonte deverão ser ligados no conector azul do Sensor Shield. Atenção para a polaridade! Negativo da fonte no terra (GND) e o positivo no +5V.

Para evitar problemas de ruídos na fonte, poderá conectar também um capacitor de 1000 uF/16V no mesmo conector azul. Atenção também para a polaridade.

Ao lado do conector azul, tem um jumper. Mantenha-o conectado nos pinos.

Não use esse braço robótico, conectando o Arduino no seu computador sem usar uma fonte externa. Pois sobrecarregará o regulador de 5V do Arduino e assim danificá-lo.

Depois de tudo montado, carregue a programação do Arduino. Desenvolvi a programação, permitindo a movimentação das partes do Braço Robótico, controlada pelos joysticks. Enquanto o joystick for acionado para uma das posições, o servomotor estará se movimentando. Quando parar de acionar o joystick, o servomotor também irá parar. E ficará paralisado na posição escolhida. O controle da garra é diferente, devido à rapidez do movimento. Para manter a garra presa, por exemplo, deverá manter o joystick na posição correspondente.

 

Logo abaixo está o  programa Sketch que eu desenvolvi para esse projeto. Se ainda não instalou a biblioteca Servo na Arduino IDE use o procedimento através da própria Arduino IDE.  Clique em Sketch / Incluir Biblioteca / Gerenciar Biblioteca. Após a abertura da janela do Gerenciador de Bibliotecas, procure pela biblioteca Servo e instale-a.

 

Você já deve saber que o servomotor gira 180 graus. Portanto o Arduino pode ajustar esse movimento entre os valores de 0 a 180 com o sinal PWM enviado para o servomotor. Como alguns servomotores do Braço Robótico não tem toda essa liberdade de movimentação de 180 graus, eu limitei algumas delas. Como no caso do servomotor Altura, os valores estão limitados entre 30 e 160 graus. Isso é importantes para não forçar os motores!

Para poder visualizar os valores do ajustes dos servomotores, os valores são enviados na console serial. Como a leitura precisa ser rápida, se quiser visualizar os valores clique em auto-rolagem para parar a listagem na console. Mas fiz isso só para você entender como funciona o controle do Braço Robótico com Joystick. Não interfere em nada no funcionamento.

Mais uma observação – inseri um atraso (delay) de 20 milisegundos durante cada avanço dos servomotores. Se você quiser a movimentação mais rápida, diminua esse valor.

Mas fica um desafio para você! Imagine uma programação automática de uma sequência de movimentos. Mas terá que fazer a conexão dos botões dos Joysticks com o Arduino.

Explicando melhor – a ideia é a seguinte. Você ajusta uma posição do Braço com o Joystick e pressiona o botão para memorizar essa posição. Assim você , vai gravando todas as movimentações do braço, pressionando o botão para cada posição. Depois de todas as movimentações gravadas, dê o comando para o Arduino executar toda a sequência! Só não fiz isso aqui no tutorial, pois é uma programação complexa e grande.

Fica para você esse desafio. Se concluir o desafio, compartilhe com a gente e você entrará para o Hall da Fama!

Links Interessantes:

Site do idealizador do Projeto do Braço Robótico Me Arm:  https://mearm.com/

Video com a montagem do Braço Robótico Me Arm: https://www.youtube.com/watch?v=zFBsEE7_NbQ

 

Se gostar ou tiver alguma dúvida,  deixe um comentário!

 

 

 

 

 

Avaliação: 5.0/5. De 6 votos.
Espere por favor...
Gustavo Murta
Gustavo Murta
Consultor e Projetista de Sistemas Embarcados. Técnico em eletrônica, formado em Curso superior de TPD, pós-graduado em Marketing. Trabalhou por muitos anos na IBM na área de manutenção de computadores de grande porte. Aposentou-se, podendo curtir o que mais gosta : estudar e ensinar Tecnologia. Hobista em eletrônica desde 1976. Gosta muito de Fotografia e Observação de aves.
Acesse nossa loja