基于ESP32的厨房计时器

简介: 基于ESP32的厨房计时器

一、项目说明

厨房计时器很有用,但现在没有多少人使用实体厨房计时器了。我个人还是喜欢使用它们,因为拥有一个可以按下的实体物品增加了体验感。不过,我遇到的一个问题是,有时我会因为各种原因去另一个房间,我会忘记我的计时器,而且我会离得太远而听不到它响。

我想创造一个解决方案,所以我制作了一个计时器,当时间到了就会给我发短信。当然,我也可以直接在手机上设置一个闹钟,但那样有什么乐趣呢?

实物图:

二、项目材料

材料:

  • ESP32开发模块
  • OLED屏幕板
  • 双AA电池包(4节电池)
  • 开关
  • 两个按钮
  • 亚克力1/8英寸厚
  • 加热垫片
  • 螺丝

工具:

  • 焊铁(或者可以使用面包板)
  • 3D打印机(可选)
  • 激光切割机(可选)

软件:

  • Arduino IDE
  • Fusion 360

电子设备的外壳是用3D打印塑料和激光切割亚克力制成的,然而整个外壳完全可以通过使用一些纸板来创造性地制作。

三、OLED显示屏

我首先打开Fusion 360来CAD设计每个组件的简单近似模型,这些组件将用于外部外壳。

我根据尺寸创建了草图,并将其拉伸到正确的厚度,以获得我将使用的部件的大致近似模型,我确保孔的位置特别准确,尤其是在OLED屏幕上,以便我以后可以参考。

四、外壳设计

在调整了我的外壳尺寸以适应零件之后,我开始为零件将要安装的位置添加孔。我为OLED屏幕添加了安装孔,以及让引脚穿过盒子的孔。然后我为按钮的安装位置添加了孔。我知道我希望前面板和顶板是亚克力的,因为我想要电子部件是透明的,并且前面板有一个盖子,这样在处理外壳时,食物/液体就不会通过孔隙进入,尤其是在手脏的时候。我制作了前面板和顶板的模型,然后为将要添加的加热垫片的位置添加了孔,我稍后会通过这些孔来拧螺丝组装外壳。为了使面板透明,我在Fusion 360的材料标签中将它们设置为透明塑料。

最后,我为开关添加了一个孔。为了将面板导出为DXF文件,这是我激光切割所需的,我将它们的几何投影到另一个草图上,并将它们导出为DXF文件,如最后一张图片所示。我还把外壳导出为STEP文件,以便进行3D打印。

五、外壳打印

我将文件导入切片软件,准备进行3D打印,然后进行了3D打印,并且我还用激光切割机切割了外壳的面板。这个过程通常因3D打印机/激光切割机的不同而有所差异,但3D打印的一般过程是使用如Prusa Slicer、Bambu Slicer或Cura这样的切片软件来切片模型,然后使用SD卡或WIFI将其发送到你的3D打印机。对于激光切割,通常是将DXF文件放入Corel Draw或Adobe Illustrator这样的软件中,将线宽设置为极细或0.001,并将其打印到激光切割机进行矢量切割。

我通过使用焊铁加热将加热垫片添加到外壳中。它们比直接在3D打印部件的塑料中拧螺丝更好,并且是为3D打印塑料部件添加螺纹的好方法。通常,我将焊铁的热量设置为比塑料的熔点高100华氏度,并使用钳子握住垫片。

六、电路和外壳的集成

在电子方面,我将所有东西直接连接到ESP32上,而不是使用面包板,这样可以更容易地将所有东西放入外壳中。我将按钮的地针焊接在一起,然后将它们连接到ESP32。我还焊接了一些跳线到电源开关上。我使用跳线将OLED屏幕连接到ESP32板的引脚上。

我发现将跳线焊接到相关物品上最容易,将其安装到外壳上,然后将ESP32最后放入外壳并连接到跳线上。用热胶将按钮粘在外壳上,用热胶将开关固定住,并使用螺丝来固定OLED屏幕。我还没有将面板用螺丝固定,因为我需要访问主板来编程。

七、编程

我首先做的是弄清楚并测试按钮。我将它们分配到13号和14号引脚,并设置为输入上拉(INPUT_PULLUP)。通常,当你按下一个按钮时,它有两个状态,高电平(HIGH)和低电平(LOW)。当你按下它时,它会告诉微控制器它是高电平很多次,因为它在循环中频繁地运行。这会导致问题,因为如果你想让微控制器给你发短信,它会发送很多次短信,次数等于它循环的次数。我通过只在按钮状态从低电平变为高电平时才发送消息,来确保它只告诉微控制器它被按下了一次。

接着我摆弄了OLED屏幕的代码,以弄清楚如何让它工作。它需要在设置(setup)中初始化,然后使用display.setCursor()来告诉它在哪里打印,使用display.println()来让它打印,使用display.display()来让它实际显示在屏幕上。

八、成品展示

我安装了亚克力面板,之后我就完成了!左边的按钮重置计时器,而右边的按钮将计时器增加一分钟。计时器完成后,我会在几秒钟后收到一条短信。

希望你喜欢这个项目,并在构建过程中找到乐趣!如果你有任何问题或需要帮助,欢迎在评论区交流。

作者:Svan.


注意:本博文为不得在未经本人同意进行转载或者二次创作,违者必究!!!

目录
相关文章
|
5月前
|
芯片
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
304 0
|
7月前
|
芯片
基于Micropython利用ESP32-C3墨水屏电子时钟方法
基于Micropython利用ESP32-C3墨水屏电子时钟方法
392 0
【单片机期中测试】10.利用定时器实现pwm呼吸灯
【单片机期中测试】10.利用定时器实现pwm呼吸灯
149 0
|
传感器
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
331 0
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
|
数据采集 物联网 开发者
Wifi-nodeMCU-esp8266 按键中断服务 | 学习笔记
快速学习 Wifi-nodeMCU-esp8266 按键中断服务
Wifi-nodeMCU-esp8266 按键中断服务 | 学习笔记
|
存储 物联网 开发工具
Wifi- nodeMCU-esp8266 实现自动发现主人回家后给主人开灯 | 学习笔记
快速学习 Wifi- nodeMCU-esp8266 实现自动发现主人回家后给主人开灯
Wifi- nodeMCU-esp8266 实现自动发现主人回家后给主人开灯 | 学习笔记
|
传感器 开发框架 算法
基于uFUN开发板的心率计(三)Qt上位机的实现
基于uFUN开发板的心率计(三)Qt上位机的实现
161 0
基于uFUN开发板的心率计(三)Qt上位机的实现
|
C语言
4.1 51单片机-定时器使用
4.1 51单片机-定时器使用
445 0
4.1 51单片机-定时器使用
|
传感器 IDE Linux
基于STM32设计的遥控小车(手机APP+GPS+温湿度+ESP8266)
基于STM32设计的遥控小车(手机APP+GPS+温湿度+ESP8266)
1143 0
基于STM32设计的遥控小车(手机APP+GPS+温湿度+ESP8266)
w2 有秒计时的数字时钟
题目内容: 这一周的编程题是需要你在课程所给的时钟程序的基础上修改而成。但是我们并不直接给你时钟程序的代码,请根据视频自己输入时钟程序的Display和Clock类的代码,然后来做这个题目。
1214 0
下一篇
DataWorks