Mudanças entre as edições de "Kit mini robo"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 81: Linha 81:
 
=== Preparação da IDE Arduino ===
 
=== 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)":
  +
  +
[[Arquivo:Arduino_IDE_Magician_Board.png|400px|Configuração da Placa na IDE Arduino]]
  +
  +
  +
Baixe a biblioteca do fabricante [https://drive.google.com/file/d/1BB9AmYMv4TEDe_X67GW-W_6kiJxqB-_A/view?usp=sharing] 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:
  +
  +
<code>#include <microM.h></code>
  +
  +
Na rotina <code>setup()</code> do sketch colocar uma chamada a <code>microM.Setup()</code>
   
 
=== Controle dos Motores ===
 
=== Controle dos Motores ===
   
  +
A biblioteca microM possui uma função <code>Motors</code> da classe <code>microM</code> para controlar motores DC. Os servo motores devem ser ligados no conectores "Motor A Output" e "Motor B Output".
  +
  +
<code>void Motors(int leftSpeed, int rightSpeed, byte leftBrake, byte rightBrake)</code>
  +
  +
Se <code>leftBrake</code> for diferente de 0, o driver do motor A é programado para frear o motor. Se for 0, <code>leftSpeed</code> (0 a 255) determina a velocidade de rotação.
  +
  +
Se <code>rigthBrake</code> for diferente de 0, o driver do motor B é programado para frear o motor. Se for 0, <code>rightSpeed</code> (0 a 255) determina a velocidade de rotação.
  +
  +
=== Uso do Acelerômetro ===
  +
  +
A biblioteca possui a rotina <code>microM.Impact()</code> que pode ser chamada periodicamente para detectar impactos. O resultado do teste está nas variáveis <code>microM.magnitude</code>, <code>microM.deltx</code>, <code>microM.delty</code> e <code>microM.deltz</code>. A sensibilidade da detecção pode ser ajustada pelas variáveis <code>microM.sensitivity</code> e <code>microM.devibrate</code>.
   
 
=== Uso do Sensor IR ===
 
=== 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 [https://github.com/Arduino-IRremote/Arduino-IRremote IRremote].
  +
* Usar um segundo microcontrolador para implementar um controle padrão Sony, usando a biblioteca [https://github.com/Arduino-IRremote/Arduino-IRremote IRremote] e um LED IR.
  +
  +
<blockquote>
  +
''Use the source, Luke!''
  +
</blockquote>
   
 
=== Uso do Sensor Ultrassônico ===
 
=== Uso do Sensor Ultrassônico ===
Linha 92: Linha 123:
   
 
=== Uso do Display de 7 Segmentos ===
 
=== Uso do Display de 7 Segmentos ===
  +
  +
  +
=== Exemplos ===
  +
  +
a preparar

Edição atual tal como às 10h56min de 23 de setembro de 2024

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