3

我正在尝试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 是我从这个引脚分配中获取的 GPIO 值,我也尝试过使用 D1 和 D2 引脚,就像网上很多人所做的那样。

虽然我打算使用预制模块来读取 MPU6050 的值,但我还是希望自己看到这个(预制模块看起来太庞大了,所以我想看看我是否可以自己做点什么)。

我变得非常疯狂,因为对我来说一切都很好(根据网上看到的其他人的接线)。

一如既往,提前致谢!

4

2 回答 2

3

以防万一其他人遇到这个问题:经过几个小时试图让 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]
于 2018-12-25T11:09:09.823 回答
2

结果证明代码是正确的,原因是面包板中的接触错误。

于 2017-09-10T13:53:02.103 回答