Aqui esta o meu primeiro projecto concluido, decidi dar-lhe o nome de "Beta".
A ideia era construir uma plataforma onde fosse possivel testar varios tipos de componentes e executar diferentes tarefas.
O robot deveria transportar uma breadboard de 830 pinos para poder testar varias ligações sem ter nada definitivo.
Para a construção do chassis decidi utilizar acrilico por ser forte, facil de cortar e agradavel para a vista. Os espaçadores foram feitos com um tubo de aluminio.
Aqui esta a comparação entre a ideia original desenhada no Google SketchUp e o resultado final.
Lista de Componentes ......: Placa de Acrilico
......: Tubo de Aluminio (Separadores)
......: Porcas, Parafusos e Anilhas M2 e M3
......: 6 Pilhas Recarregaveis AA NiMH 1,2V 1700mAh
......: Suporte de Pilhas 6xAA
......: Arduino Duemilanove
......: Breadboard 830 Pinos
......: Resistencias, condensadores e fios para ligações.
......:
Buzzer - (Emite um som sempre que um programa é iniciado ou parado.)
......:
Push Button - (Iniciar/Parar a execução do programa seleccionado, pressionado longamente permite alterar de programa)
......:
Led REG - (Identifica que programa se encontra seleccionado ou a correr. Cada programa tem uma cor diferente)
......: Ponte-H (SN754410)
......: Motores (Dual Gearbox From Tamiya)
......: Rodas (Tamiya 70096 Off-Road Tires)
......: Pololu Ball Caster
......: Sensor QTR-8RC
......: Sensor IR Sharp
Para um principiante que tem necessidade de comprar todos os componentes da lista, como foi o meu caso, estamos a falar de um custo aproximado de cerca de 100€.
Basta substituir alguns elementos e retirar alguns sensores que facilmente conseguimos valores bem mais baixos, foi uma opção e considero um investimento para futuras criações.
Na breadboard podemos ver as ligações de muitos dos componentes utilizados.
Uma das caracteristicas importantes do Beta é que deve poder ser montado e desmontado facilmente por isso aqui está um video com todo o processo de montagem.
O video esta em HD por isso se não conseguirem ver os textos ou quiserem ver mais detalhes podem colocar em 720p e full screen.
A ideia é poder programar o Beta para fazer varias tarefas, para já é capaz de seguir linhas, evitar obstaculos e limpar uma arena (sumo).
Acho que dado o seu tamanho até as faz relativamente bem, espero terminar brevemente um video para mostrar e depois coloco aqui juntamente com todo o código fonte.
No video foram colocados agradecimentos ao forum da LR porque sem a vossa ajuda o Beta não tinha passado de um esboço do google.
Obrigado.
************************************************ Inserido em 27-03-2011 ************************************************
Algumas Actualizações Efectuadas
Caster Ball: Com o passar do tempo a Caster Ball começou a ganhar ferrugem e a criar muito atrito por isso foi substituida por uma versão bem mais barata encontrada no AKI
Contador Binario: Inicialmente a breadboard foi montada com um Led RGB, para cada opção do menu era associada uma cor. Este método torna-se complicado, principalmente quando existem várias opções no menu. A solução foi criar um contador binario substituindo o Led RGB por três Led’s normais, cada Led representa um bit permitindo contar até sete.
Montagem e Ligações da Breadboard
Na breadboard estão montados os seguintes componentes: Um botao de menu, a ponte-h, tres leds para contador binario e um buzzer.
Para ver com mais detalhe as ligações estao disponiveis no link em baixo mais fotos da breadboard.
https://picasaweb.google.com/preytender/Beta?feat=directlink1. Ligar Breadboard: Ligar 5v do arduino a barra vermelha da breadboard e GND do arduino a barra azul.
2. Botao de Menu: Ligar do I9 para Analog 5.
3. Buzzer: Ligar do I52 para Analog 0.
4. Contador Binario: Ligar G39 para Analog 2, Ligar G41 para Analog 3, Ligar G43 para Analog 4
5. Sensor Sharp: Fio vermelho do sensor para A33, fio preto do sensor para A34, fio amarelo do sensor para A35. Ligar E35 para Analog 1
6. Sensor QTR: GND do sensor para barra azul da breadboard e Vcc para barra vermelha da breadboard.
Pino 1 Sensor -> DIGITAL 1 Pino 2 Sensor -> DIGITAL 2 Pino 3 Sensor -> DIGITAL 3 Pino 4 Sensor -> DIGITAL 4
Pino 5 Sensor -> DIGITAL 7 Pino 6 Sensor -> DIGITAL 8 Pino 7 Sensor -> DIGITAL 9 Pino 8 Sensor -> DIGITAL 12
7. Ponte-H: Ligar A22 a Vin do Arduino
Motor Direito: Fios Motor Ligar a F27 e F29 depois ligar G16 a DIGITAL 6 e G21 a DIGITAL 5
Motor Esquerdo: Fios Motor Ligar a E27 e E29 depois ligar D16 a DIGITAL 11 e D21 a DIGITAL 10
Programação - Codigo anexado no final da mensagem
Organizei e comentei bastante o codigo de forma a mais tarde o poder reutilizar noutros projectos.
Foram criadas classes separadas para a gestao do buzzer, do contador binario e dos motores.
No ficheiro principal existe a função de menu, que permite escolher que funcao executar, e uma função para cada uma das tarefas diferentes.
Neste momento a função seguelinhas está bastante boa e foi testada no circuito do estoril
anexado em baixo.
A tarefa de evitar obstaculos ainda esta muito basica.
Apos fazer upload do codigo basta carregar no botao para iniciar o programa 1, durante a execução de um programa carregar continuamente ira fazer com que termine a execução, caso não esteja a correr nenhum programa carregar continuadamente no botao permite mudar de opção o contador binario indica que opção esta seleccionada.
Espero que a informação adicionada seja util e ajude a resolver algumas duvidas quanto as ligações e programação.
Abraço.