You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入时出现No module named 'machine'错误,求Raspberry Pi Pico的LCD地址

错误解决与LCD地址获取方案

1. 解决ModuleNotFoundError: No module named 'machine'

machine是MicroPython的内置模块,你当前在Windows的标准Python(CPython)环境下运行代码,所以无法找到该模块。必须将代码部署到Raspberry Pi Pico上,使用MicroPython环境执行。

2. 获取Raspberry Pi Pico上LCD的I2C地址

假设你使用的是I2C接口的LCD,按以下步骤操作:

  • 确保LCD的SDA、SCL引脚分别连接到Pico的对应I2C引脚(例如GP0和GP1),同时接好电源和地线。
  • 在Pico上运行以下MicroPython代码扫描I2C设备:
from machine import I2C, Pin
# 根据实际接线调整I2C编号和引脚
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
devices = i2c.scan()
if devices:
    for dev_addr in devices:
        print(f"检测到LCD地址: {hex(dev_addr)}")
else:
    print("未找到任何I2C设备,请检查接线")

运行后控制台会输出LCD的十六进制地址(常见为0x27或0x3f)。

3. LCD文本显示示例

获取地址后,可使用MicroPython的LCD驱动实现显示(需将lcd_api.py和pico_i2c_lcd.py两个库文件上传到Pico的文件系统中):

from machine import I2C, Pin
from lcd_api import LcdApi
from pico_i2c_lcd import I2cLcd

# 替换为扫描得到的LCD地址
LCD_ADDR = 0x27
# 根据你的LCD规格调整行列数
LCD_ROWS = 2
LCD_COLS = 16

# 初始化I2C(与扫描代码的引脚保持一致)
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
# 初始化LCD
lcd = I2cLcd(i2c, LCD_ADDR, LCD_ROWS, LCD_COLS)
# 显示文本
lcd.putstr("Hello Pico!")

内容的提问来源于stack exchange,提问作者Job Sanjose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 19:58:15