Ora vivas,
Aqui vai alguma informação sobre o meu primeiro bixaroco andante. Decidi-lhe chamar WiMobile, pois é controlado através da rede WiFi e remotamente a partir de um programa feito para Windows Mobile.
1) Contrução da PCB para controlo de motores DCO meu método de fabrico de PCBs é integralmente baseado no que está descrito
neste site, que é o método "toner transfer" com o ferro de engomar (na altura em que coloquei o link o site, por razoes que desconheço, estava offline; se persistir assim, posso fazer aqui uma descrição dos passos que uso)
Alguns exemplos de placas que fiz com este método:
http://picasaweb.google.com/lh/photo/s8Lca4NRo5O2EM4Eh3lhUel_MpCsOExxSaeMZZYRSrM?feat=directlink (placa que usei neste robot, com o cobre já corroído e toner ainda por remover)
http://picasaweb.google.com/lh/photo/E8pqyDwnoI2xODfQ3t4coOl_MpCsOExxSaeMZZYRSrM?feat=directlink2) Estrutura do robotTinha cá por casa uma placa de acrilico (base de baixo) que decidi aproveitar. Apenas tive que fazer uns recortes para encaixarem as rodas.
A base do 1º andar já foi feita por mim e um pouco à pressa e daí não ter ficado muito perfeita.
Como não consegui arranjar espaçadores decentes fi-los eu próprio com varão roscado, tubo de alumínio, porcas e anilhas.
Para agarrar os componentes à estrutura usei velcro adesivo e um adesivo duplo que tem pouca cola (não sei o nome).
As dimensões do robot são (aprox.): 14.5x10 cm
3) ElectrónicaUsei um Arduino Diecimila e um WiShield.
No que toca a alimentação tenho: pilha de 9V para alimentação do Arduino e 3x pilhas AA de 1.2V recarregáveis para alimentação exclusiva dos motores.
A PCB para o controlo dos motores permitiu-me poupar espaço (no caso de ter usado breadboard) e reduzir o número de fios no ar.
4) ProgramaçãoEm relação à programação. O Arduino em si controla o movimento dos motores enquanto o WiShield funciona como um servidor TCP. Recebe, portanto, comandos via TCP.
Para testes fiz uma pequena aplicação em C# que controla o robot através das setas direccionais do meu desktop, mas o objectivo era mesmo controlar o robot com um HTC Touch com Windows Mobile 6.
TODO ("a fazer")O meu próximo objectivo será contruir um sensor IV e assim poder por o WiMobile a seguir uma linha. A minha maior dúvida é em relação a I/O do Arduino, dado que o WiShield papa alguns pinos, e tambem em relação ao espaço que ainda tenho disponivel para programação (o WiShield papa cerca de 11kB).
Outro aspecto que tambem gostava de melhorar é a alimentação, ou melhor, o acesso à alimentação. Na PCB dos motores deixei alguns pinos para outros componentes que venha a adicionar no andar de baixo, a ideia será ter o minimo de fios a atravessar andares e ainda assim ter a alimentação sempre facilmente disponível.
Depois desta parte feita (haja tempo) gostava de adicionar tambem um LCD mas por essa altura já nao devo ter mesmo memoria/pinos disponiveis pelo que provavelmente adicionaria um outro MCU e aproveitava para por em pratica talvez I2C.
Se tiverem alguma sugestão para uma destas tarefas, sou todo ouvidos!
Para terminar, seguem uns vídeos (com participação especial do meu cão, o Joli):
Espero que gostem.
Qualquer duvida, fiquem à vontade!
Deixo em anexo os files EAGLE da PCB. Mais tarde colocarei tambem o código do Arduino, visto que ainda lhe quero dar uns toques. Se houver interessados tambem posso deixar mais tarde o da aplicação para WM6.