Kit mini robo
Essa página será atualizada a medida que incluirmos alterações no kit, melhorarias nas instruções, novas funcionalidades, software, etc.
Conteúdo do Kit (Beta)
Atualmente o kit contém os seguintes itens. Essa lista poderá sofrer alterações caso encontremos outros componentes interessantes
- 1x Chassis MDF
- 2x Rodas
- 1x "Rollerball"
- 2x servo motor (alterado para giro contínuo)
- 2x suporte para servo motor (em PLA impresso em impressora 3D)
- 1x suporte para 4 pilhas AA
- 1x placa Micro Magician Robot Controller v1 (ATMega168)
- 1 x sensor ultrassônico HC-SR04
- 1x display de 7 segmentos
- 1x integrado CD4511 (decodificador para display de 7 segmentos)
- 1x buzzer
- 2x botões pushbutton
- 6x LEDs de cores diversas
- 2x LEDs RGB
- 4x diodos 1N4007
- 10x resistores 2,2k
- 1x mini protoboard
- 2x cabos de alimentação
- fita velcro
- Parafusos e porcas
- Fios para protoboard de tamanhos cores/diversos (65 fios)
Referências:
- Apresentação Kit Mini Robo
- Documentação Placa controladora / motor driver Magician Board[[1]]
- Arquivo:Robo Magician Chassis.stl STL para impressão 3D ou corte (laser?)
- Arquivo:Clip servo 3.stl Arquivo STL Clip/Suporte Servos p/ impressão 3D
- Arquivo STL para impressão 3D ou corte (laser?) Arquivo:Robo Magician Chassis.stl
Fotos Instrução de montagem Preliminares
Clique na foto para ver em detalhes.
Programação e Uso
(em construção)
Preparação da IDE Arduino
A placa Micro Magician é suportada pelo pacote "Arduino AVR Boards" que já vem instalado na IDE Arduino. O Atmega da placa vem com o bootloader do Arduino Pro; deve ser selecionado este modelo de placa, com a opção "ATmega168 (3,3V / 8MHz)":
Baixe a biblioteca do fabricante [2] e expanda o Zip no diretório de bibliotecas (Meus Documentos\Arduino\livraries no Windows).
Nos seus programas (sketches), coloque no início a linha abaixo para usar a biblioteca do fabricante:
#include <microM.h>
Na rotina setup()
do sketch colocar uma chamada a microM.Setup()
Controle dos Motores
A biblioteca microM possui uma função Motors
da classe microM
para controlar motores DC. Os servo motores devem ser ligados no conectores "Motor A Output" e "Motor B Output".
void Motors(int leftSpeed, int rightSpeed, byte leftBrake, byte rightBrake)
Se leftBrake
for diferente de 0, o driver do motor A é programado para frear o motor. Se for 0, leftSpeed
(0 a 255) determina a velocidade de rotação.
Se rigthBrake
for diferente de 0, o driver do motor B é programado para frear o motor. Se for 0, rightSpeed
(0 a 255) determina a velocidade de rotação.
Uso do Acelerômetro
A biblioteca possui a rotina microM.Impact()
que pode ser chamada periodicamente para detectar impactos. O resultado do teste está nas variáveis microM.magnitude
, microM.deltx
, microM.delty
e microM.deltz
. A sensibilidade da detecção pode ser ajustada pelas variáveis microM.sensitivity
e microM.devibrate
.
Uso do Sensor IR
A biblioteca possui o suporte suporte à recepção de comandos através do sensor IR, porém suporta somente o padrão Sony. A alteração para suportar outros padrões não é trivial. Algumas opções a estudar:
- Alterar a biblioteca do fabricante para o uso do IR ser opcional e usar uma biblioteca mais abrangente, como a IRremote.
- Usar um segundo microcontrolador para implementar um controle padrão Sony, usando a biblioteca IRremote e um LED IR.
Use the source, Luke!
Uso do Sensor Ultrassônico
Uso do Display de 7 Segmentos
Exemplos
a preparar