Robótica Móvel com Scratch Usando Material ATTO: O AnimalATTO com Bluetooth

Versão fácil para Arduino e 2 servos, dessa vez utilizando Material ATTO (veja aqui a versão com Meccano/Modelix) do Coat Hanger Walking Robot, o Robô Andarilho de Cabide de Arame originalmente desenvolvido por Jerome Demers e Gareth Branwyn.
Attobeest-logo.jpg

Veja um vídeo do AnimalATTO em ação:

Para construir: Diferentes Visões da Mecânica do AnimalATTO

Attobeest1.jpg
Attobeest2.jpg
Attobeest3.jpg
Attobeest4.jpg
Attobeest5.jpg
Attobeest6.jpg

Entenda o Mecanismo de Caminhada

Walker-pt2.png

Monte a Eletrônica

inseto_bb

Conecte o Bluetooth

Para entender como montar a eletrônica e conectar o Bluetooth, veja nossos tutoriais:

 

Faça o Programa em Scratch

Kleerhangerbeest-logo.png

Figura: Código Scratch para o AnimalATTO.

No código acima utilizamos várias pausas entre movimentos que, no modelo Meccano utilizando pernas de arame de cabide, fazem muito sentido. A movimentação da estrutura ATTO, muito maior e mais pesada, é necessariamente mais lenta. Experimente retirando as pausas para ver o que acontece…
Código: https://github.com/ComputacaoNaEscola/s2a_fm/blob/master/kleerhangerbeest.sb2

Usando Bluetooth: O Carro Programado

Este é um projeto onde vamos usar comunicação sem fio via Bluetooth com o Arduino para fazer um carro programado via Scratch fazer o que queremos.

Carro-herbart-bt.JPG

Veja o vídeo para ver o que o carro faz:

Para nosso projeto utilizamos um kit de construção de plástico com parafusos e porcas fáceis de manusear. Nosso kit é uma relíquia alemã da década de 1970 chamado HERBART. É excelente para crianças porque podem montar o que quiserem, é fácil integrar as peças do Arduino como sensores e atuadores e os parafusos grandes e de plástico permitem a crianças, mesmo menores, montar qualquer coisa usando apenas as mãos. Hoje existe à venda material equivalente a esse fabricado no Brasil e chama ATTO Educacional.

Herbart.jpg

Monte o Circuito: Os Componentes e suas Funções

Escolhemos fazer um carro capaz de ser dirigido à distância por um programa Scratch usando o mínimo de componentes para isso.

Os requisitos são so seguintes:

  1. O carro tem de poder andar para frente e para trás.
  2. O carro tem de poder ser dirigido, fazer curvas, ter uma rota programada.

Para atender esses requisitos ele necessita de:

  1. Um único motor com redução que dê tração e
  2. Um mecanismo que direciona essa tração.

A solução mais simples é montar o motor em uma estrutura móvel, cujo eixo é movido por um servomotor.

Para construirmos um carro assim, ele deverá possuir:

  1. Um Microcontrolador (Freaduino) para comandar tudo;
  2. Um módulo Bluetooth (HC-05) para comunicação sem fio;
  3. Um servomotor (Micro Servo SG90) para a direção;
  4. Um kit de motor com redução e rodas acopladas para a movimentação;
  5. Um módulo de potência (Ponte-H) para controlar a energia dada ao motor;
  6. Uma bateria de 9V para alimentar o microcontrolador e periféricos e
  7. Um conjunto de 4 pilhas AA para alimentar o motor.

Escolhemos usar um Freaduino ao invés de um Arduino para a montagem para evitar ter de usar um protoboard em cima do carrinho-robô. O Freaduino é compatível com Arduino Uno R3 e excelente para coisas que usam servos e outros periféricos que ligam com um cabo sinal/VCC/GND por causa das saídas prontinhas que ele oferece para isso. O circuito é mais complexo que os exemplos anteriores e está na figura abaixo:

Carro-Herbart.png

