segunda-feira, 22 de fevereiro de 2010


Mini Robô circular utilizando PROGRAM-ME 


Depois de ver alguns projetos de robôs do Vinicíus e de alguns colegas deste blog, resolvi montar um também para praticar os conceitos de robótica. Como não tenho um espaço ideal para produzir as partes mecânicas do robô, optei por utilizar um chassi já pronto.

Após algumas pesquisas pela internet, resolvi utilizar um chassi circular da Pololu (http://www.pololu.com/catalog/product/250), pois após imprimir o manual desse chassi, percebi que o Program-Me encaixaria perfeitamente nele, inclusive a furação parece até que foi feita para o Program-Me.
O diâmetro do chassi é aproximadamente o mesmo de um DVD deixando o robô bem compacto.

Nesse chassi montei também um kit de engrenagens e motores da TAMIYA (http://www.pololu.com/catalog/product/61) e como terceira roda utilizei um ball caster (http://www.pololu.com/catalog/product/66) também da TAMIYA.

Esse conjunto ficou muito bom e praticamente contempla toda a parte mecânica do robô.



Como os motores que vêm no kit TAMIYA funcionam com no máximo 6 volts e eu queria utilizar alimentação de 12 volts, substituí os dois motores por motores MABUCHI desses utilizados em carrinhos de autorama e o resultado foi muito bom.
Com apenas 30% de duty cycle no PWM já consigo uma velocidade muito boa no robô.

Para sensores de obstáculos utilizei dois sensores infravermelho da SHARP modelo GP2Y0A21YK (http://www.sparkfun.com/commerce/product_info.php?products_id=242) posicionados na parte frontal do robô e com inclinação de aproximadamente 30 graus para cada um dos lados. Dessa forma é possível detectar obstáculos, tanto na parte frontal como nas laterais da direção em que o robô se movimenta, não sendo necessário um servo para movimentar os sensores.
Esses sensores detectam obstáculos entre 10 e 80 cm sendo que conectei eles nos conectores JP6 e JP7 do PROGRAM-ME que estão associados às portas analógicas.



Após ver o post do Vinícius sobre a fita de leds RGB, tive a idéia de colocar uma ao redor do robô, como o chassi é circular imaginei que o acabamento ficaria muito bom e daria um visual interessante (vejam detalhe da fita na foto acima).

Para comandar a fita de leds permitindo várias combinações de cores, utilizei 3 dos 4 transistores existentes no PROGRAM-ME. Como apenas o transistor Q2 é normalmente associado à porta PWM, fiz um remapeamento dos jumpers do PROGRAM-ME de forma que mais 2 transistores ficassem associados às portas PWM (vejam detalhes na figura abaixo e na próxima foto).



Obs: os retângulos coloridos indicam os pontos que foram interconectados em JP8 e JP11.

Notem que além do remapeamento de TR1(transistor Q1) e TR3 (transistor Q3), foi também remapeado o primeiro led vermelho o qual utilizo para indicar um dos modos de operação do robô. Os leds AM3 e VD3 indicam os outros dois modos.

Abaixo temos uma foto que mostra como foi feito o remapeamento das portas utilizando os conjuntos de jumpers JP8 e JP11 do PROGRAM-ME.



A foto a seguir mostra o detalhe da conexão da fita RGB aos transistores do PROGRAM-ME.



Para interface entre o Program-Me e os motores , utilizei um Shield da SparkFun (http://www.sparkfun.com/commerce/product_info.php?products_id=9213) que contém duas pontes H que permitem um controle total de velocidade e direção, independente para cada um dos motores.
Esse shield utiliza as portas digitais 10 a 13 do Program-Me.



Como mencionei acima, o robô possui 3 modos de operação:

1- Autônomo : onde ele se desloca livremente detectando obstáculos e desviando automaticamente.
2- Joystick : onde controlamos seus movimentos através de um joystick .
3- Acelerômetro: os movimentos são controlados ao movimentar o controle remotos nos eixos X e Y.

Abaixo temos a foto do controle remoto que nada mais é que um arduino simples, equipado com um shield onde montei o rádio transmissor, um acelerômetro e um joystick.
Obs: O modo de operação é comutado ao pressionar a alavanca do Joystick



A interface entre o robô e o controle remoto é feita utilizando um rádio ASK de 433MHz que permite taxas de 2400bps a 19200bps (estou utilizando 9600bps).
Para enviar comandos entre o controle remoto acima e o robô, criei um protocolo simples onde cada comando é formado por 5 bytes ( um byte de flag de inicio, 3 bytes que formam o comando e um byte de finalização).

exemplo: {lfy}

onde “{“ é o flag de início, “l” indica que é um comando para o motor esquerdo, “f” indica que ele deverá gira para frente e “y” indica o dutycicle que deverá ser aplicado ao PWM associado a esse motor, sendo que varia de 0 a 100 (caracter ASCII correspondente).

Também implementei o comando para mudança do modo de operação e seu formato é :


{mdx}

onde “md” significa solicitação de mudança de modo de operação e “x” indica um dos 3 modos (autônomo [1], joystick [2] e acelerômetro [3] .

Bem, é isso pessoal, abaixo temos um vídeo do robô em ação (modo autônomo) e algumas fotos mostrando algumas cores obtidas com fita RGB.
Ela muda de cor conforme são detectados os obstáculos ou quando o robô modifica a sua trajetória.


Ache outros vídeos como este em Globalcode Program-ME








[]s

José Luiz Sanchez Lorenzo

quarta-feira, 10 de fevereiro de 2010

Yahoo! Open Hack Day 2010 no Brasil

Oba!! Acontece no final de semana dos dias 20 e 21 de março a segunda edição do evento Yahoo! Open Hack Day no Brasil, realizado no excelente espaço de eventos do SENAC (o mesmo espaço do JustJava).

Tivemos uma experiência muito legal no evento do ano passado e acredito que este ano vai ser melhor ainda. Foi um evento bem diferente, um evento de codificação, onde as pessoas ou equipes criaram seus "hacks" durante o final de semana.
No domingo à tarde muita pressa para terminar os projetos para as apresentações. Muitos projetos, muito divertido e muito interessante. Votação e premiação  seguidos de  bate-papo sobre os projetos. 

É um evento para quem gosta de codificar, ou de fazer coisas divertidas, diferentes.

A organização do evento foi impecável no ano passado, comida, espaço, limpeza, foi muito bom.

Veja a cobertura completa, fotos, nosso prêmio, equipe e muito mais!

Nosso time em 2008:  
  • Instrutores : Eder Magalhães, Rafael Nunes, Vinicius Senger e eu;
  • Alunos: Gustavo Dantas Pereira, Pedro Germano, Eduardo Veríssimo, Alexandre Loiola e Katia Matto
  • Amigos e colaboradores: Ana Abrantes e Wagner Santos. 
      Obrigada pessoal, foi show! Que bom que vai ter mais um!

Nossos projetos concluídos em 2008: 
  • SuperCrud com gerador para Flickr
  • Planning Poker para celular feito com Blueprint
  • Biblioteca de componentes JSF para renderizar aplicações Blueprint
  • Plugin Blueprint para NetBeans
      Muito trabalho para um final de semana né? 
      Eu aindo lembro a sensação de terminar os projetos.
      Comemorar a conclusão.

Mas, chega de nostalgia, vamos ao que interessa, o planejamento para este ano! 
Estamos "montando" uma equipe para colaborar durante o evento, trocar ideias, montar uma mesona...  E todo o tipo de ajuda é bem vinda, design, ideias, eletrônica...
Já temos várias pessoas "confirmadas" pensando em coisas bacanas, e super animados. Tudo "discutido" pelo twitter:

Globalcoders, dev dream team.

Como participar do time Globalcoders ?
  1. Faça a sua inscrição no evento. O time não é formalizado durante a inscrição, portanto, se você quer participar do nosso time, inscreva-se, e comente aqui no Post. 
  2. Participe da comunidade no ning http://globalcoders.ning.com; que visa facilitar a discussão sobre os projetos, ideias e tecnologias envolvidas.

É isso ai, Yahoo! Open Hack Day, aqui vamos nós!


Participe, comente, divulgue! 

[]s
Yara
http://twitter.com/yarasenger
http://blog.globalcode.com.br/search/label/Yara

segunda-feira, 8 de fevereiro de 2010

Novo minicurso Introdução a Robótica com Arduino | Program-ME

Esta semana temos mais novidade para a galera interessada em Eletrônica e Robótica :
"Novo minicurso Introdução a Robótica com Arduino | Program-ME", onde o Vinicius Senger vai apresentar diversos conceitos fundamentais para quem está iniciando no mundo da Robótica, e também vai mostrar alguns robôs e projetos desenvolvidos.

Se você já participa da comunidade do Program-ME ou já criou algum robô não deixe de  trazer o seu "filhote" para passear e conversar com outros robôs.

Se tudo der certo ele vai repetir o Show de Dança do "Gavetão" com a música "Bug Novo" apresentada na abertura do The Developer's Conference 2009 em São Paulo, Florianópolis e Rio de Janeiro.



Particpe, colabore, divulgue!

[]s
Yara
http://twitter.com/yarasenger
http://blog.globalcode.com.br

quinta-feira, 4 de fevereiro de 2010

Curso Eletrônica e Arduino para Instrutores

Foi realizado recentemente na Globalcode um curso de homologação de instrutores (Unidade São Paulo e Alphaville) para a Academia do Programador, que utiliza o Program-ME / Arduino como instrumento didático, levando conceitos de computação física para os alunos.

Muitos instrutores já tinham experiência, e foi interessante relembrar os conceitos de eletrônica, que em geral, nós cientistas da computação não tínhamos tanto interesse na faculdade. Interessante ver a teoria na prática 10 anos depois, onde estamos bem mais Open4Education do que na época da universidade.

Rodamos alguns programinhas que tocam músicas no Program-ME, como "Brilha brilha estrelhinha", uma barulheira ótima.


Edson, Eder, Marcelo, Alexandre, Renato Bellia, Vinicius, Rodrigo, Felipe, Melissa e Rafael e eu que tirei a foto!

Obrigada a todos os insturtores que além de dedicar suas "noites" e sábados as aulas na Globalcode participaram desta turma no domingo!

[]s
Yara
http://twitter.com/yarasenger