Grove - I2C Motor Driver V1.3

O Grove - I2C Motor Driver V1.3 (versão mais recente) pode controlar diretamente motor de passo ou motor DC. Seu coração é um chip driver em ponte H de canal duplo (L298N) que pode lidar com corrente de até 2A por canal, controlado por um Atmel ATmega8L que gerencia a comunicação I2C com plataformas como Arduino. Ambos os motores podem ser acionados simultaneamente enquanto configurados com velocidades e direções diferentes. Ele pode alimentar dois motores DC com escovas ou um motor de passo bifásico de 4 fios. Requer uma fonte de alimentação de 6V a 15V para alimentar o motor e possui um regulador de tensão de 5V onboard que pode alimentar o barramento I2C e o Arduino (selecionável por jumper). Todas as linhas do driver são protegidas por diodos contra back-EMF.
Em contraste com o Grove - I2C motor driver V1.2, o V1.3 permite aos usuários controlar o motor de passo com mais facilidade. Você não precisa mais controlar os steppers o tempo todo; basta enviar um comando para o I2C motor driver V1.3 para acionar um motor de passo, e ele agirá conforme seu comando, o que economizará recursos do Arduino e simplificará seu código.
Versão
| Revisão | Descrições | Lançamento |
|---|---|---|
| v1.0 | Lançamento público inicial | 17 de maio, 2012 |
| v1.2 | Modificar o endereço I2C definido por hardware | 2 de julho, 2012 |
| v1.3 | Modificar o firmware para suportar Stepper off-line | 18 de fevereiro, 2013 |
Recursos
- Compatível com Grove
- Interface I2C
- Velocidade e direção de rotação do motor ajustáveis
- Endereço escravo alterável por hardware
Para mais detalhes sobre módulos Grove, consulte o Grove System
Especificações
Item | Mín | Típico | Máx | Unidade |
|---|---|---|---|---|
Tensão de trabalho | 6 | 15 | VDC | |
Corrente máxima de saída por canal | 0,5 | A | ||
Corrente total máxima | 1,0 | A | ||
Tensão de entrada/saída no barramento I2C | 5 | V | ||
Protocolo de comunicação | I2C | / | ||
Se você quiser usar vários dispositivos I2C, consulte o Software I2C.
Plataformas Suportadas
| Arduino | Raspberry Pi | |||
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.
Visão Geral do Hardware

CI 78M05: Regulador de tensão de 5V
CI L298: Driver de ponte completa dupla
CI ATmega8: Controla a rotação do motor.
Note
A tensão de entrada nos terminais de parafuso é regulada para 5V e conectada ao I2C +5V através de um jumper (J4). Remova o jumper se forem usados simultaneamente alimentação externa pelos terminais de parafuso e alimentação pelo conector I2C. Use o jumper se os 5V devam ser fornecidos ao barramento I2C.Ideias de Aplicação
- Robôs
- Carrinhos RC caseiros
- Ventoinhas de gabinete
- Iluminação LED de alta potência
Caution
A placa ficará muito quente ao operar acima de 1 Ampere. Mantenha suas mãos longe!Primeiros Passos
Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.
Brincar com Arduino
Demonstração
O I2C Motor Driver pode controlar motor baseado no chip L298. O L298 não é apenas um driver de motor duplo, é uma ponte H dupla. Uma ponte H é basicamente uma configuração específica de transistores que permite alternar a direção da corrente. Conectando a um motor significa que você pode fazê-lo girar em ambas as direções; e com entrada PWM, você pode usar o Arduino para fazê-los girar em qualquer velocidade. Como o L298 tem 2 pontes H, você pode fazer um robô girar em torno de si mesmo fazendo cada roda girar em direções diferentes e, é claro, ir para frente e para trás.
Hardware
- Passo 1. Prepare os seguintes itens:
| Seeeduino V4.2 | Base Shield | Grove - I2C Motor Driver V1.3 |
|---|---|---|
![]() | ![]() | ![]() |
| Adquira agora | Adquira agora | Adquira agora |
-
Passo 2. Defina o endereço do I2C Motor Driver
-
Definir o endereço pelo dial switch é uma nova função adicionada ao novo I2C Motor Driver.

