返回

Pico 串口 LED 控制:构建你的第一个命令接口

引言

欢迎来到你的第一个 Raspberry Pi Pico 串口控制项目!在本教程中,我们将构建一个简单的电路,让你通过在串口监视器中输入命令来打开和关闭 LED。你将学习串口通信、数字输出以及如何使用 Velxio 模拟器在无需硬件的情况下测试代码的基础知识。

这个项目非常适合想要了解微控制器如何与计算机通信的初学者。完成后,你将能够扩展这个概念来控制多个 LED、读取传感器,甚至构建一个简单的菜单系统。

电路讲解

让我们看看我们将要构建的电路。在 Velxio 中打开示例,你会看到以下组件:

Velxio 模拟器画布上 pico-serial-led-control 的电路图

接线细节

  1. 从 Pico D2 到 LED 阳极:一根绿色电线将 Pico 的 D2 引脚连接到 LED 的阳极 (A)。这是控制信号。
  2. 从 LED 阴极到电阻:一根灰色电线将 LED 的阴极 (C) 连接到电阻的一端(引脚 1)。
  3. 从电阻到 Pico GND:一根黑色电线将电阻的另一端(引脚 2)连接到 Pico 的地 (GND.1)。

就是这样!电路简单但有效。电阻对于避免烧坏 LED 至关重要。使用 220Ω 电阻和典型的 LED 正向电压(约 2V),电流大约为 (3.3V - 2V) / 220Ω ≈ 6mA,这是安全的。

代码讲解

现在让我们深入代码。在 Velxio 中打开编辑器,你会看到以下 Arduino 代码:

// Raspberry Pi Pico — Serial LED Control
// Send '1' to turn LED ON, '0' to turn OFF, '?' for status

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);
  delay(500);
  Serial.println("=== Pico LED Control ===");
  Serial.println("Commands: 1=ON  0=OFF  ?=status");
}

void loop() {
  if (Serial.available()) {
    char cmd = Serial.read();
    switch (cmd) {
      case '1':
        digitalWrite(LED_BUILTIN, HIGH);
        Serial.println("LED: ON");
        break;
      case '0':
        digitalWrite(LED_BUILTIN, LOW);
        Serial.println("LED: OFF");
        break;
      case '?':
        Serial.print("LED: ");
        Serial.println(digitalRead(LED_BUILTIN) ? "ON" : "OFF");
        break;
      default:
        if (cmd >= ' ') {
          Serial.print("Unknown command: ");
          Serial.println(cmd);
        }
        break;
    }
  }
}

工作原理

注意我们使用了 LED_BUILTIN,这是 Pico 板载 LED 的预定义常量(通常在引脚 25 上)。在我们的电路中,我们将一个外部 LED 连接到了 D2 引脚,但代码仍然使用内置 LED。如果你想控制外部 LED,将 LED_BUILTIN 改为 2(或定义一个常量)。对于这个示例,内置 LED 工作得很好。

关键概念

常见陷阱与调试技巧

建议的扩展

一旦你完成了基本项目,尝试以下增强功能:

  1. 控制外部 LED:将 LED_BUILTIN 改为 2,并按照电路图将外部 LED 连接到 D2 引脚。
  2. 添加更多 LED:使用多个引脚和命令,例如 ‘r’ 表示红色,‘g’ 表示绿色,‘b’ 表示蓝色。
  3. PWM 调光:使用 analogWrite() 设置亮度级别。发送像 ‘0’ 到 ‘9’ 这样的值,对应 0% 到 100% 的亮度。
  4. 双向通信:当你发送像 ‘t’ 这样的命令时,让 Pico 发送传感器数据(例如温度)。
  5. 菜单系统:打印一个选项菜单,并使用循环等待有效输入。

行动号召

准备好自己尝试了吗?在 Velxio 中打开实时示例并开始实验:Pico Serial LED Control on Velxio。无需下载,无需设置——只需你的浏览器和好奇心。祝你编程愉快!


分享到:
David Montero

作者

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

相关文章


上一篇
Pico I2C 扫描仪:查找总线上的设备
下一篇
Pico 串口回显:使用 Velxio 在 RP2040 上测试 UART