Kit mini robo

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar

Essa página será atualizada a medida que incluirmos alterações no kit, melhorarias nas instruções, novas funcionalidades, software, etc.

Mini Robô com rodas e servos montados

Conteúdo do Kit (Beta)

Kit Mini Robô

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:


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)":

Configuração da Placa na IDE Arduino


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