你还经常忘记喝水吗?

简介: 你还经常忘记喝水吗?

   本文将要介绍最近小编新DIY的一个小项目---WiFi智能杯垫,项目的起因是我老婆上班的时候经常忘记喝水,压根想不起来,我一琢磨着这样不行啊,时间长了身体别搞出毛病了,于是都着手设计这款智能杯垫。先来说下他的功能:

      1、使用128X32的OLED屏幕做显示,使用这么小的屏幕能更好的控制整个杯垫的大小和外观。

       2、具备设定提醒喝水的时间调节

       3、剩余喝水时间进度条显示

       4、互动功能(暂时卖个关子,读者们可以想一下会是什么样子的功能)

       5、声光提醒

       6、WiFi连接远程服务器并传输杯垫的状态

   起初还想设计加上语音提示功能,由于我老婆的使用场景是在办公室,总觉得大家都在认证工作的时候突然杯垫说一声“亲爱的的老婆,记得喝水哦”,那不是原地尬住,想想这个画面果断就放弃了,连蜂鸣器的报警都是设置成了可以手动打开和关闭的,本着不吵到其他人的原则,即便蜂鸣器是打开的情况下,其发出的声音在软件上也做了处理,保证能起到既能声音提醒,也能不吵到其他人。

       有了这个想法,那就开始干吧!

第一步:方案确定

     由于需要上面的互动功能,因此WiFi就是比不可少的了,那互动功能到底是什么呢?

         其实很简单,就是设计两个这样的杯垫,一个我用,一个我老婆用,当我老婆长时间没有喝水的时候我老婆的杯垫会发送一条消息到我的杯垫,我就能及时知道我老婆的喝水情况,同时还设置了按键互动功能,当思念对方的时候可以通过杯垫的按键长按2S,对方的杯垫就会在OLED屏幕上打印相关的信息,相当于是一个小信号的功能,保持互动着。假如用鲁迅先生的口吻来描述这个功能我想可能是这样的吧:

        “无关距离,我们想念彼此,不是通过风不远万里的送达,也无关羞涩,纵然朝思暮念,也不是通过信件的往来表述,我想这大抵就是爱情最纯粹的模样吧”

                                                                                           ----周树人

    言归正传,功能确定后就要确定方案,首先WiFi模组选择的是ESP8285,这个模组相当于是ESP8266+1M Flash,用他做主控,为了尽可能的降低杯垫的厚度我对这次项目中没有使用电池供电,使用通用的Type-C接口作为供电端口以及程序烧录端口和Debug调试端口,自动下载这块选择CH340X,关于这个芯片以及电路后面会做介绍。

       看到这里大家可能都在想,怎么检测杯垫上有没有杯子呢?很多人可能第一反应就是轻触开关或者限位开关,这样做只能检测杯垫上有没有杯子,并不能检测杯子上有没有水以及一口喝了多少水,这时候可能又有人说用悬臂桥检测重量,那这样设计出来的杯垫都不知道多厚去了,哈哈,果断放弃,因此我把目光转向了以前使用过的薄膜压力传感器,他的有点是像A4纸一样薄,能线性的反应压力的大小,其压力的大小和阻值成反比,因此设计一个运放电路对其微弱的信号进行放大,然后给到主控去采集即可。这样通过软件上的校准和标定,可以模糊的计算出杯子中水的重量(提前是要先在杯垫上放置空杯子采集一下空杯子的重量)

       加上两个按键用于切换屏幕的显示和设置一个菜单功能以及设定提醒喝水的时间,再设计两个LED,一个用于配网的指示灯,一个用于灯光闪烁提醒喝水。

       至此方案基本就确定完成了。

第二步:3D建模

       首先设计出结构,方便做PCB的外框,这个项目的3D图还算比较简单,画这个图倒是没费多少时间,给大家看下爆炸图

总共分四部分组成,上盖、圆盘、PCB、下底,图纸的设计尽量避免了3D打印的支撑。