A Ponte-H chama a atenção e é uma parte muito importante do circuito: um Arduino pode controlar diretamente coisas que não consomem muita energia como LEDs, servos e buzzers. Um motor necessita de muita corrente e, se o conectarmos ao Arduino, vamos queimá-lo. Precisamos de um circuito que pode ser controlado pelo Arduino e que funcione como uma torneira: o Arduino a abre ou fecha e a energia flui ou não para o motor diretamente da bateria. Pontes-H servem para isso.

Como a bateria de 9V é fraquinha e perderia a carga logo se fosse usada para alimentar um motor e também porque motores simplesinhos como o que usamos soltam pequenas faíscas que produzem interferência e podem fazer o Arduino ficar instável, optamos por usar uma fonte de energia mais forte e mais barata (pilhas AA) e colocá-las em um circuito separado do circuito que alimenta o Arduino. Assim a energia fornecida ao Arduino não enfraquece quando o motor liga e nem há interferência gerada pelo motor no suprimento de energia do Arduino.

Só é muito importante interligar os terras/negativos (GND) de ambos os circuitos, ligando o GND da Ponte-H ao GND do Arduino, para que haja um caminho de “retorno” para os sinais enviados pelo Arduino à Ponte-H. Se não existir essa conexão, não haverá um circuito por onde os sinais enviados pelo Arduino à Ponte-H possam fluir e seu programa não vai conseguir controlá-la.

Resumo das Conexões de Controle/Dados do Arduino

Pino 11 - Controle de velocidade (IN 1) do Motor #1 da Ponte-H
Pino 12 - Controle de sentido de rotação (IN 2) do Motor #1 da Ponte-H

Pino 9  - Conexão de controle do Servo 

Pino 0  - Saída TXD do Módulo Bluetooth
Pino 1  - Entrada RXD do Módulo Bluetooth

Monte o Carro

Benchmark: Nossa filha de 11 anos e um de nós levamos aproximadamente 90 minutos para projetar e montar a parte estrutural e mecânica do carro.

O material à disposição eram restos de diferentes kits nos quais faltavam peças e perdemos muito tempo procurando peças e tentando descobrir como, com o pouco que tínhamos à disposição, iríamos resolver este ou aquele problema mecânico ou estrutural. Possuindo-se um bom kit de montagem à disposição, como ATTO, por exemplo, acreditamos que esse tempo de montagem se reduza bastante e um carro assim seja um projeto bastante viável em sala de aula.

Material usado no Carro

- Kit de montagem plástico ou madeira com peças parafusáveis à mão como HERBART, ATTO, Lorenz BAUFIX ou similar
- Abraçadeiras de Nylon tipo fita para auxiliar na fixação de servo e motor
- Fita dupla face para auxiliar na fixação de componentes eletrônicos
- Pedacinhos de EVA para ajudar a fixar motor e servo, servindo de espaçadores e evitando que escorreguem

Detalhes da Montagem do Carro

Carro-herbart-bt2.JPG
Carro-herbart-bt3.JPG
Carro-herbart-bt4.JPG
Carro-herbart-bt5.JPG
Carro-herbart-bt6.JPG
Carro-herbart-bt7.JPG

Montagem:

  • Utilizamos uma caixa plástica do kit HERBART como chassis e como baú para a eletrônica;
  • Toda a eletrônica foi fixada no baú com fita dupla-face, já que o plástico é material isolante;
  • Ao fixarmos as rodas traseiras nos suportes, utilizamos buchas de plástico (faziam parte do kit) para que os parafusos não travem o giro da rodas;
  • A coluna de direção é suportada pelo servomotor, que foi fixado ao chassis por pressão utilizando-se duas peças de madeira rígidas de um kit Lorenz BAUFIX;
  • O eixo da coluna de direção é o próprio eixo do servomotor;
  • O conjunto de tração foi montado com duas peças em “U”, parafusadas uma contra a outra;
  • O conjunto de tração foi fixado à coluna de direção diretamente no servomotor usando-se uma das borboletas que vêm junto com o servo, fixada pelo lado interno do “U” superior, usando-se EVA (vermelho) como espaçador e duas fitas de Nylon com trava para fixação;
  • O motor foi fixado ao “U” inferior do conjunto de tração, usando-se EVA para ajuste do contato e evitar que o motor escorregue e duas fitas de Nylon com trava passadas pelos furos de fixação do motor para fixá-lo no lugar;
  • Por fim montamos o “capô” com dois assentos para bonecas.

