【开源代码】基于STM32的智能杯垫—喝水提醒系统设计与实现

简介: 基于STM32的智能杯垫,集成红外检测、OLED显示与语音提醒,实现喝水定时提醒功能。支持按键设置、多模态交互,提升饮水健康体验,开源设计,可扩展蓝牙/Wi-Fi,打造个性化智能健康设备。(239字)

【开源代码】基于STM32的智能杯垫—喝水提醒系统设计与实现

Smart-Coaster-Water-Clock
基于STM32的智能杯垫项目,提供定时喝水提醒功能,通过语音播报与OLED显示实现多模态交互,为用户科学饮水提供便利。

展示图


源码分享

直接放到之前写的文章里了,免费开源,下载学习即可。

https://blog.csdn.net/weixin_52908342/article/details/155617852

项目背景

随着现代人生活节奏的加快,许多人因为忙碌常常忘记按时饮水,长期如此可能导致身体脱水、注意力下降、皮肤干燥等问题。传统的喝水提醒方式多依赖手机闹钟或手动记录,缺乏智能化和交互体验。

为了解决这一问题,本项目设计了一款智能杯垫,通过STM32单片机控制,能够自动检测杯子状态,并在设定时间到达时提供语音和视觉提醒,实现科学、便捷的饮水管理。该项目不仅注重功能实现,还关注用户交互体验,通过上位机界面和语音播报,使操作直观、自然。


硬件选型与功能模块

智能杯垫的硬件设计以STM32F103C8T6为核心,通过外设和传感器模块实现感知与交互。主要硬件如下:

  1. STM32F103C8T6

    • 核心控制单元,负责处理定时、传感器输入、语音输出以及显示逻辑。
    • 提供丰富的定时器、GPIO和中断功能,满足系统多任务管理需求。
  2. TCRT5000红外反射传感器

    • 用于检测水杯是否放置在杯垫上。
    • 通过检测DO引脚电平变化,实现杯子在位与否的判断,为提醒逻辑提供准确依据。
  3. JQ8900-16P语音播报模块

    • 实现语音提醒功能,支持定制语音文件,提升交互体验。
    • 配合小喇叭扬声器,提供清晰的语音提示。
  4. 0.96寸OLED屏幕

    • 实时显示倒计时、当前时间以及操作反馈信息。
    • 配合语音播报,实现多模态提醒效果。
  5. 电源与面包板模块

    • AMS1117 3.3V电源模块通过9V电源为传感器及模块提供稳定电压。
    • 400孔面包板用于实验性电路搭建,方便快速迭代开发。
  6. 辅助器件

    • 轻触开关用于用户设置提醒时间。
    • 杜邦线及小零件辅助连接,实现模块化设计。

系统设计原理

智能杯垫的核心功能是“定时喝水提醒”,系统逻辑可分为以下几部分:

1. 定时器功能实现

系统采用STM32的 TIM定时器中断 来实现倒计时和时钟功能,每秒触发一次中断,用于更新倒计时数据。用户通过轻触开关设定提醒间隔时间,系统将设定时间存储在内部变量中,通过定时器每秒递减,直至到达提醒条件。

2. 水杯检测机制

为了确保提醒的准确性,系统通过 TCRT5000红外反射传感器 检测水杯状态:

  • 当水杯放置在杯垫上时,传感器DO引脚为低电平,表示“杯子在位”。
  • 当水杯离开时,DO引脚变为高电平,提醒逻辑暂停,避免无意义提醒。

通过结合定时器中断和外部中断(EXTI),系统能够在水杯状态变化时立即响应,实现实时检测。

3. 多模态提醒实现

当倒计时到达并且杯子在位时,系统触发提醒:

  • 语音提醒:JQ8900语音模块播放预设的喝水提示音,告知用户需要饮水。
  • 屏幕提示:OLED屏幕显示提醒信息,如“请喝水!”及倒计时图标,确保用户在噪声环境下也能察觉。

如果用户未取走杯子,系统将循环播放语音和屏幕提示,直到杯子被拿起为止。

