Skip to content

第 8 章:看懂 LED 代码

本章任务

看懂"点亮与闪烁 LED"的代码——对应第一册第 3、4 章的实验。这是 Mind+ 生成代码里最简单、最常见的一段。

接线回顾

元件Pico 引脚说明
板载 LEDGP25(板载,无需接线)芯片上自带的小灯
外接 LED 长脚(正极)GP0信号线
外接 LED 短脚(负极)经 100Ω 电阻接 GND限流保护

Mind+ 生成的典型代码

python
from machine import Pin       # 从 machine 工具箱拿出 Pin(引脚控制工具)
import time                   # 拿出时间工具(用来"等待")

led_onboard = Pin(25, Pin.OUT)   # 25 号引脚(板载 LED),设为输出模式
led_red = Pin(0, Pin.OUT)        # 0 号引脚(外接 LED),设为输出模式

while True:                      # 一直重复下面四行(对应"循环执行"积木)
    led_onboard.value(1)         # 板载 LED:通电(亮)
    led_red.value(1)             # 外接 LED:通电(亮)
    time.sleep(0.5)              # 保持 0.5 秒

    led_onboard.value(0)         # 板载 LED:断电(灭)
    led_red.value(0)             # 外接 LED:断电(灭)
    time.sleep(0.5)              # 保持 0.5 秒

代码讲解

这段代码分两部分:

开头三行(准备工作,只执行一次)

  • 前两行是"拿工具":from machine import Pinimport time,几乎每段硬件代码都有
  • 两个 Pin(...) 是"登记引脚":告诉 Pico 我要用哪几号脚、是用来输出的

while True: 循环(一直重复)

  • .value(1) 就是"高电平",相当于积木里的"LED 输出 高电平"——灯亮
  • .value(0) 就是"低电平"——灯灭
  • time.sleep(0.5) 对应"等待 0.5 秒"积木
  • 四行合起来:亮 0.5 秒 → 灭 0.5 秒 → 再亮……就是闪烁

运行效果

板载 LED 和面包板上的外接 LED 同步闪烁,间隔 0.5 秒——和用积木做出来的一模一样。

常见坑

  • 看到代码里写 Pin(25, ...),这里的 25 是 GP 编号;板载 LED 固定在 GP25,不在 40 个针脚里
  • 外接 LED 不亮:先检查长脚是不是接 GP0,再检查代码里的编号有没有写错
  • 代码里 .value(1) 也可能写成 .value(HIGH),意思完全一样

想一想

  1. 如果想让灯闪得更快,代码里哪两个数字要改?改成什么方向(大还是小)?

    💡 查看答案

    改两个 time.sleep(0.5) 里的 0.5,往改——比如改成 0.1,闪烁就变成每秒 5 次,明显更快。

  2. 如果想让两个灯交替闪(一个亮时另一个灭),循环里的四行该怎么换顺序?

    💡 查看答案

    让两个灯的电平始终相反即可:

    python
    while True:
        led_onboard.value(1)   # 板载亮
        led_red.value(0)       # 外接灭
        time.sleep(0.5)
        led_onboard.value(0)   # 板载灭
        led_red.value(1)       # 外接亮
        time.sleep(0.5)

不积跬步,无以至千里;万里之行,始于当下。