你还经常忘记喝水吗?

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

   本文将要介绍最近小编新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打印的过程真的很解压。

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

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

相关文章
|
Java
jdk 8 使用okhttp3 实现 http2
使用jdk8 使用okhttp3 实现http2请求
4338 0
jdk 8 使用okhttp3 实现 http2
|
3月前
|
消息中间件 存储 负载均衡
【消息队列MQ】消息队列MQ——三大核心作用:解耦、异步、削峰填谷;两大核心模型:点对点、发布订阅(附《 消息队列MQ 面试核心考点问答清单》)
本文系统解析消息队列MQ的**三大核心作用**(解耦、异步、削峰填谷)与**两大核心模型**(点对点、发布订阅),贯通原理、价值、实现、选型及避坑实践,构建分布式系统中MQ的全链路知识体系。
|
3月前
|
消息中间件 存储 Cloud Native
【消息队列MQ】主流消息队列MQ全方位对比:Kafka、RocketMQ、RabbitMQ、Pulsar
本文系统梳理Kafka、RocketMQ、RabbitMQ、Pulsar四大主流MQ的核心定位、架构差异、性能特性、运维生态及精准选型逻辑,覆盖从金融级可靠、高吞吐流处理到云原生多租户等全场景,助你构建结构化MQ知识体系,实现科学决策。
|
监控 算法 安全
基于lora基站与蓝牙信标技术在养老院人员定位系统中的实战应用
本文探讨LoRa基站与蓝牙信标在养老院人员定位系统中的应用,结合米级定位、低功耗、广覆盖等技术优势,实现智能预警、轨迹回溯、护工管理等功能,助力养老院数字化运营,提升照护效率与安全水平。
|
Linux
Linux cp命令:复制文件和目录
cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。 cp 命令的基本格式如下: [root@localhost ~]# cp [选项] 源文件 目标文件 -a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍; -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接; -i:询问,如果目标文件已经存在,则会询问是否覆盖; -l:把目标文件建立为源文件的硬链接文件,而不是复制源文件; -s:把目标文件建立为源文件的软链接文件,而不是复制源文件; -p:复制后目标文件保留源文件的属性(包括
2336 6
基于模糊PID控制器的的无刷直流电机速度控制simulink建模与仿真
本课题基于模糊PID控制器对无刷直流电机(BLDCM)进行速度控制的Simulink建模与仿真。该系统融合了传统PID控制与模糊逻辑的优势,提高了BLDCM的速度动态响应、抗干扰能力和稳态精度。通过模糊化、模糊推理和解模糊等步骤,动态调整PID参数,实现了对电机转速的精确控制。适用于多种工况下的BLDCM速度控制应用。
|
缓存 数据库
缓存穿透和击穿
【8月更文挑战第16天】
906 0
缓存穿透和击穿
|
JSON fastjson 数据格式
fastJson的JSONField注解
fastJson的JSONField注解
804 0
|
自然语言处理 Python
【Python自然语言处理】计算文本相似度实例(使用difflib,fuzz,余弦三种计算方式 附源码)
【Python自然语言处理】计算文本相似度实例(使用difflib,fuzz,余弦三种计算方式 附源码)
1356 0