【开源代码】基于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显示及上位机交互功能。系统不仅解决了用户日常饮水提醒问题,还体现了嵌入式开发在智能健康设备中的应用价值。通过硬件模块化设计和软件中断逻辑,实现了高效、稳定的多任务运行。

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

相关文章
|
5月前
|
传感器 数据采集 人工智能
基于STM32单片机的智能晾衣架设计与实现【开源免费】
随着智能家居的发展,传统晾衣架已经难以满足现代家庭对便捷、智能化的需求。基于STM32单片机的智能晾衣架能够实现自动升降、光照检测、风干控制、远程控制等功能,为家庭用户提供更智能、更舒适的晾晒体验。本项目以STM32F103C8T6为核心控制器,通过电机驱动模块、光照传感器、温湿度传感器、蓝牙/Wi-Fi通信模块,实现晾衣架的自动化与远程控制。
基于STM32单片机的智能晾衣架设计与实现【开源免费】
|
5月前
|
JSON 数据可视化 物联网
基于STM32和FreeRTOS的实时天气系统设计与实现【免费开源】
随着物联网(IoT)技术的发展,实时数据监测系统逐渐成为日常生活和工业环境中不可或缺的组成部分。其中,气象监测系统不仅可以提供温度、湿度、天气状况等信息,还可以通过数据分析为农业、城市管理和个人生活提供智能化建议。本项目以STM32F407为核心控制器,结合FreeRTOS实时操作系统和ESP8266 Wi-Fi模块,实现一套高可靠、实时更新的智能气象监测系统。同时,系统集成了计时功能,通过串口屏将实时数据可视化展示,为用户提供直观的操作体验。
基于STM32和FreeRTOS的实时天气系统设计与实现【免费开源】
|
1月前
|
传感器 数据采集 人工智能
[开源免费]基于 STM32 的物流分拣小车设计与实现
基于STM32的智能物流分拣小车,集成红外循迹、超声波避障、无线通信等功能,实现自动识别、路径规划与货物分拣。采用STM32F103为核心,结合传感器融合与电机控制,构建低成本、可扩展的自动化分拣方案,适用于仓储物流及教学实践。(238字)
[开源免费]基于 STM32 的物流分拣小车设计与实现
|
2月前
|
数据采集 人工智能 监控
[数据集]作弊行为检测数据集(1100张图片已划分)[目标检测]
基于视觉 AI 的作弊行为检测正逐渐走向成熟,从简单的屏幕监控、人工复查逐步迈向自动化、实时化与精准识别。本数据集的构建,旨在为研究者与开发者提供一套轻量但高价值的训练数据,使智能监考系统能更好地识别作弊动作,尤其是使用手机等严重违规行为。
303 49
[数据集]作弊行为检测数据集(1100张图片已划分)[目标检测]
|
1月前
|
传感器 人工智能 监控
[开源免费]基于STM32的全自动节水灌溉系统
基于 STM32 的全自动节水灌溉系统不仅能显著提升农业灌溉效率,还能大幅度节省水资源,并通过无线通信实现远程管理,具有良好的可靠性与可扩展性。无论是农业科研、智能农场,还是嵌入式学习项目,它都是一个非常值得实践的工程案例。
[开源免费]基于STM32的全自动节水灌溉系统
|
1月前
|
传感器 数据采集 安全
基于 STM32 的智能窗户控制系统设计与实现【源码分享】
基于STM32与ESP8266设计智能窗户系统,集成温湿度、雨滴、光照、风速等多传感器,实现环境感知、自动开关窗、入侵检测及远程APP控制。支持MQTT/HTTP通信,具备高扩展性与实用性,助力传统家居智能化升级。(239字)
基于 STM32 的智能窗户控制系统设计与实现【源码分享】
|
1月前
|
传感器 监控 网络协议
【开源源码】基于 STM32智能温度监控系统 | 一个支持远程监控与告警的嵌入式实践项目
本项目基于STM32与μC/OS实时操作系统,结合LWIP协议栈,实现支持远程监控与告警的智能温度系统。通过多任务协同,完成温度采集、网络通信与阈值告警,支持手机App实时查看与配置。系统具备高实时性、稳定性与扩展性,是RTOS与物联网技术融合的典型嵌入式实践案例,开源可学,适用于工业、智能家居等场景。
【开源源码】基于 STM32智能温度监控系统 | 一个支持远程监控与告警的嵌入式实践项目
|
1月前
|
传感器 算法 安全
【代码开源】基于 STM32 的智能空气加湿器设计与实现
本项目通过STM32单片机构建了一款智能空气加湿器,实现了温湿度自动监测与调控、智能显示以及远程控制等功能。在硬件方面,系统整合了湿度传感器、温度传感器、超声波雾化模块以及OLED显示屏,实现了环境数据的实时采集和直观展示。在软件方面,基于STM32的控制程序通过PID调节算法对加湿器进行精确控制,同时支持定时和手动模式,提高了使用灵活性与舒适度。
【代码开源】基于 STM32 的智能空气加湿器设计与实现
|
3月前
|
人工智能 监控 安全
人体姿态[站着、摔倒、坐、深蹲、跑]检测数据集(6000张图片已划分、已标注)| AI训练适用于目标检测
本数据集包含6000张已标注人体姿态图片,覆盖站着、摔倒、坐、深蹲、跑五类动作,按5:1划分训练集与验证集,标注格式兼容YOLO等主流框架,适用于跌倒检测、健身分析、安防监控等AI目标检测任务,开箱即用,助力模型快速训练与部署。
|
5月前
|
传感器 机器人 物联网
【免费开源】基于STM32的蓝牙小车/智能小车项目详解(附源码)
通过本项目,你可以系统掌握STM32外设控制、蓝牙通信、电机驱动和传感器数据处理技术,实现一辆可远程控制并具备避障功能的智能小车。该项目具有高度可扩展性,后续可增加循迹、自动寻路、摄像头等高级功能。
1344 43
【免费开源】基于STM32的蓝牙小车/智能小车项目详解(附源码)