4. 上位机交互界面

操作界面通过OLED实现,用户可通过按键调整提醒时间。每一步操作均配合语音复述,提供良好的用户体验:

  • “设置提醒时间为30分钟”
  • “倒计时开始”
  • “水杯已放置,提醒启动”

这种交互方式既直观又减少了操作失误。


软件实现细节

1. 定时器与中断配置

// TIM2 每秒触发一次中断
void TIM2_IRQHandler(void) {
   
    if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) {
   
        // 更新倒计时
        countdown--;
        TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
    }
}

2. 外部中断实现杯子检测

void EXTI0_IRQHandler(void) {
   
    if(EXTI_GetITStatus(EXTI_Line0) != RESET) {
   
        cup_present = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0);
        EXTI_ClearITPendingBit(EXTI_Line0);
    }
}

3. 提醒逻辑

if(countdown == 0 && cup_present) {
   
    play_voice("请喝水.wav");
    display_oled("请喝水!");
}

通过定时器与传感器的协作,实现实时、多模态提醒。


系统特点与优势

  1. 智能化:结合传感器与定时器,实现自动检测与提醒,无需用户手动干预。
  2. 多模态交互:语音+屏幕提示,提升提醒有效性。
  3. 用户可定制化:轻触按键设定时间,界面直观。
  4. 可扩展性强:未来可接入Wi-Fi或蓝牙,实现手机远程控制与数据统计。

项目心得与优化思路

在开发过程中,我们遇到了一些问题:

  • 传感器灵敏度调整:初期红外传感器容易误判杯子状态,通过调节电位器和程序滤波解决。
  • 语音播报时延:由于模块启动需要时间,增加了初始化延迟,优化了语音播放队列,使提醒更及时。
  • 界面与交互优化:通过OLED显示倒计时与语音复述结合,提高操作体验。

未来可以进一步改进:

  • 引入蓝牙或Wi-Fi模块,实现手机APP远程设置与喝水记录统计。
  • 增加定制化语音提醒功能,让提醒更个性化。
  • 优化功耗,实现便携式低功耗智能杯垫

基本原理及功能

总结

本项目通过STM32实现了一款智能杯垫,具备定时提醒、语音播报、OLED显示及上位机交互功能。系统不仅解决了用户日常饮水提醒问题,还体现了嵌入式开发在智能健康设备中的应用价值。通过硬件模块化设计和软件中断逻辑,实现了高效、稳定的多任务运行。

智能杯垫为日常健康管理提供了便捷解决方案,同时也展示了嵌入式系统在智能家居和物联网场景中的广阔应用前景。未来结合远程控制和数据统计功能,能够形成完整的健康饮水生态系统,为用户带来更智能、更人性化的使用体验。

