使用 Micropython 和 NodeMCU 12E returns 空列表进行 I2C 扫描
I2C scan with Micropython and NodeMCU 12E returns empty list
我正在尝试将 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的值,但我更想自己看看这个(预制模块似乎太多了,所以我想看看我是否可以自己做点什么).
我快疯了,因为我觉得一切都很好(根据其他人在网上看到的接线)。
一如既往,提前致谢!
结果代码是正确的,原因是面包板接触不良。
以防万一其他人遇到这个问题:经过数小时的努力,试图让 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]
我正在尝试将 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的值,但我更想自己看看这个(预制模块似乎太多了,所以我想看看我是否可以自己做点什么).
我快疯了,因为我觉得一切都很好(根据其他人在网上看到的接线)。
一如既往,提前致谢!
结果代码是正确的,原因是面包板接触不良。
以防万一其他人遇到这个问题:经过数小时的努力,试图让 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]