第三步:原理图设计

   原理图也很简单,把各个模块分享出来:

       这是Type-C转串口以及自动下载电路,这个部分电路是参考沁恒官网的设计,可实现给ESP8285的自动烧录程序,省去了复位以及IO0拉低的操作,原理图也很简单。相比于CH340G省去了12M的晶振,同时封装更小,便于再板子上摆放。

这部分就是LDO实现的,这就没啥啦,外围电路的实现也很简单。

这里是一个最基础的同相比例放大电路,把薄膜压力传感器的阻值转换成电压信号后输入到运放的同相端,经过放大后输出到主控芯片上进行采集。

这里是声光报警以及按键的原理图,蜂鸣器这块起初使用的是S8050 NPN型的三极管去驱动,但每次烧录程序的时候ESP8285模组的GPIO都是默认输出高电平,因此烧录过程中就会移植蜂鸣叫,太吵了,于是就改成了S8550 PNP型三极管去驱动。

这是主控的外围电路,基本没啥,就是基础的阻容件构成的最小系统。

 第四步:PCB设计

   原理图设计好后导一下封装,就可以画PCB啦,这部分没啥好说的,直接上图。

   板子画好后在经过几天的等待收到板子后就开始贴片啦,用恒温焊台+锡膏焊接是真的快。

第五步:3D打印

   在等回板的期间,把画好的外壳打印出来,来看下打印时的延时摄影,不得不说看3D打印的过程真的很解压。

   好啦,到这里就基本结束啦,有些小伙伴之前私信说想要开源出来,那就看看评论区以及点赞转发的多不多啦,加油,小伙伴们!(后面会继续完善功能,增加可以检测喝了多少水,杯子中有没有水这些功能,可以及时提醒我老婆杯子要加水啦!)

   如果觉得本篇文章多少有点帮助的话,求赞、关注、评论、转发,创作不易!你们的支持是小编创作最大动力

相关文章
|
存储 负载均衡 分布式数据库
bigdata-27-HBase架构与概念
bigdata-27-HBase架构与概念
362 1
|
安全 C语言
snprintf的用法
简要介绍了snprintf的常用方法,能大大的简化我们的代码
|
缓存 NoSQL Java
分布式系列教程(01) -Ehcache缓存架构
分布式系列教程(01) -Ehcache缓存架构
712 0
|
数据采集 Web App开发 数据处理
一步步教你用Python Selenium抓取动态网页任意行数据
使用Python Selenium爬取动态网页,结合代理IP提升抓取效率。安装Selenium,配置代理(如亿牛云),设置User-Agent和Cookies以模拟用户行为。示例代码展示如何使用XPath提取表格数据,处理异常,并通过隐式等待确保页面加载完成。代理、模拟浏览器行为和正确配置增强爬虫性能和成功率。
2217 3
一步步教你用Python Selenium抓取动态网页任意行数据
|
API 开发工具
支付系统26------支付宝支付-----接口参数设置总结
支付系统26------支付宝支付-----接口参数设置总结
|
存储 移动开发
80C51单片机----数据传送类指令
80C51单片机----数据传送类指令
1186 2
|
存储 安全 搜索推荐
宜搭版本调整通知(更新)
宜搭一直致力于为用户提供更优质的使用体验。为了更好地满足广大用户需求,宜搭将于2023年7月3日进行版本调整。
13239 3
宜搭版本调整通知(更新)
|
存储 编解码 定位技术
CorelDRAW2023全新版本功能最新介绍
使用 CorelDRAW2023,随时随都能进行设计创作。在 Windows或Mac上使用专为此平台设计的直观界面,以自己的风格尽情自由创作。同全球数百万信赖CorelDRAW Graphics Suite 的艺术家、设计者及小型企业主一样,大胆展现真我,创作出众的创意作品。上半年又出了CorelDRAW 2023(25.1.1.328)中文全功能 64-Bit直装版,再次跟大家分享下。由于本次安装的 CorelDRAW 2023简体中文安装包非常精简,直接安装就行,老规矩:在纯净的 Windows 10/11 操作系统下,断网安装CorelDRAW 2023安装包即可!
1166 0