Robótica com Android e Arduino

Nesse artigo, pretendo descrever o processo de criação de um robô baseado na plataforma Arduino e integrado ao Android, através da camada de script SL4A.

[ Hits: 88.543 ]

Por: João Victor em 16/04/2014


Montagem do robô



A grande vantagem de trabalhar com o Arduino, é a compatibilidade com diversos componentes. O objetivo do artigo é ajudar na criação, não ditar regras, a montagem do robô é livre, porém, é necessário uma referência que servirá de direção para a construção de outros robôs.

Os componentes do robô foram todos comprados pela Internet, o preço de cada componente varia entre R$ 10,00 a R$ 25,00. O único que foge a essa faixa, é o Arduino que custou cerca de R$ 50,00. Na imagem abaixo, podemos observar todos os componentes usados:
Linux: Robótica com Android e Arduino
Sensor ultrassônico HC-SR04, Ponte-H LN298, Módulo Bluetooth HC-06, Arduino UNO R3 e Micro-servo 9g

Para montagem do robô, utilizarei o chassi do carrinho de controle remoto como base. Podemos observar os dois motores e uma chave ON/OFF que controla a alimentação feita através de 4 pilhas AA, fixadas no próprio suporte do carrinho. O motor de trás impulsiona o robô, enquanto o da frente, faz com que ele vire para esquerda e direita.
Linux: Robótica com Android e Arduino   Linux: Robótica com Android e Arduino

Para impulsionar o robô, o motor traseiro possui uma caixa de redução, uma série de engrenagens, que fazem com que o a rotação, que é transmitida do motor para as rodas, seja baixa, porém, que tenha força.

Uma dica para escolher um carrinho, é girar suas rodas com as mãos, quanto mais força for necessária para girar as rodas, maior será a força que será transmitida para as rodas quando o motor estiver funcionando, porém, menor será a velocidade.

Para o suporte dos módulos, será utilizada uma placa plástica perfurada. Os módulos podem ser parafusados diretamente na placa plástica, porém, recomendo o uso de espaçadores usados para fixação da placa-mãe ao gabinete de computadores, facilmente encontrados em sucatas. Para perfurar a placa, utilizei uma minifuradeira, mas, poderíamos usar uma furadeira comum.

Ao posicionarmos os módulos sobre a placa, devemos manter um certo alinhamento que mantenha o peso dividido de maneira correta, caso o peso seja direcionado apenas para um lado, o robô ficará "puxando" para esse lado, como um carro desalinhado, os componentes mais pesados do robô devem ficar na parte traseira, para que o atrito com o piso seja maior impulsionando o robô com mais força.
Linux: Robótica com Android e Arduino

Depois de fixarmos os espaçadores, basta apenas parafusar o Arduino e a Ponte-H.
Linux: Robótica com Android e Arduino

Na parte superior, vemos o circuito Ponte-H L298N, responsável pelo controle da velocidade e sentido dos motores. O módulo possui duas conexões para os motores e uma conexão para alimentação.

O uso desse módulo é necessário, devido à corrente que os motores exigem, ser maior da que o Arduino fornece, o circuito funciona controlando a tensão que chega ao motores, sendo capaz de inverter a rotação invertendo a tensão.

Se pegarmos uma pilha e conectar seus terminais a um motor, esse girará em um sentido. Se invertemos, como os terminais estão ligados, o motor inverterá seu sentido de rotação. Isso acontece, porque a energia elétrica tende a fluir do terminal positivo ao negativo. O circuito da Ponte-H faz essa inversão internamente, através de uma série de transistores (interruptores).

Para que o robô possa desviar de obstáculos, utilizei um sensor ultrassônico que dispara um pulso e verifica quanto tempo ele leva para retornar, calculando assim, a distância em que um objeto se encontra do robô. Para movimentação do sensor, utilizarei um servo motor e uma peça plástica.
Linux: Robótica com Android e Arduino

O Servo é um motor com uma caixa de redução. Em seu eixo, é fixado um potenciômetro que indica em que posição o motor se encontra, o grande diferencial de um servo motor e um motor comum, é que o Servo não é capaz de realizar um giro completo, porém, podemos definir qual posição o Servo se encontra, controlando o movimento do sensor em um raio de 180 graus.
Linux: Robótica com Android e Arduino

O Servo também será conectado à alimentação dos motores, visto que somente a alimentação do Arduino não é capaz de movimentá-lo. A montagem do sensor e do servo deve ficar bem centralizada, de maneira que o sensor esteja totalmente virado para frente, quando o servo estiver a 90°.

Para comunicação com o robô, utilizaremos um módulo Bluetooth conectado ao Arduino. Para servir como suporte, conectei o módulo diretamente ao Arduino. A facilidade de trabalhar com Bluetooth no Arduino é surpreendente, com pouquíssimas linhas de código, podemos fazer a comunicação com diversos dispositivos.
Linux: Robótica com Android e Arduino

Com todos os componentes no lugar, devemos conectar tudo ao Arduino. O diagrama seguinte, ilustra como as conexões devem ser feitas.

* Lembrando que o circuito da Ponte H do diagrama, não é o mesmo que o usado no robô, porém, possui as mesmas conexões, para fazer as conexões foram utilizados vários jumpers.
Linux: Robótica com Android e Arduino

Com tudo conectado, o robô já pode ser ligado. Ao final, ele ficou até charmoso. Para alimentar o Arduino, utilizamos uma bateria de 9V.
Linux: Robótica com Android e Arduino


Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Montagem do robô
   3. Programando
   4. Bluetooth
   5. Integrando recursos
   6. Aplicação de controle
   7. Conclusão
Outros artigos deste autor

Python com SL4A - A camada de script do Android

Leitura recomendada

Integração do ChatGPT em uma API Python

Threads - Importância dentro de um software

ISO8583py - Utilizando Python para o tratamento de mensagens ISO8583

PEP 8 - Guia de estilo para código Python

Introdução ao clib (Command Line Book)

  
Comentários
[1] Comentário enviado por albfneto em 16/04/2014 - 19:46h

Muito bom isso! favoritado

[2] Comentário enviado por vikitor566 em 16/04/2014 - 23:02h

Muito obrigado albfneto

[3] Comentário enviado por Lisandro em 16/04/2014 - 23:18h

Excelente! Parabéns pelo artigo e pela paciência. Por várias vezes pensei em fazer um artigo semelhante e sei bem o trabalho que dá.
Já está nos meus favoritos.

[4] Comentário enviado por mcnd2 em 17/04/2014 - 13:19h

Muito interessante.

Artigo muito bem explicado e de fácil entendimento.

10!

[5] Comentário enviado por vikitor566 em 17/04/2014 - 14:03h

Muito obrigado a todos, o trabalho é recompensado quando o artigo consegue compartilhar a idéia pelo qual foi feito.

[6] Comentário enviado por Sandro1 em 17/04/2014 - 21:24h

Excelente artigo e como já disseram está muito bem explicado, qualquer pessoa vai conseguir fazer esse robô!

[7] Comentário enviado por k_cesar em 20/04/2014 - 13:52h

Parabéns pelo artigo.
Excelente!

[8] Comentário enviado por matiasalexsandro em 22/04/2014 - 23:56h

excelente artigo favoritado pra projetos futuros

[9] Comentário enviado por vikitor566 em 23/04/2014 - 09:59h

Muito obrigado a todos

[10] Comentário enviado por JFurio em 19/05/2014 - 09:14h

Realmente, nota 10 mesmo ! Cheguei até a estudar um orçamento e ligar em umas lojas para ver uns orçamentos, e realmente não é tão caro ! Vou tentar montar um dia, e independente do resultado, posto aqui ! Vlw !


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts