drv8830 minimoto i2c

doleynikov
Offline
Зарегистрирован: 30.01.2015

Приветствую. 

есть идейка поиграться с имеющейся Adafruit Gemma. Она поддерживает i2c интерфейс. У меня как раз есть в загашнике MiniMoto драйвер двигателя. На сколько я понял, там один мотор можно подключить в штатной схеме.

Можно регулировать скорость, направление вращения. Мне пришло в голову, что можно управлять двумя моторами, если не замахиваться на управление направлением вращения. То есть два двигателя, управляемых раздельно, но без задней передачи.Вроде все логично: цепляем моторы к out1+gnd и out2+gnd и разбираемся с кодом библиотеки.

У Геммы остается один цифровой вход. Через него можно подключить, например, фоторезистор.

такое сработает?

 

 

doleynikov
Offline
Зарегистрирован: 30.01.2015

Короче, чего-то я недопонимаю.

Собрал на коленке маленькое шасси.Шасси

Подключил свой drv8830 minimoto i2c драйвер к Adafruit Gemma. Подключил один мотор шасси к драйверу и простейшим скетчем перебираю возможные адреса.

#include <SoftI2CMaster.h>

#include <minimoto.h>

MiniMoto motor0(0xC0);
MiniMoto motor1(0xC2);
MiniMoto motor2(0xC4);
MiniMoto motor3(0xC6);
MiniMoto motor4(0xC8);
MiniMoto motor5(0xCA);
MiniMoto motor6(0xCC);
MiniMoto motor7(0xCE);
MiniMoto motor8(0xD0);

void setup()
{
  motor0.drive(50);
  motor1.drive(50);
  motor2.drive(50);
  motor3.drive(50);
  motor4.drive(50);
  motor5.drive(50);
  motor6.drive(50);
  motor7.drive(50);
  motor8.drive(50);

  delay(1000);
  motor0.stop();
  motor1.stop();
  motor2.stop();
  motor3.stop();
  motor4.stop();
  motor5.stop();
  motor6.stop();
  motor7.stop();
  motor8.stop();
}

void loop()
{
  
}

Ничего не крутится ;-( . Есть какие-то идеи?