37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十一:XIAO ESP32S3 Sense Wi-Fi+BLE 5.0+麦克风+OV2640摄像头视觉AI识别主控模组套装
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 和其他功能。
硬件准备
1、焊接接头
XIAO ESP32S3出厂时默认没有引脚头,您需要准备自己的引脚头,并将其焊接到XIAO的相应引脚上,以便连接到扩展板或传感器。
由于XIAO ESP32S3的尺寸很小,焊接接头时请小心,不要将不同的引脚粘在一起,也不要将焊料粘在屏蔽或其他部件上。否则,可能会导致XIAO短路或无法正常工作,由此造成的后果将由用户承担。
2、天线的安装
在XIAO ESP32S3正面的左下角,有一个单独的“WiFi/BT天线连接器”。为了获得更好的WiFi/蓝牙信号,您需要取出包装内的天线并将其安装在连接器上。
天线的安装有一个小技巧,如果你直接用力按压,你会发现很难按压,你的手指会受伤!安装天线的正确方法是先将天线连接器的一侧放入连接器块中,然后在另一侧向下压一点,天线就安装好了。
拆下天线也是这样,不要用蛮力直接拉天线,一侧用力提起,天线很容易取下。
3、安装扩展板(用于Sense)
如果您正在购买XIAO ESP32S3 Sense,那么您还应该包括一个扩展板。此扩展板具有1600*1200 OV2640摄像头传感器、板载SD卡插槽和数字麦克风。
通过使用XIAO ESP32S3 Sense安装扩展板,您可以使用扩展板上的功能。
安装扩展板非常简单,只需将扩展板上的连接器与XIAO ESP32S3上的B2B连接器对齐,用力按压并听到“咔嗒”一声,即可完成安装。
4、如果完全兼容XIAO ESP32S3 Sense的强大相机OV5640,也可以更换相机来尝试使用它。
软件准备
XIAO ESP32S3的推荐编程工具是Arduino IDE,因此作为软件准备的一部分,您需要完成Arduino的安装。
1、打开设备管理器,查看端口情况
2、打开Arduino IDE,连接XIAO ESP32S3 Sense模块
3、将 ESP32 JSON 文件链接添加到 Arduino IDE
将XIAO ESP32S3 Sense 与 Arduino 一起使用需要在 Arduino IDE 中添加适当的 JSON 文件链接。这是在 Arduino IDE 中通过转到 File –> Preferences 来完成的。在设置选项卡中,在底部,您将看到 “Additional Boards Manager URLs”。需要添加 XIAO ESP32S3 Sense 的链接。单击下图所示的框,将打开一个弹出窗口,您可以在其中输入 JSON 文件的 URL。
JSON 文件链接:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
4、安装后,转到工具 –>开发板 –> ESP32 Arduino –>选择XIAO_ESP32S3。请注意,板列表很长,因此请仔细向下滚动列表以免错过它。
5、打开工具,使用默认配置,注意端口连接,这里实验是COM6
选择正确的板后,还需要执行一个步骤。您需要将 IDE PSRAM 选项设置为 “OPI PSRAM”。通过选择 Tools (工具) 菜单,然后向下滚动到 PSRAM 来执行此操作。如果当前已禁用,请选择 OPI PSRAM。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十一:XIAO ESP32S3 Sense Wi-Fi+BLE5.0+麦克风+OV2640
摄像头 视觉AI识别主控模组套装
【花雕动手做】实验一:LED 闪烁 Blink
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十一:XIAO ESP32S3 Sense Wi-Fi+BLE5.0+麦克风+OV2640
摄像头 视觉AI识别主控模组套装
【花雕动手做】实验一:LED 闪烁 Blink
*/
// setup函数在按下复位按钮或给板子上电时运行一次
void setup() {
// 将数字引脚 LED_BUILTIN 初始化为输出模式
pinMode(LED_BUILTIN, OUTPUT);
}
// loop函数会不断重复运行
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // 将LED点亮(HIGH表示高电平)
delay(1000); // 等待一秒
digitalWrite(LED_BUILTIN, LOW); // 将LED熄灭(LOW表示低电平)
delay(1000); // 等待一秒
}
实验场景图
电池使用情况
XIAO ESP32S3系列内置电源管理芯片,可使用电池独立供电,或通过XIAO ESP32S3的USB端口为电池充电。如果您想为XIAO连接电池,我们建议您购买合格的3.7V可充电锂电池。焊接电池时,请小心区分正极和负极端子。电源的负极端子应位于离USB端口最近的一侧,电源的正极端子应位于远离USB端口的一侧。
:::提示 由于XIAO ESP32S3的所有GPIO引脚都分配了自己的功能,因此我们没有为电池引脚配置GPIO。这意味着我们无法通过读取其中一个GPIO的模拟值来获得软件级别的电池电压。如有必要,可以考虑将蓄电池的正极和负极端子连接到其中两个引脚上,以测量蓄电池电压。
:::警告 当您使用电池电源时,5V引脚上将没有电压。 :::
同时,这里设计了一个用于电池充电的红色指示灯,通过指示灯显示屏告知用户电池在充电中的当前状态。
1.当XIAO ESP32S3未连接到电池时,当连接Type-C电缆时红灯亮起,30秒后熄灭。 2.当连接电池并连接C型电缆进行充电时,红灯会闪烁。 3.当连接Type-C为电池充满电时,红灯熄灭。