DIY 一把 ESP32-C2 智能电动牙刷

简介

对于大多数人来说,早晨起床后的惯例之一是刷牙。早在 1938 年尼龙牙刷问世之前,人们就已经使用各种不同形式和材料的器具来清洁牙齿。

如今,电子牙刷已经十分普遍,甚至还有帮助记录刷牙习惯的智能牙刷。 我们的产品设计理念不仅仅是制造一款智能牙刷,而是打造一个保护口腔健康的智能伴侣。通过应用前沿技术,我们以用户为中心,旨在为用户提供更舒适、个性化的口腔护理体验。

ESP-ToothBrush 产品概述

ESP-ToothBrush 是一款由乐鑫的 ESP32-C2 芯片驱动的智能电动牙刷。搭载一块 0.96 英寸 SPI 接口的 LCD 屏幕,它可以显示电池电量、网络连接、刷牙时间和刷牙状态等各种信息。

在设计上, ESP-ToothBrush 追求简洁性,用户只需一个按键即可启动 ESP-ToothBrush,使超声波电机运转,蜂鸣器播放提示音。此外,它还支持 Wi-Fi 连接,并集成了ESP RainMaker,用户可通过智能手机上的 ESP RainMaker APP 追踪详细的刷牙数据并配置牙刷。

便捷性也是 ESP-ToothBrush 的一大亮点,它采用 USB Type-C 接口用于烧录固件和充电,同时还支持通过磁性触针充电,为用户提供了更加灵活方便的充电方式。

功能框图

以下是 ESP-ToothBrush 的功能框图,清晰地介绍了主要功能组件及其交互方式。主要部分包括:

 

电源供电模式

ESP-ToothBrush 支持两种电源供电模式,提高了设备的灵活性和可靠性:

  • 18350 锂电池供电(默认供电方式,推荐使用):牙刷主要由可充电的 18350 锂电池供电,便携耐用。这种电池具有高能量密度,因此适用于为 ESP-ToothBrush 等小型设备供电。
  • USB 电源供电(通过 ESP32-C2 USB 接口):牙刷也可以通过 USB Type-C 接口,直接连接 ESP32-C2 为其供电。除了作为电源供电,连接 USB 电源时还能为 18350 锂电池充电,发挥既可供电又可充电的双功能。

电路模块描述

  • 电池管理器:使用 TP4056 芯片进行电池管理,实现充电功能,同时防止过充和过放,并具备防反接保护功能。充电芯片 CHRG 引脚通过一个 10K 电阻上拉,当电池充电时 CHRG 引脚为低电平,其余状态均为高电平,CHRG 引脚与 ESP32-C2 芯片的 GPIO5 连接,可通过检测该管脚的电平状态来识别电池充电状态。
  • 电池电量监测器:ESP32-C2 的模数转换器 (ADC) 的最大量程为 0–3.3V,而 18350 锂电池的电压最高可达 4.2V,已超过 3.3V。为了安全地测量电池电压,使用了两个等值电阻将电池电压分压。然后通过 ESP32-C2 ADC(GPIO4 对应为通道 4)获取电池电压,将测得的电压值乘以 2,即得到实际的电池电压,从而实现对电池电量的监测。
  • LDO 电压调节器:使用 HE9073A33M5R LDO 芯片进行稳压,将锂电池的可变输入电压转换为稳定的 3.3V 输出,为 ESP32-C2 及其外设供电,确保设备在不同电池电量下稳定运行。
  • LCD:使用 0.96 英寸 LCD 屏幕(80x160 分辨率)显示电池电量、网络状态、刷牙时间和刷牙状态等关键信息。显示屏通过 SPI 接口与 ESP32-C2 进行通信,确保数据传输快速高效。
  • 电机驱动器:超声波电机由 TC118S 直流电机驱动芯片驱动,该芯片以低功耗和低成本著称,是控制牙刷电机驱动器的理想选择。
  • USB-UART 桥接器:CP2102N USB 到 UART 桥接器用于 ESP32-C2 的编程和调试。它通过 USB Type-C 端口连接,为刷写固件和调试系统提供现代化的高速连接。
  • 按键:带有一个多功能按键,实现牙刷不同工作模式之间的切换,简化使用。
  • 蜂鸣器:使用一个无源蜂鸣器来提供音频反馈。通过播放特定的声音,提示用户状态变化或重要操作,提升用户体验。

硬件设计

