Mudanças entre as edições de "Kit mini robo"
(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.
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