
情侣对讲机(已验证)
简介
情侣对讲机使用esp32芯片,可以实现无线对讲功能,采用mqtt通信。还有红外遥控器,查看天气,震动互动,纪念日查看等多种功能。
简介:情侣对讲机使用esp32芯片,可以实现无线对讲功能,采用mqtt通信。还有红外遥控器,查看天气,震动互动,纪念日查看等多种功能。开源协议
:GPL 3.0
描述
视频链接:
【点击观看功能演示】👉B站硬核演示视频
项目简介
本项目是一款基于ESP32芯片设计的情侣互动系统。
它采用MQTT通信协议,使用LVGL嵌入式图形库。
实现了语音对讲、红外遥控、天气查看、震动互动等多种功能,
旨在为情侣提供一种有趣的远程互动方式。
UI页面
项目功能
- ✅无线语音对讲
- ✅“万能”学习红外遥控器
- ✅恋爱纪念日
- ✅网页配网+智能WiFi选择连接
- ✅查看时间天气
- ✅情侣远程互动(点击想你对方能震动)
- ✅获取对方在线状态
本设计是基于esp32单片机设计的情侣互动系统,代码使用PlatformIO ESP32 arduino框架开发。;设置有一个彩色tft屏幕,三个独立按键,一个红外发射器,一个红外接收器,一个INMP441麦克风(已替换成MSM261S4030H0R),max98357音频芯片,过放保护电路,和一个震动马达,以及震动马达电路。
可以实现的功能有:
1、实时语音对讲:两个设备通过MQTT服务器实现实时语音通信。
2、红外遥控:可解码并存储红外信号,支持发送存储的信号。对于空调信号,可解析温度、模式等信息并在显示屏上显示。
3、情侣互动:"想你"信号发送与确认机制,实现情感互动。
4、智能配网:强制配网页面,可存储5个WiFi信息,并且在连接时扫描可用WiFi,自动选择WiFi连接。
5、天气显示:获取并显示实时天气信息。
6、恋爱纪念:显示恋爱天数,通过API获取并展示不同的情话。
7、自动下载程序:支持插线自动烧录,无需手动操作。
8、省电模式:长时间无操作自动熄屏,按键唤醒。支持5档PWM背光调节。
9、电池管理:支持电池电量检测和显示,支持过放保护。
项目参数
- 主控:ESP32芯片
- 显示:240x240彩色TFT LCD屏幕
- 音频:INMP441全向麦克风,MAX98357数字音频功放
- 电源管理:PW2058开关降压芯片,TP4056充电管理芯片
- 通信:CH340C串口转换,支持自动重启烧录
- 交互:红外发射/接收,震动马达
- 其他:三个独立按键,支持电池供电
原理解析(硬件说明)
本项目由以下部分组成,电源管理部分、主控部分、显示部分、音频部分、通信部分、交互部分、自动下载电路组成。

电源部分:
如图所示,电源管理部分采用TP4056充电管理芯片和PW2058开关降压芯片。TP4056负责锂电池的充电管理,可自动调整充电状态。采用过放保护电路可以防止电池过放导致对锂电池不可逆的损坏。

电源选择电路是一个关键部分,确保设备可以在外部电源和电池之间无缝切换。该电路主要由以下部分组成:
-
Q3 (SI2305): P沟道MOSFET,用作电源切换开关
-
D2 (MBR0520): 肖特基二极管,防止反向电流
-
R2: 100kΩ电阻,用于MOSFET栅极偏置
工作原理: -
当Type-C接口有5V输入时,Q3的栅源电压为0,MOSFET关闭,系统由外部5V供电。
-
当拔出Type-C电源时,R2将Q3的栅极拉低,MOSFET导通,系统自动切换到电池供电。
-
D2防止电池电压回流到5V输入端。
这种设计实现了外部电源和电池供电之间的自动无缝切换,提高了用户体验,同时保护了电池。

ESP32主控电路:
ESP32作为系统的核心,负责整体控制和数据处理。它具有双核CPU,集成WiFi和蓝牙功能,非常适合物联网应用。电路中包括必要的旁路电容和复位电路,确保ESP32稳定工作。
音频电路:
音频部分使用INMP441(已替换成MSM261S4030H0R)全向麦克风采集声音,通过I2S接口与ESP32连接。MAX98357功放芯片负责音频输出,同样采用I2S接口,简化了音频信号的处理流程。

