问题描述
有没有人通过 I2C 将 Coral Dev Board Mini 连接到 Adafruit 的 Motor Shield V2 (AMS)?
我的第一个解决方案是使用 Dev Mini 上仅有的 3 个 PWM 来控制电机的速度和方向,但我需要两个电机。
所以决定走 I2C 路线,结合 Adafruit 的 Motor Shield V2。
我已经在电路板和屏蔽之间连接了以下引脚
Mini 5V -> AMS Vin
Mini GND -> AMS GND
Mini SDA (pin 3) -> AMS SDA pin
Mini SCL (pin 5) -> AMS SCL pin
在 mini 上,SDA/SCL 引脚 3 和 5 与设备路径 /dev/i2c-3 相关联
sudo i2cdetect -y 3
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
我应该看到 0x60。
默认的迷你引脚状态为
HIGH (4.7K pull-up)
有什么想法吗?
或者对控制两个电机的速度和方向的另一种解决方案有什么想法吗?
解决方法
我不知道 Adadfruit 电机驱动器,但是如果您将 +5V 连接到它的 Vin,它很可能会将 I2C 线拉到这个电压,这可能与 mini dev 使用的 3.3V 不兼容。你检查过吗?
我尝试过类似的方法,但使用的是 SparkFun Auto pHAT(在 I2C 总线上进行 3.3V 5V 转换)。我无法在 Auto pHat 和微型开发板之间使用 I2C。也许 mini 的 I2C 实现中的某些东西不能开箱即用。我可以使用 (3.3V) ESP32 毫无问题地控制 Auto pHat。
我还开发了自己的电机驱动器,由 I2C 控制,原型与 ESP32 配合良好,我还没有在开发板 mini 上尝试过。我会试一试,然后告诉你。