ESP-ToothBrush 的每个功能模块都需要开发硬件原理图,以确保每个电路部分能够可靠、高效运行。设计过程需要仔细斟酌每个电路的布局,选择合适的电子元件,以优化系统的性能和稳定性。

ESP-ToothBrush 硬件原理图

 

如需了解关于 ESP32-C2 及其相关组件的最佳实践和具体要求,请参考官方的《ESP 硬件设计指南》。该指南提供了关于 PCB 版图布局、供电建议等详细信息,确保硬件设计的质量达到标准。

PCB 版图布局

硬件设计完成后,我们需要对每个组件进行合理布局,确保在保持紧凑设计的同时实现最佳功能表现。精准布局的结果是,功能最大化、效率最高和空间最小化三者实现了恰到好处的平衡,所有组件在有限的空间达成无缝协作。

布局

PCB 版图布局

 

正面

PCB 正面图

 

背面

PCB 背面图

 

3D 设计

为了确保 ESP-ToothBrush 兼具美观和实用性,我们在设计过程中借助了 3D 打印。经过多次迭代,逐步优化了外形和功能,最终打造出一款既符合人体工学又易于使用的产品。

ESP-ToothBrush 3D 爆炸渲染图

 

ESP-ToothBrush 3D 整体渲染图

 

软件实现

软件开发在硬件设计完成后进行,以确保 ESP-ToothBrush 在日常使用中既具备功能性和实用性。软件基于乐鑫资源集成了各种功能,实现流畅运行。

  • LCD 显示屏:为了实现 LCD 功能,我们使用了 ESP-IDF 示例中的代码,这些示例涵盖了多种 LCD 接口。我们还使用了 esp_lv_spng 组件来高效显示 LCD 上的 PNG 图像。此外,LCD 显示屏用户指南提供了更多关于 LCD 集成的信息。
  • 电机驱动与蜂鸣器:电机驱动和蜂鸣器通过 PWM 接口进行控制。乐鑫提供的 LEDC 示例演示了如何通过 PWM 实现这些应用。LEDC 编程指南提供了更多详细信息。对于蜂鸣器的控制,我们使用了 hayschan/buzzer 组件,简化了软件开发,并优化了音效。
  • 电池电量监测:通过 ADC 接口实现电池电压监测,详细信息可参考 ADC 单次读取示例。ADC 单次换模式驱动指南进一步说明了如何在单次转换模式下读取 ADC 数据。
  • Wi-Fi连接:Wi-Fi 功能方面,ESP32-C2 设置为 Wi-Fi Station 模式。可参考 Wi-Fi Station 示例学习如何连接到 AP。Wi-Fi 驱动程序指南提供了更多关于设置 Wi-Fi 连接的信息。
  • ESP RainMaker 集成:为了实现云端控制和监控,ESP RainMaker SDK 允许远程控制牙刷。用户可以直接使用 ESP RainMaker 组件进行集成,并参考 ESP RainMaker 入门指南获取详细说明。

ESP RainMaker

ESP-ToothBrush 支持 ESP RainMaker 云端连接功能。

UI 设计

在设计 ESP-ToothBrush 时,我们优先考虑了用户体验,力求用户与设备的每一次交互都直观且顺畅。通过将牙刷连接到 ESP RainMaker 云端,我们精心设计了 ESP RainMaker APP 的用户界面,以提供顺畅、友好的用户体验。

ESP RainMaker 是一款轻量级 AIoT 云计算软件,与亚马逊云科技的无服务器架构深度集成。基于无服务器架构的 ESP RainMaker 在数据存储空间和传输能力方面具有极大的灵活性,能够根据实际使用的数据流量动态分配任务至云端服务器,从而有效减轻数据存储对云端的压力。

有关 ESP RainMaker 及其功能的更多信息,请参考 ESP RainMaker 官方介绍。

利用 ESP RainMaker,可以实现如下界面效果:

  • 低电量提示弹窗和主页面效果

ESP RainMaker 主页

 

  • 刷牙时间记录

记录刷牙时间信息

 

  • 控制界面

ESP-ToothBrush 控制界面

 

产品展示

经过精心设计和充分测试,我们成功研发生产了 ESP-ToothBrush。最终产品把前沿科技融入到日常生活中,完美融合了实用性和美观性。

请观看下面的视频,进一步了解电动牙刷的构造和使用。

ESP-Toothbrush|DIY一把ESP32-C2智能电动牙刷

基础功能

  • 3 分钟日常刷牙模式

3 分钟日常刷牙模式

 

  • 双击按键可切换四档,调整振动强度

