我试图用我的MPU6050
电路板连接NodeMCU
,其中有Micropython闪存在其中。
我目前的布线如下:
MPU6050 Board
Vcc 3.3v
Gnd Gnd
SDA D6
SCL D7
通过命令行,我尝试了以下命令:
>>> from machine import Pin, I2C
>>> i2c = I2C(sda=Pin(12),scl=Pin(13))
>>> i2c.scan()
[]
>>>
12和13是我从this引脚排列的GPIO值,我也尝试使用D1和D2引脚,就像在线人一样。
虽然我打算使用预制模块来读取MPU6050的值,但我希望自己能够看到这一点(预先制作的模块似乎过于庞大,所以我想看看我是否可以自己做一些事情)。
我变得非常疯狂,因为对我来说一切似乎都很好(根据网上看到的其他人的布线也是如此)。
一如既往,提前谢谢!
答案 0 :(得分:0)
原来代码是正确的,原因是面包板中的错误接触。
答案 1 :(得分:0)
以防万一其他人遇到这个问题:经过数小时的努力,试图使NodeMCU在Micropython上与MCP23017一起工作并获得空的i2c.scan(),我注意到问题是由于某种原因,micropython并没有就像使用D1和D2(当我在arduino上测试相同的硬件配置时,它确实可以工作)。除了建议的芯片布线外,只需对SDA和SCL使用以下布线,就可以了:
SDA: D6
SCL: D7
您应该得到:
>>> i2c = machine.I2C(scl=machine.Pin(13), sda=machine.Pin(12))
>>> i2c.scan()
[32]