相关文章
|
23天前
|
数据采集 人工智能 监控
[数据集]作弊行为检测数据集(1100张图片已划分)[目标检测]
基于视觉 AI 的作弊行为检测正逐渐走向成熟,从简单的屏幕监控、人工复查逐步迈向自动化、实时化与精准识别。本数据集的构建,旨在为研究者与开发者提供一套轻量但高价值的训练数据,使智能监考系统能更好地识别作弊动作,尤其是使用手机等严重违规行为。
215 49
[数据集]作弊行为检测数据集(1100张图片已划分)[目标检测]
|
12天前
|
传感器 数据采集 安全
基于 STM32 的智能窗户控制系统设计与实现【源码分享】
基于STM32与ESP8266设计智能窗户系统,集成温湿度、雨滴、光照、风速等多传感器,实现环境感知、自动开关窗、入侵检测及远程APP控制。支持MQTT/HTTP通信,具备高扩展性与实用性,助力传统家居智能化升级。(239字)
基于 STM32 的智能窗户控制系统设计与实现【源码分享】
|
4月前
|
传感器 数据采集 人工智能
基于STM32单片机的智能晾衣架设计与实现【开源免费】
随着智能家居的发展,传统晾衣架已经难以满足现代家庭对便捷、智能化的需求。基于STM32单片机的智能晾衣架能够实现自动升降、光照检测、风干控制、远程控制等功能,为家庭用户提供更智能、更舒适的晾晒体验。本项目以STM32F103C8T6为核心控制器,通过电机驱动模块、光照传感器、温湿度传感器、蓝牙/Wi-Fi通信模块,实现晾衣架的自动化与远程控制。
基于STM32单片机的智能晾衣架设计与实现【开源免费】
|
1月前
|
机器学习/深度学习 监控 安全
实验室监控的实时目标检测系统|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
基于YOLOv8与PyQt5的实验室实时监控系统,支持人员进出检测、未穿防护服报警、视频回放等功能。提供完整源码、数据集、权重文件及训练教程,开箱即用,可快速部署于实验室安全监管场景,实现智能可视化管理。
实验室监控的实时目标检测系统|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
|
1月前
|
机器学习/深度学习 人工智能 算法
水稻病害检测数据集(7000 张图片已划分)| AI 训练适用于目标检测任务
本数据集包含7000张已标注水稻病害图像,涵盖细菌性叶斑病、褐斑病和叶霉病三类常见病害,适用于目标检测任务。数据按8:1:1划分训练集、验证集与测试集,标注格式支持YOLO等主流模型,可直接用于AI训练与部署,助力智慧农业病害识别研究。
水稻病害检测数据集(7000 张图片已划分)| AI 训练适用于目标检测任务
|
1月前
|
安全 Java Linux
Java 获取音频文件的持续时间(毫秒级)——摆脱 FFprobe 的纯本地方案(无外部依赖 / 低开销 / 可直接部署)
本文介绍如何在Java中不依赖FFmpeg,通过标准库`javax.sound.sampled`解析WAV、AIFF等音频文件头信息,直接计算毫秒级时长。方案无外部依赖、跨平台、低开销,适合高并发与安全敏感场景,显著优于调用FFprobe的进程方式,是轻量可控的优选方案。
|
2月前
|
人工智能 监控 算法
人群计数、行人检测数据集(9000张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含9000张已标注、已划分的行人图像,适用于人群计数与目标检测任务。支持YOLO等主流框架,涵盖街道、商场等多种场景,标注精准,结构清晰,助力AI开发者快速训练高精度模型,应用于智慧安防、人流统计等场景。
人群计数、行人检测数据集(9000张图片已划分、已标注) | AI训练适用于目标检测任务
|
1月前
|
机器学习/深度学习 监控 数据可视化
基于 YOLOv8 的焊接表面缺陷检测|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
本项目基于 YOLOv8 深度学习目标检测模型,结合 PyQt5 图形界面,实现了一个完整的焊接表面缺陷检测系统。通过实际演示可以看出,该系统能够对单张图片、批量图片、视频以及实时摄像头流进行高精度检测,并自动标注缺陷位置和类别,支持检测结果的保存和复查,为工业生产线提供了高效、智能化的焊接质量监控手段。
238 25
|
4月前
|
传感器 数据采集 安全
基于STM32与ESP8266的智能家居控制系统【免费开源】
通过本项目的开发,不仅加深了对 STM32 外设编程的理解,还掌握了物联网系统的整体设计思路。从传感器数据采集,到通信协议实现,再到云端与APP交互,完整地体验了智能家居系统的开发流程。这为后续更复杂的 IoT 项目打下了坚实基础。
基于STM32与ESP8266的智能家居控制系统【免费开源】
|
5天前
|
传感器 算法 安全
【代码开源】基于 STM32 的智能空气加湿器设计与实现
本项目通过STM32单片机构建了一款智能空气加湿器,实现了温湿度自动监测与调控、智能显示以及远程控制等功能。在硬件方面,系统整合了湿度传感器、温度传感器、超声波雾化模块以及OLED显示屏,实现了环境数据的实时采集和直观展示。在软件方面,基于STM32的控制程序通过PID调节算法对加湿器进行精确控制,同时支持定时和手动模式,提高了使用灵活性与舒适度。
【代码开源】基于 STM32 的智能空气加湿器设计与实现

热门文章

最新文章