切换模式

 

  • 长按按键实现开机或关机操作,节约电量

开机

 

  • 锂电池供电和无线充电

充电

 

  • 通过 LCD 屏幕查看电池电量、时间、动画、蓝牙和 Wi-Fi 网络连接状态

LCD 屏幕展示

 

交互功能

ESP-ToothBrush 连网后,可通过 ESP RainMaker APP 进行以下交互功能:

  • 电池监控:监控电池电量,当电量低于 20% 时弹出低电量提醒。
  • 刷牙模式控制:在四种振动强度级别之间切换。
  • 电源控制:远程开关牙刷。
  • 刷牙时长设置:根据用户偏好自定义刷牙时长。
  • 刷牙记录跟踪:记录一个月内的刷牙时间和时长数据。

结语

通过精心的硬件设计、直观的软件集成和丰富的互动功能,ESP-ToothBrush 将智能科技与日常实用性相结合,为用户提供顺畅、个性化的牙齿护理体验。

ESP-ToothBrush 的 Wi-Fi 连接和 ESP RainMaker 集成功能,帮助用户实现刷牙记录的智能监控,它提供的现代化日常护理解决方案为口腔卫生带来了便利和创新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143532.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

什么是IDS?

什么是IDS? IDS是:入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便…

闲鱼网页版开放,爬虫的难度指数级降低。

爬虫,可以说是程序员最基础的热手项目。 之前我也一直说阿里系的签名系统搞得太复杂,风控太高,很不利于正常的自动化工具开发,这对于需要阿里应用的客户来说,也是一个很难覆盖的成本支出不是。 当然,我做项…

低代码可视化Uniapp点击事件-代码生成器

在uniapp中,绑定事件主要是通过符号来实现的。uniapp是一个使用Vue.js开发所有前端应用的框架,它允许你编写一次代码,然后发布到iOS、Android、Web(响应式)、以及各种小程序等多个平台。因此,它在事件处理上…

培养关键职业技能,提升个人竞争力

文章目录 一、为什么要培养职业技能?1、提升个人竞争力2、提高工作效率和质量3、适应职业发展变化4、增加收入 二、关键职业技能概述1、专业技术能力2、问题解决能力3、沟通交流能力4、团队合作能力5、领导意识能力6、适应变化能力 三、结语 在当今快速发展的社会中…

如何成为一名AI产品经理?(超全面!超详细!)收藏这一篇就够了!

要成为一名AI产品经理,需要综合多方面的知识和技能,并在实践中不断学习和提升。 一、强化基础教育背景 专业选择:拥有计算机科学、数据科学、统计学或相关领域的学士或硕士学位是基础。这些专业提供了理解AI技术和算法的基本知识&#xff0…

MapStruct 帮你节省60%的代码,提高开发效率

MapStruct 帮你节省60%的代码,提高开发效率https://mp.weixin.qq.com/s?__bizMzkzMTY0Mjc0Ng&mid2247484806&idx1&sn10f190512bd51fae391be2f3f982713c&chksmc266a993f51120859e75d75ec857ccef439e7bf33d5901d0aa3a90419db6072d10adccf83b43#rd

据预测RoboSense未来三年取得近50%的市场份额,并在未来十年内保持行业第一

近日,RoboSense速腾聚创受邀参加S&P Global Mobility [标普全球汽车]举办的2024 Mobility Intelligence Dialogue会议。会上,S&P Global Mobility [标普全球汽车]预测数据显示,未来十年内,自动驾驶前景广阔,中…

window程序设计(1)

代码环境 vs2019 创建Window桌面向导的项目 代码 #include <Windows.h>int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR szCmdLine, _In_ int iCmdShow) {MessageBox(NULL, TEXT("Hello,Window 11"), TEXT(&quo…

【大模型技术】什么时候需要训练和微调属于自己的大模型——小微企业必须要明白的问题

“ 从问题出发&#xff0c;先有需求再有解决方案 ” 老板和员工在思维方式上有一个很大的差别就是&#xff0c;作为老板他们喜欢寻找现有的解决方案&#xff0c;如果现有的解决方案无法满足的情况下&#xff0c;才会自己设计一个解决方案。 而作为员工来说特别是技术人员&…

2024年03月中国电子学会青少年软件编程(图形化)等级考试试卷(一级)答案 + 解析