显示电路:
采用240x240分辨率的TFT LCD屏幕,通过SPI接口与ESP32通信。背光控制采用PWM调节,实现5档亮度调节。
红外收发电路:
红外发射电路使用红外发光二极管,由ESP32直接控制。红外接收电路采用专用接收模块,解调后的信号直接输入ESP32进行解码。
自动下载电路:
结合CH340C和UMH3N,实现插线即可自动进入下载模式的功能,大大简化了固件更新过程。
交互电路:
包括三个独立按键和一个震动马达。按键采用上拉电阻设计,震动马达通过三极管控制,可实现不同强度的震动提醒。
......
图1:焊接后的电路板
工具使用
- 烧录工具工具:
乐鑫Flash下载工具:https://docs.espressif.com/projects/esp-test-tools/zh_CN/latest/esp32/production_stage/tools/flash_download_tool.html - 字体取模:
processing:https://processing.org/download - 图像转rgb565工具:
- 爆辣小电匞的Images to RGB565 Converter
- 使用Tjpg_Decoder库创建C数组图片的网址: http://tomeko.net/online_tools/file_to_hex.php?lang=en
- mqtt测试工具:
EMQX:https://mqttx.app/zh/downloads - 部分UI制作工具:
GUI GUIDER:https://www.nxp.com.cn/design/design-center/software/development-software/gui-guider:GUI-GUIDER
与ESP32引脚连接
- TFT屏幕
GPIO 17 ----> TFT_SDA (Data In)
GPIO 18 ----> TFT_SCL (Clock)
GPIO 16 ----> TFT_CS (Chip Select)
GPIO 5 ----> TFT_DC (Data/Command)
GPIO 19 ----> TFT_RES (Reset)
GPIO 33 ----> TFT_BLK (背光) - INMP441麦克风
GPIO 14 ----> SCK (Bit Clock)
GPIO 15 ----> WS (Word Select)
GPIO 32 ----> SD (Data In)
GND ----> L/R - MAX98357功放
GPIO 26 ----> BCLK (Bit Clock)
GPIO 22 ----> LRC (Word Select)
GPIO 25 ----> DIN - 按键
GPIO 12 ----> 右按键
GPIO 16 ----> 左按键
GPIO 23 ----> 中间按键
组装流程
先把所有排线(屏幕以外)都接好,然后把前面按钮和开关的座子装上,以及喇叭和震动马达,可能需要热熔胶稍微固定一下。
电池线可以从这里或者板子前面的空隙穿进去。
板子右侧对齐Type-C和开关柄的孔位后,把板子左侧按下去;拆的时候也是先把左侧抬起,再往左边把板子从Type-C和开关柄的孔位中抽出。
固定电路板的螺丝,如果装上外壳以后按下按钮复位不了,把按钮条上的两个螺丝松一点就可以了。
装上电池,移除电池的时候用细螺丝刀挑起其中一边,另一边用手指辅助。
先将屏幕按进槽里面,然后从屏幕底部把滑块推进去,大概放在屏幕中间就行。
装好其他螺丝,用热熔胶或其他胶把开关帽子固定住
图2:整体外观
❗注意事项❗
- 外壳装配过程可能需要热熔胶等粘合剂辅助
- 如需组装外壳还需要购买5cm左右fpc延长线(12Pin)&空中对接FPC排线连接器(12Pin)
- boom表外还需购买:
- 1.3寸tft屏幕(我购买的是中景园电子的12Pin插接式裸屏)
- 腔体喇叭(3020腔体-4R3W-2P2.0)
- 纽扣震动电机(扁平式1027,DC3-5V)(选配,若搭配外壳使用需要焊接延长线安装,可以找商家定制延长线)
- ESP32-WROOM-32E-N16芯片
- 18650电池(我用的是3400mah)。
- m2x8平头螺丝*8
- PCB板厚度1.6mm
⚠️软件代码
代码使用PlatformIO ESP32 arduino框架开发。
gitte开源链接:https://gitee.com/xianhui06/esp32_love_link
外壳模型文件
为了方便大家制作,我设计了两款外壳模型文件:
- 直角边框:已开源,可直接下载使用。
- 圆角边框:为付费模型,售价 9.9 元,现已发布在 B 站工房。
👉 b站工房-9.9¥外壳模型购买
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论