Teste a Comunicação Bluetooth

Para entender como montar a eletrônica e conectar o Bluetooth, veja nossos tutoriais:

Crie seu Programa Scratch

Para efeitos didáticos, escolhemos um design de programa que divide as funções de locomoção e direção entre dois atores Scratch diferentes: Motor e Direção. Assim podemos mostrar que as duas ações podem ser conduzidas de forma independente e simultânea e inclusive introduzir o conceito de threads em Computação (Irônico, não? Quando eu era graduando aprendemos programação paralela como algo avançadíssimo no 3º ano do curso de graduação em Computação – hoje estamos propondo ensinar a crianças).

Associamos a cada ator uma imagem da peça do carro que ele programa. Elas foram dispostas no palco de forma a aparecerem sempre ambas.

O código Scratch para acionar o motor fica como na imagem abaixo:

Motor.png

O código Scratch para acionar o servo que faz a direção fica como na imagem abaixo:

Direcao.png

O arquivo-fonte Scratch .sb2 pode ser baixado em: https://github.com/ComputacaoNaEscola/s2a_fm/blob/master/carro-herbart.sb2

Kleerhangerbeest – o Robô Andarilho de Cabide de Arame

Versão fácil para Arduino e 2 servos do Coat Hanger Walking Robot, o Robô Andarilho de Cabide de Arame originalmente desenvolvido por Jerome Demers e Gareth Branwyn.
O nome kleerhangerbeest é holandês e significa bicho-cabide, tendo sido inspirado nos robôs eólicos chamados strandbeest (bicho-de-praia) de Theo Jansen – http://www.strandbeest.com/ .

Não parece com os “insetos” de Starship Troopers?

Veja o vídeo de efeito…

O chassis é feito em Meccano/Modelix. O resto é sucata que pode ser encontrada em qualquer lugar.

bug7-small bug2-small bug3-small

bug5-small bug4-small bug6-small

Usei um Freaduino ao invés de um Arduino para evitar ter de usar um protoboard em cima do robô. O Freaduino é excelente para coisas que usam servos e outros periféricos que ligam com um cabo sinal/VCC/GND por causa das saídas prontinhas que ele oferece para isso. O circuito é ultrasimples.:

inseto_bb

O modelo do chassis está aqui embaixo (feito com VirtualMec):

chassis-inseto

Tentei manter o chasssis o mais simples possível. Os passos de montagem são esses abaixo:

chassis-inseto1chassis-inseto2chassis-inseto3

chassis-inseto4chassis-inseto5chassis-inseto6

A lista de peças (códigos da Meccano e não da Modelix) é essa:

Peça    Qtdidade.
5	2
11	2
11a	2
37a	3
37b	13
90a	2
193	2
811	2

Depois de encaixados os servos, você pode fixá-los no lugar usando cantoneiras em “L” (aquelas pecinhas com formato em “L” com apenas dois furos, um redondo e o outro oblongo – código de peça Meccano = 12) fixadas com parafusos nos dois furos inferiores mais extremos do chassis.

Referências originais do Coat Hanger Walking Robot:
http://www.instructables.com/id/How-to-build-the-one-motor-walker/
http://www.technogumbo.com/projects/single-servo-walking-robot/
https://www.youtube.com/watch?v=bxxmN2sQvjk
https://solarbotics.com/product/abgchw/
https://www.youtube.com/watch?v=L984o5mT9HI (com motor de rotacao continua)

O código Processing para Arduino está em: https://github.com/awangenh/Minhas-Engenhocas/blob/master/Kleerhangerbeest2.ino

Lollybot: DualShock 3 do Playstation hackeado como Robô

Lollybot.jpg

Ideia: fazer algo parecido com Lollybot, mas usando o controle DualShock 3 do Playstation, via Bluetooth. Driver com acesso aos motores em: http://wiki.ros.org/ps3joy. Preço do controle: US$ 13 a 16 Referência Preço