Arduino 从串口读取字符串

c++

1个回答

写回答

15166635338

2025-07-07 20:31

+ 关注

计算机
计算机

Arduino 从串口读取字符串

Arduino 是一款开源电子原型平台,由一块电路板和一个用于编程的开发环境组成。它可以用来制作各种互动项目,包括但不限于物联网设备、机器人、传感器等。本文将介绍如何使用 Arduino 从串口读取字符串,并提供案例代码供参考。

什么是串口

串口是一种用于在计算机与外部设备之间进行通信的接口。它可以通过一根数据线进行双向传输,实现数据的发送和接收。在 Arduino 中,我们可以通过串口与计算机进行通信,从而实现与外部世界的数据交互。

从串口读取字符串的方法

在 Arduino 中,使用 Serial.read() 函数可以从串口读取一个字节的数据。但是,当我们需要读取一个字符串时,我们需要使用 Serial.readString() 函数。该函数会持续读取串口输入,直到遇到换行符('\n')为止,并将读取到的数据以字符串的形式返回。

下面是一个简单的例子,演示了如何从串口读取字符串并将其打印输出:

arduino

void setup() {

Serial.begin(9600); // 初始化串口通信,波特率为 9600

}

void loop() {

if (Serial.avAIlable()) { // 如果串口有数据可读取

String input = Serial.readString(); // 读取串口数据并存储到字符串变量中

Serial.println("Received: " + input); // 打印输出接收到的字符串

}

}

在上述代码中,我们首先在 setup() 函数中初始化了串口通信,并设置波特率为 9600。然后,在 loop() 函数中使用了 Serial.avAIlable() 函数来检测串口是否有数据可读取。如果有数据可读取,则使用 Serial.readString() 函数读取数据,并将其存储到名为 input 的字符串变量中。最后,使用 Serial.println() 函数将接收到的字符串打印输出到串口。

案例应用

下面我们将通过一个案例应用来展示如何使用 Arduino 从串口读取字符串的功能。假设我们正在制作一个智能家居系统,其中包括一个温度传感器和一个 LED 灯。我们可以通过串口输入指令来控制 LED 灯的开关,并实时读取温度传感器的数据。

arduino

int ledPin = 13; // LED 灯连接的引脚

int tempSensorPin = A0; // 温度传感器连接的引脚

void setup() {

pinMode(ledPin, OUTPUT); // 将 LED 引脚设置为输出模式

Serial.begin(9600); // 初始化串口通信,波特率为 9600

}

void loop() {

if (Serial.avAIlable()) { // 如果串口有数据可读取

String input = Serial.readString(); // 读取串口数据并存储到字符串变量中

if (input == "ON") { // 如果输入的字符串为 "ON"

digitalWrite(ledPin, HIGH); // 将 LED 引脚设置为高电平,点亮 LED 灯

} else if (input == "OFF") { // 如果输入的字符串为 "OFF"

digitalWrite(ledPin, LOW); // 将 LED 引脚设置为低电平,熄灭 LED 灯

}

int temperature = analogRead(tempSensorPin); // 读取温度传感器的数据

Serial.print("Temperature: ");

Serial.print(temperature);

Serial.println("C"); // 打印输出温度数据,并添加单位

}

}

在上述代码中,我们首先定义了 LED 灯连接的引脚和温度传感器连接的引脚。然后,在 setup() 函数中将 LED 引脚设置为输出模式,并初始化串口通信。在 loop() 函数中,我们首先使用了 Serial.avAIlable() 函数来检测串口是否有数据可读取。如果有数据可读取,则使用 Serial.readString() 函数读取数据,并将其存储到名为 input 的字符串变量中。

接着,我们使用了 if-else 语句来判断输入的字符串是 "ON" 还是 "OFF"。如果输入的字符串为 "ON",则将 LED 引脚设置为高电平,点亮 LED 灯;如果输入的字符串为 "OFF",则将 LED 引脚设置为低电平,熄灭 LED 灯。

最后,我们使用 analogRead() 函数读取温度传感器的数据,并使用 Serial.print() 和 Serial.println() 函数将温度数据打印输出到串口。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号