当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]对讲机是一个经典的电子项目,而ESP32让其制作变得出人意料地简单。得益于XIAO ESP32-S3 Sense内置的麦克风以及低延迟的ESP-NOW协议,两个ESP32设备之间可以直接传输音频。

对讲机是一个经典的电子项目,而ESP32让其制作变得出人意料地简单。得益于XIAO ESP32-S3 Sense内置的麦克风以及低延迟的ESP-NOW协议,两个ESP32设备之间可以直接传输音频。

在这个项目中,我们将使用少量组件构建一个简单的对讲机,能够通过无线方式在两个设备之间传输语音。

功能

•按钮对讲(PTT)——按住按钮发送,松开后收听

•ESP-NOW 音频流传输——设备间直接通信,无需接入点

•内置PDM麦克风——使用XIAO ESP32S3 Sense内置麦克风,无需外接麦克风线路

•线程安全的音频环缓冲区——输入音频被缓冲,并在主循环中回放,避免因WiFi回调线程导致的I2S数据损坏

•自动对等身份识别——两块板均烧录相同固件;每块板在启动时检测自身MAC地址,并配置为设备1或设备2

•周期性链路检查(ping/pong)——设备1每30秒发送一次ping请求,设备2自动回复;双方均播放确认音,确保链路正常连接

•状态提示音——开机提示音、PTT按键按下/释放时的“Roger”蜂鸣声、ping成功/失败提示音,实时合成,无需音频文件

•软件增益带削波保护——可调节麦克风增益,硬性限制以防止溢出失真

工作原理

XIAO ESP32-S3 Sense 通过内置的数字麦克风采集音频。当按下对讲按钮时,系统会收集音频样本,并通过 ESP-NOW 进行无线传输。第二个 ESP32 接收这些音频数据包,并立即通过连接至 I2S 放大器的扬声器播放出来。由于 ESP-NOW 支持设备间的直接通信,因此无需使用 Wi-Fi 路由器或互联网连接。

软件设置

1. 要求

•支持ESP32板的Arduino IDE(通过“工具”中的“管理板”,搜索“esp32”来自Espressif)

•所选芯片:XIAO_ESP32S3

•ESP_I2S 库(随 ESP32 Arduino 核心包附带)

2. 获取每个网板的MAC地址

一个极简的Flash草图,包含:

以115200波特率打开串行监视器,并记录启动时显示的MAC地址。对第二块板重复此操作。

3. 创建 secrets.h

在草图文件夹中,打开名为 secrets.h 的文件:

替换为步骤2中收集的MAC地址。两个板上的secrets.h文件内容相同。

4. 同时闪存两个板

将主 .ino 蓝牙程序上传到两个板子上——两块板上的固件完全相同。每块板在启动时都会读取自身的 MAC 地址,将其与 mac1/mac2 进行比对,并据此进行相应配置(设备 1 成为信标,设备 2 自动响应)。

硬件组件

•Seeed Studio XIAO ESP32S3 传感器

•MAX98357A I2S 放大器

•扬声器:0.25瓦,8欧姆

•Wi-Fi天线

•DFRobot Gravity:数字按钮(黄色)

•滑动开关

•18650电池保护壳 V3

引脚信息:

机载PDM麦克风无需外部接线,只需连接扬声器放大器和PTT按钮即可。

可拆卸电池

所有组件

充电指示灯LED

用法

•开启两块板,每块板在就绪后各发出一次启动提示音。

•按住PTT按钮进行通话——你会听到一个快速上升的蜂鸣声。

•松开按钮以收听——“Roger”(确认)蜂鸣声将提示传输结束。

•每约30秒的静默期间,设备1会发送一次链路检查ping;若链路正常,两块板会同时发出轻柔的双频蜂鸣;若对端无响应,则发出下降频率的提示音。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

雷达通过Wi-Fi连接至OpenSky网络API,可下载指定区域内的飞机位置信息。飞机在平滑的动画雷达界面上显示,并配有航向指示器、飞行选择功能以及专用详情页面。

关键字: 飞行雷达 显示屏 ESP32-S3

理光GR是一款出色的日常随身相机(EDC),非常适合街头摄影,具备无与伦比的便携性和成像质量。然而,在某些情况下,举起相机或盯着后置屏幕会干扰现场氛围,甚至引起不必要的注意。这种情况在拍摄高对比度的黑白城市建筑摄影时尤为...

关键字: 监控器 理光GR ESP32-S3

最近我入手了一款M5PaperS3,它是一款形似便携式电子阅读器的ESP32-S3开发套件,配备一块4.7英寸960×540分辨率的Eink触摸屏。与其他小型Eink开发套件相比,它的特别之处在于屏幕采用了原始行/列驱动...

关键字: 电子阅读器 PaperS3 ESP32-S3

我的歌唱机器人是一种交互式音乐表演系统,由手持控制器、四个无线机器人节点和一台笔记本电脑图形用户界面组成。用户可通过4步音序器开启或关闭每个机器人,调节节拍(BPM),并使用控制器上的旋转编码器改变各机器人的音高,来创作...

关键字: 机器人 LED灯 扬声器 ESP32

所有学生都面临的一个问题是,在真正重要的时候难以集中注意力并保持专注。为了寻找能帮助学生提高专注力的工具,我们只找到了那些屏蔽手机上干扰应用的软件。许多这类专注工具只是阻止用户打开分心的应用,但并没有真正防止用户临时关闭...

关键字: AI HUD 扬声器

游戏很简单。有三个鼓,分别是红色、绿色和蓝色。其中任意一个会随机被激活,地上的灯光会朝它移动,并持续动画显示最多4秒。玩家有这段时间来击打这个鼓,但停留的时间越长,下一位玩家获得的时间就越少。如果某位玩家未能及时击打,就...

关键字: 控制器 树莓派5 扬声器 ESP8266

黑胶唱片的物理仪式感有一种无可替代的魅力——手中唱片的重量,放置时的刻意动作,以及音乐开始前那份期待。数字音乐为我们提供了无限的选择,却也夺走了这种仪式感。

关键字: Wi-Fi 蓝牙 扬声器 ESP32

人体工学哨兵的灵感源于对一场无声流行病的观察。我们注意到,从流水线上的熟练工人到办公室的职员,许多人并非因突发事故而患上慢性疼痛,而是由于每天成千上万次微小且未被纠正的动作持续累积所致。

关键字: AI Raspberry Pi 5 扬声器

PSOC™ Edge E84 AI 开发套件可直接在硬件上轻松实现边缘人工智能和嵌入式应用的原型开发。探索其功能最简单的方法之一,是使用内置的PDM麦克风结合 MicroPython 进行开发。

关键字: MicroPython 麦克风 边缘人工智能

在这个项目中,我打造了Sentra——最智能的DIY监控摄像头,这是一款基于ESP32-S3构建的全电池供电智能安防系统。Sentra将实时Wi-Fi视频流、持续的SD卡录像、运动检测、自动夜视、实时声音监测,甚至机器人...

关键字: Wi-Fi 流媒体 ESP32-S3
关闭