Introdução
Um velho conhecido da comunidade maker é o motor DC. Ele está presente em diversos projetos, principalmente carrinhos. O motor DC é um motor que é alimentado por corrente contínua (CC), sendo também, portanto, conhecido como motor de corrente contínua. Neste artigo ensino como utilizar um motor DC com Arduino UNO, conjuntamente com o Adafruit Motor Shield.
O Shield
O Adafruit Motorshield é um shield extremamente útil desenvolvido pela Adafruit Industries. É uma maneira prática e rápida de se utilizar servomotores e motores DC e de passo. Aqui vão algumas especificações do shield:
- 2 conexões para servo motores 5V;
- 4 Pontes-H (TB6612 provém 1,2A por ponte);
- Até 4 motores DC bidirecionais;
- Até 2 motores de passo;
- Bloco de terminal com grandes conectores para fácil ligação dos fios;
- Compatível com Arduino UNO, Leonardo, ADK/Mega R3, Diecimila e Duemilanove.
Lista de Materiais
- Kit de Chaves de Precisão (1);
- Arduino UNO (2);
- Adafruit Motorshield (3);
- Jumpers (4);
- Motor DC (5);
- Cabo USB AB (6).
Preparação do Hardware
- Primeiramente, encaixe o Motor Shield no Arduino UNO (Figura 2). Então, ligue o Arduino no computador através do cabo USB. Um LED verde irá se acender (Figura 3).
2. Ligue um jumper em cada terminal do motor DC (Figura 4).
3. Utilizando a chave de 2.0 mm, desatarraxe os conectores do bloco de terminal indicados na Figura 5.
4. Conecte os jumpers nos conectores desatarraxados (Figura 6).
5. Atarraxe novamente os conectores.
6. Pronto! A parte física do projeto já está pronta!
Programação
Importante: Para a programação do código, estarei utilizando o Visual Studio Code com PlatformIO IDE. Para aprender a usar esta plataforma, acesse este artigo.
- Para começar, abra O VSCode e abra o PIO Home (Figura 7).
2. Já na IDE, clique em Libraries, do lado esquerdo esquerdo do ícone do PlatformIO (Figura 8).
3. Digite no campo de busca “Adafruit Motor Shield V2 Library“. Clique na biblioteca, então clique em “Install” (Figuras 9 e 10).
4. Clique então em “Home” para voltar à página inicial. Após isso, clique em “New Project” para criar um novo projeto. Crie um com Arduino Uno (Figura 10).
5. Vá até o arquivo main.cpp (no meu projeto mudei o nome para DCmotor.cpp): Vamos começar a programar (Figura 11)!
6. Comecemos fazendo a inclusão de mais duas bibliotecas além do Arduino.h: Wire.h e Adafruit_MotorShield.h. A primeira permite a comunicação com dispositivos I2C e a segunda é especializada para o uso do Motor Shield (Figura 11).
7. Agora vamos declarar AFMS através do comando:
Adafruit_MotorShield AFMS = Adafruit_MotorShield()
e declarar o motor através do comando:
Adafruit_DCMotor *Motor = AFMS.getMotor(4);
O 4 se refere ao local da placa no qual os jumpers foram inseridos (Figura 11).
8. Digitemos, em void setup():
AFMS.begin();
Este comando estabelece a frequência padrão; no caso, 1,6 Hz. Abaixo colocamos a função:
Motor->setSpeed(150);
Isso diz a respeito da velocidade, que pode ir de 0 a 255. Escolhi 150 no caso (Figura 11).
9. Logo após, inserimos os comandos:
Motor->run(FORWARD); /*motor gira para frente*/ delay(2000); /*espera 2 segundos*/ Motor->run(BACKWARD); /*Motor para trás*/ Motor->run(RELEASE); /*motor inicia*/
10. Pronto! Agora é só passar a programação para a placa clicando na setinha no canto inferior esquerdo do monitor (Figura 11).
#include <Arduino.h>
#include <Wire.h>
#include <Adafurit_MotorShield.h>
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_DCMotor *Motor = AFMS.getMotor(4);
void setup () {
AFMS.begin();
Motor->setSpeed(150);
}
void loop () {
Motor->run(FOWARD);
delay(2000);
Motor->(RELEASE);
delay(2000);
Motor->run(BACKWARD);
delay(2000);
}
Conclusão
Agora que você já aprendeu a usar motores DC com um Motor Shield, poderá montar carrinhos muito melhores com Arduino e mais rapidamente. Por último, gostaria de lembrar que os códigos usados neste e em todos os meus outros artigos podem ser encontrados no meu Github. Aproveite e me siga!


