青少年软件编程&#xff08;图形化&#xff09;等级考试试卷&#xff08;一级&#xff09; 分数&#xff1a;100 题数&#xff1a;37 一、单选题(共25题&#xff0c;共50分) 单击下列哪个按钮&#xff0c;能够让舞台变为“全屏模式”&#xff1f;&#xff08; &#xff09; A…

2.pytest框架实现一些前后置(固件,夹具)的处理,断言和allure-pytest插件生成allure测试报告

一、setup/teardowm,setup_class/teardown_class&#xff08;所有&#xff09; 为什么需要这些功能&#xff1f; 比如&#xff1a;web自动化执行用例之前&#xff0c;请问需要打开浏览器吗&#xff1f;用例执行后需要关闭浏览器吗&#xff1f; 前置后置 二、使用pytest.fixture…

500元以内蓝牙耳机哪款好?四大百元精品机型推荐

一副优质的蓝牙耳机总能为我们带来更加便捷和愉悦的体验&#xff0c;然而&#xff0c;面对市场上琳琅满目的选择&#xff0c;500元以内蓝牙耳机哪款好&#xff1f;如何在有限的预算内找到最适合自己的蓝牙耳机呢&#xff1f;今天我将为大家带来四大百元精品机型推荐&#xff0c…

配网缺陷检测无人机航拍图像数据集(不规范绑扎,螺栓销钉缺失)数据集总共3000张左右,标注为voc格式

配网缺陷检测无人机航拍图像数据集&#xff0c;&#xff08;不规范绑扎&#xff0c;螺栓销钉缺失&#xff09;数据集总共3000张左右&#xff0c;标注为voc格式。 数据集名称 配网缺陷检测无人机航拍图像数据集&#xff08;Distribution Network Defect Detection UAV Aerial I…

Find My太阳镜|苹果Find My技术与太阳镜结合,智能防丢,全球定位

太阳镜是一种常见的眼镜&#xff0c;通常用于防止强光刺激和保护眼睛免受紫外线伤害。太阳镜可以减少光线对眼睛的刺激&#xff0c;缓解眼部疲劳&#xff0c;提高视觉舒适度。佩戴太阳镜可以有效地减少紫外线对眼睛的刺激&#xff0c;降低眼疾的发生率。 在智能化加持下&…

CLion/Git版本控制

文章目录 文章介绍准备工具操作首次提交修改代码提交第二版 文章介绍 记录用clion和git做代码的版本控制 准备工具 CLion2024.2.0.1 git 操作 首次提交 该文件夹的打开方式选择clion 全部提交 成功提交后查看分支 修改代码提交第二版

微信小程序03-页面交互

零、文章目录 微信小程序03-页面交互 1、案例&#xff1a;比较数字大小 &#xff08;1&#xff09;案例分析 需求&#xff1a;本案例将实现“比较数字大小”微信小程序&#xff0c;它的功能是当用户输入两个数字后&#xff0c;点击“比较”按钮可以自动比较这两个数字的大小…

图数据归一化

图数据归一化 文章目录 图数据归一化前言一、图结构归一化1.邻接矩阵归一化2.拉普拉斯矩阵归一化 二、图特征归一化1.输入特征归一化2.中间层特征归一化 前言 在图分析和图网络的研究领域中&#xff0c;图归一化扮演着至关重要的角色。它包括一系列技术和方法&#xff0c;旨在…

关于循环Socket创建超Linux文件句柄限制现象分析

项目场景&#xff1a; 在操作系统的世界中万物皆文件。之前拜读过一些作品&#xff1a;针对于socket的创建&#xff0c;Linux也相应创建文件&#xff08;专业术语中也称文件句柄&#xff09;&#xff0c;于是&#xff0c;我想做一些关于极限的操作&#xff0c;看看这些极限操作…

RTR_Chapter_5 上

第五章 着色基础 在渲染三维物体的图像时&#xff0c;场景中的模型不仅仅需要有正确的几何形状&#xff0c;还应当具备想要的材质外观。根据应用程序的不同&#xff0c;这些外观具有非常广泛的范围&#xff0c;从真实感渲染&#xff08;即物体外观几乎和真实世界中的一模一样&a…

指针和引用;内联函数和普通函数

1. 指针和引用 1.1 定义和性质区别 指针是一个变量&#xff0c;只不过这个变量存储的是一个地址&#xff0c;指向内存的一个存储单元&#xff1b;而引用跟原来的变量实质上是同一个东西&#xff0c;只不过是原变量的一个别名而已。可以有const指针&#xff0c;常量指针可以改…