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

如何在MicroPython中访问RP2040 NINA模块的GPIO引脚

解决RP2040 Connect访问NINA模块RGB LED引脚问题

核心问题原因

你看到的pin_map数组里的引脚号是NINA-W102模块自身的GPIO编号,不是RP2040本地引脚,直接用machine.Pin()调用这些编号无效——因为这些引脚属于远程模块,必须通过NINA的引脚扩展驱动来访问,而非直接操作本地Pin类。

解决方案步骤

  1. 导入并初始化NINA驱动
    复用WiFi的SPI总线初始化NINA模块连接,不会和现有网络功能冲突:

    from machine import SPI, Pin
    import ninaw10
    
    # 对应RP2040 Connect的NINA硬件引脚定义
    spi = SPI(0, baudrate=10000000, sck=Pin(18), mosi=Pin(19), miso=Pin(16))
    cs_pin = Pin(17, Pin.OUT, value=1)
    rst_pin = Pin(20, Pin.OUT, value=1)
    
    # 初始化NINA引脚扩展功能
    ninaw10.init(spi, cs_pin, rst_pin)
    
  2. 控制RGB LED引脚
    使用ninaw10.Pin()类而非machine.Pin()来操作远程引脚,对应pin_map里的编号:

    # 初始化RGB LED引脚为输出模式
    red_led = ninaw10.Pin(27, ninaw10.Pin.OUT)
    green_led = ninaw10.Pin(25, ninaw10.Pin.OUT)
    blue_led = ninaw10.Pin(26, ninaw10.Pin.OUT)
    
    # 点亮红色LED(NINA的RGB LED为共阳极设计,低电平点亮)
    red_led.value(0)
    # 熄灭红色LED
    red_led.value(1)
    

关键注意事项

  • 无需额外添加NINA模块:现有WiFi功能已经基于该驱动运行,初始化引脚扩展只是复用同一个SPI连接,不会产生冲突。
  • LED极性:NINA-W102的RGB LED为共阳极,需输出低电平点亮、高电平熄灭,测试时可调整value()参数验证效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 10:53:36