182浏览
查看: 182|回复: 3

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

[复制链接]
【花雕学编程】Arduino动手做(231)--向串行端口发送数据图1

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 和其他功能。


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

驴友花雕  中级技神
 楼主|

发表于 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的串行通信调式

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百三十一:XIAO ESP32S3 Sense Wi-Fi+BLE5.0+麦克风+OV2640摄像头
  4.   视觉AI识别主控模组套装
  5.   {花雕动手做}实验四:XIAO ESP32S3 Sense的串行通信调式
  6. */
  7. void setup() {
  8.   // 初始化串行通信,速率为每秒9600比特
  9.   Serial.begin(9600);
  10.   Serial.println("XIAO ESP32S3 Sense准备就绪!");
  11. }
  12. void loop() {
  13.   // 向串行端口发送数据
  14.   Serial.println("Hello World!");
  15.   delay(1000);
  16.   // 从串行端口读取数据
  17.   if (Serial.available() > 0) {
  18.     // 读取传入的字节
  19.     char incomingByte = Serial.read();
  20.     // 将传入的字节打印到串行监视器
  21.     Serial.print("我收到: ");
  22.     Serial.println(incomingByte);
  23.   }
  24.   // 等待一秒钟后重复循环
  25.   delay(1000);
  26. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-20 09:13:48

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

实验串口返回情况

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

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 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将打印出您发送的内容的每个字节。

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




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail