欢迎来到串口通信的世界!在本教程中,我们将使用Velxio在线模拟器构建一个简单的”串口Hello World”项目。你将学习如何从Arduino Uno向电脑的串口监视器发送消息。这是无数项目的基础——从传感器读数到调试复杂代码。
你将构建的内容
我们将创建一个仅包含Arduino Uno的电路(无需外部元件),并编写一个草图程序,每两秒打印一条问候语和系统运行时间。你将在Velxio内置的串口监视器中看到输出。
电路讲解

这个电路非常简单:只有一块Arduino Uno板。没有导线,没有LED,没有电阻。Arduino通过其内置的USB转串口转换器与电脑通信。在Velxio中,这是自动模拟的——你不需要连接任何东西。
要将Arduino Uno添加到画布:
- 点击画布工具栏中的 + 按钮(如下所示)打开元件选择器。

- 在元件选择器中,按类别浏览或搜索”Arduino Uno”。

- 点击将其放置在画布上。
就这样!你的电路已经准备好了。
代码讲解

以下是完整的草图程序:
// Serial Communication Example
// Send messages to Serial Monitor
void setup() {
Serial.begin(9600);
Serial.println("Hello, Arduino!");
Serial.println("System initialized");
}
void loop() {
Serial.print("Uptime: ");
Serial.print(millis() / 1000);
Serial.println(" seconds");
delay(2000);
}
让我们逐行分析:
Serial.begin(9600);– 以9600比特每秒的波特率初始化串口通信。这必须与串口监视器中设置的波特率一致。Serial.println("Hello, Arduino!");– 打印字符串后跟一个换行符(回车加换行)。Serial.print("Uptime: ");– 打印文本但不换行,因此下一个输出会出现在同一行。millis() / 1000– 返回程序启动以来的毫秒数;除以1000得到秒数。delay(2000);– 暂停程序2000毫秒(2秒),然后重复循环。
运行模拟
- 点击编辑器工具栏中的 运行 按钮。

- 从画布工具栏打开串口监视器(通常是一个放大镜图标或终端图标)。
- 你应该会看到:
Hello, Arduino! System initialized Uptime: 0 seconds Uptime: 2 seconds Uptime: 4 seconds ...
关键概念
- 串口通信:一种通过单根导线逐位发送数据的方法。Arduino使用UART(通用异步收发器)进行串口通信。
- 波特率:串口通信的速度,以比特每秒为单位。发送方和接收方必须使用相同的波特率。
Serial.print()与Serial.println():print()发送文本时不换行;println()在文本后附加一个换行符。millis():一个返回Arduino启动以来毫秒数的函数。它对于不阻塞程序进行计时非常有用。
常见陷阱与调试技巧
- 波特率错误:如果看到乱码字符,请确保串口监视器的波特率与
Serial.begin()一致。在Velxio中,监视器通常会自动检测,但最好再检查一下。 - 缺少
Serial.begin():没有它,什么都不会打印。务必在setup()中包含它。 - 使用
delay()阻塞程序:delay()会暂停所有操作。对于更响应式的代码,考虑使用millis()进行非阻塞计时。 - 串口监视器无法打开:确保模拟正在运行。先点击运行按钮。
建议的扩展
- 读取用户输入:使用
Serial.read()或Serial.parseInt()从串口监视器接收命令并控制LED。 - 发送传感器数据:连接一个电位计或温度传感器并打印其数值。
- 多条消息:使用
Serial.print()打印包含多个变量的格式化数据。 - 添加库:使用库管理器添加一个库,例如用于额外串口的
SoftwareSerial。
自己动手试试
准备好实验了吗?在Velxio中打开实时示例并修改代码:更改问候语、调整延迟或添加计数器。最好的学习方式就是动手实践。
祝你编程愉快!