驴友花雕 发表于 2024-9-20 09:02:47

【花雕学编程】Arduino动手做(231)--向串行端口发送数据



XIAO ESP32S3 Sense 是 Seeed Studio 推出的一个强大的迷你型开发板,它集成了多种传感器和丰富的接口,非常适合用于物联网(IoT)、AI人工智能、智能家居、工业自动化、数据采集、教育和娱乐等领域的项目开发。

1、 硬件概述
处理器:ESP32-S3R8 Xtensa LX7 双核 32 位处理器,运行频率高达 240 MHz。
无线通信:支持 2.4GHz Wi-Fi 和蓝牙 5.0(包括蓝牙网状网络)。
内存:片上 8MB PSRAM 和 8MB 闪存。
引脚:共有26个可编程GPIO引脚,包括 1x UART, 1x IIC, 1x IIS, 1x SPI, 11x GPIOs (PWM), 9x ADC, 1x 用户 LED, 1x 充电 LED, 1x 复位按钮, 1x 启动按钮。

2、内置传感器
数字麦克风:用于音频输入。
摄像头传感器:OV2640,分辨率为 1600x1200。
LED:内置一个RGB LED,可编程控制颜色和亮度。
SD 卡支持:板载 SD 卡插槽,支持最大 32GB 的 FAT 文件系统。

3、功耗模式
调制解调器睡眠模式:3.8V/25 mA。
轻度睡眠模式:3.8V/2 mA。
深度睡眠模式:3.8V/14 μA。

4、功能特性
嵌入式 ML 计算能力:结合摄像头和麦克风,适用于智能语音和视觉 AI 应用。
低功耗设计:支持多种低功耗模式,适用于电池供电的应用。
紧凑设计:尺寸仅为 21 x 17.5 mm,非常适合空间有限的项目。

5、 应用场景
智能家居:利用摄像头和麦克风进行语音控制和图像识别。
可穿戴设备:由于其小巧的尺寸和低功耗设计,非常适合用于可穿戴设备。
物联网(IoT):通过 Wi-Fi 和蓝牙连接,可以轻松集成到各种 IoT 应用中。

6、开发支持
编程语言:支持 Arduino 和 MicroPython。
开发工具:提供丰富的开发工具和库,方便快速上手。

7、其他特性
电源管理:支持锂电池充电管理,提供稳定的电源供应。
扩展性:通过 B2B 连接器,可以扩展更多的 GPIO 和其他功能。



驴友花雕 发表于 2024-9-20 09:06:17

【花雕学编程】Arduino动手做(231)--向串行端口发送数据

串行
在使用Arduino IDE时,串行通信是许多项目的重要组成部分。要在Arduino IDE中使用Serial,需要先打开Serial Monitor窗口。这可以通过单击工具栏中的串行监视器图标或按Ctrl+M快捷键来完成。

一般用途
一些常用的串行功能包括:
Serial.begin() -- 其以指定的波特率初始化通信;
Serial.print() -- 其以可读格式向串行端口发送数据;
Serial.write() -- 其向串行端口发送二进制数据;
Serial.available() -- 其检查是否存在可从串行端口读取的任何数据;
Serial.read() -- 其从串行端口读取单个字节的数据;
Serial.flush() -- 其等待输出串行数据的传输完成。

通过使用这些串行功能,您可以在Seeed Studio XIAO ESP32S3 Sense板和计算机之间发送和接收数据,这为创建交互式项目开辟了许多可能性。


【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十一:XIAO ESP32S3 Sense Wi-Fi+BLE5.0+麦克风+OV2640摄像头
视觉AI识别主控模组套装
{花雕动手做}实验四:XIAO ESP32S3 Sense的串行通信调式

实验开源代码

/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十一:XIAO ESP32S3 Sense Wi-Fi+BLE5.0+麦克风+OV2640摄像头
视觉AI识别主控模组套装
{花雕动手做}实验四:XIAO ESP32S3 Sense的串行通信调式
*/

void setup() {
// 初始化串行通信,速率为每秒9600比特
Serial.begin(9600);
Serial.println("XIAO ESP32S3 Sense准备就绪!");
}

void loop() {
// 向串行端口发送数据
Serial.println("Hello World!");
delay(1000);
// 从串行端口读取数据
if (Serial.available() > 0) {
    // 读取传入的字节
    char incomingByte = Serial.read();
    // 将传入的字节打印到串行监视器
    Serial.print("我收到: ");
    Serial.println(incomingByte);
}

// 等待一秒钟后重复循环
delay(1000);
}

驴友花雕 发表于 2024-9-20 09:13:48

【花雕学编程】Arduino动手做(231)--向串行端口发送数据

实验串口返回情况


驴友花雕 发表于 2024-9-20 09:19:24

【花雕学编程】Arduino动手做(231)--向串行端口发送数据

在这段代码中,我们首先使用“setup()”函数中的“Serial.begin()”功能以9600的波特率初始化串行通信。然后,在“loop()”函数中,我们使用“Serial.print()”功能将“Hello World!”发送到串行端口。

我们还使用“Serial.available()”函数来检查是否有任何数据可从串行端口读取。如果有,我们使用“Serial.read()”功能读取传入字节,并将其存储在一个名为incomingByte的变量中。然后,我们使用“Serial.print()”和“Serial.println()”函数将“I received:”和incomingByte的值打印到串行监视器。

最后,我们添加一个“delay()”函数,在重复循环之前等待一秒钟。这段代码演示了如何使用Arduino IDE中一些常用的串行函数通过串行端口发送和接收数据。

上传程序后,打开Arduino IDE中的串行监视器,并将波特率设置为9600。您将在串行监视器上看到以下消息,该消息输出“Hello World!”每秒钟。此外,您可以通过串行监视器将内容发送到XIAO ESP32S3,XIAO将打印出您发送的内容的每个字节。

实验场景图





页: [1]
查看完整版本: 【花雕学编程】Arduino动手做(231)--向串行端口发送数据