- Depois mantenha a configuração de endereço no programa igual à configuração de endereço no I2C motor driver. O endereço padrão configurado no programa é 0x0f.
- Passo 3. Conecte o Grove - I2C Motor Driver V1.3 à porta I2C do Grove-Base Shield.
- Passo 4. Conecte o Grove - Base Shield ao Seeeduino.
- Passo 5. Conecte o Seeeduino ao PC por meio de um cabo USB.

Se não tivermos o Grove Base Shield, também podemos conectar diretamente o Grove - I2C Motor Driver V1.3 ao Seeeduino como abaixo.
| Seeeduino | Grove - I2C Motor Driver V1.3 |
|---|---|
| 5V | Vermelho |
| GND | Preto |
| SDA | Branco |
| SCL | Amarelo |
Software
- Passo 1. Baixe a Grove_I2C_Motor_Driver_v1_3 Library no Github.
- Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.
- Passo 3. Copie o código para a IDE do Arduino e faça o upload. Se você não souber como fazer o upload do código, verifique how to upload code.
// default I2C address is 0x0f
#define I2C_ADDRESS 0x0f
void setup()
{
Motor.begin(I2C_ADDRESS);
}
Note
A primeira coisa a notar é que você precisa de uma fonte de alimentação externa para seus motores DC. O pino de 5V no Arduino não pode fornecer energia suficiente para acionar 2 motores; você pode danificar seu Arduino se fizer isso.- Existem 2 funções para controlar motores DC:
// Set the speed of a motor, speed is equal to duty cycle here
void speed(unsigned char motor_id, int _speed);
// Stop one motor
void stop(unsigned char motor_id);
Com a função speed(), você consegue acionar um motor na velocidade que desejar.
-
motor_id representa qual motor usar. Você pode preencher MOTOR1 ou MOTOR2.
-
_speed representa a velocidade que você define para o motor. Você pode preencher -100~100 aqui. Quando _speed>0, o motor DC gira no sentido horário, enquanto _speed<0, o motor DC gira no sentido anti-horário. E quanto maior o valor absoluto de _speed, maior a velocidade do motor DC.
Com a função stop(), você consegue parar um motor DC em funcionamento.
- motor_id representa qual motor usar. Você pode preencher MOTOR1 ou MOTOR2.
Acionar um Motor de Passo
Tome o Motor de Passo 24BYJ48 como exemplo. A instalação de hardware é mostrada abaixo:

A conexão entre o Motor de Passo 24BYJ48 e o I2C Motor Driver é mostrada abaixo:

- Fornecemos uma função para acionar um motor de passo.
// Drive a stepper motor
void StepperRun(int _step);
- _step representa os passos que você define para o motor de passo executar. Você pode preencher de -1024~1024. Quando _step>0, o motor de passo gira no sentido horário, enquanto _step<0, o motor de passo gira no sentido anti-horário. Quando _step é 512/-512, o motor de passo dará uma volta completa e, se _step for 1024/-1024, o motor de passo dará 2 voltas. O motor de passo irá parar automaticamente após concluir seus passos.
Brincar com o Codecraft
Hardware
Passo 1. Usando um cabo Grove, conecte o Grove - I2C Motor Driver à porta I2C do Seeeduino. Se você estiver usando um Arduino, aproveite um Base Shield.
Passo 2. Conecte o Seeedino/Arduino ao seu PC por meio de um cabo USB.
Software
Passo 1. Abra o Codecraft, adicione o suporte ao Arduino e arraste um procedimento principal para a área de trabalho.
Se esta for a sua primeira vez usando o Codecraft, consulte também o Guia para usar Arduino com Codecraft.
Passo 2. Arraste os blocos como na figura abaixo ou abra o arquivo cdc, que pode ser baixado no final desta página.

Envie o programa para o seu Arduino/Seeeduino.
Quando o envio do código terminar, você verá que os motores DC conectados ao Motor Driver estarão funcionando.
Visualizador de Esquemático Online
Recursos
-
[Eagle] Diagrama Esquemático do Grove - I2C Motor Driver V1.3
-
[PDF] Diagrama Esquemático do Grove - I2C Motor Driver V1.3 em Formato PDF
-
[Firmware] Firmware On-Chip para o I2C Motor Driver
-
[Datasheet] Datasheet do L298
-
[Datasheet] Datasheet do 78M05
-
[Codecraft] Arquivo CDC
Suporte Técnico & Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para lhe fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.








