第1步:反汇编所有内容
第2步:数字设置按钮
由于新的时钟将是全数字的,内置迷你电脑,我在侧面添加了3个简单漂亮的按钮。
使用一块废铝片我切出覆盖层来制作标签。标签的字母是使用字母和黑色标记创建的。
步骤3:电机的电容
我将保留旧钟,用电机为闹钟供电。旧的时钟机制有一个带有标签104的陶瓷电容器。我将它从电路板上取下并直接焊接到电机上 - 这有助于防止在报警时打开电机时出现电源尖峰。另外需要注意的是,电机将通过晶体管控制,但稍后会更多。
步骤4:时钟的新面孔
因为我决定为时钟做一个新的面孔 - 我从垃圾箱堆中取出一块电路板并使用建筑工具的热枪来快速移除所有组件。中间的孔用于新时钟的数字屏幕。
步骤5:旧手机的数字显示
对于这个项目,我决定使用旧款诺基亚5110手机的液晶屏。这些屏幕作为一个模块可以广泛销售,它们的功耗非常小,并且Arduino有很好的库。如果您购买的是一个带有5110屏幕的新模块 - 您正在拯救地球,因为所有新模块都是从打捞的5110,3110和3210手机创建的!
步骤6:连接电路
您可能已经猜到我计划使用Arduino板来控制这个时钟。即使对于初学者Arduino粉丝来说,该项目也很容易重复,因为我没有创建自己的电路板。它是一个Arduino Nano板,连接模块 - BME280温度,压力和湿度传感器,DS1307 RTC时钟,TP4056锂电池充电器,小型3.7v至5v增压器模块,光源相关电阻器(LDR - 光度计)和蜂鸣器(取自旧PC)。
还要看草图 - 它们显示所有连接。我认为一切都很容易阅读和理解,但如果您有任何问题,请在下面的评论中提出。
关于设置的几点注意事项:
电机通过晶体管直接从电池连接。 Arduino通过电阻和PWM引脚D5控制晶体管。
针脚D7-12用于LCD连接器。接地和VCC连接到接线板上的导轨。
LDR安装在钟面上,电阻器+ 3根引出线正好焊接在钟面背面。
对于按钮连接,我在Arduino中使用了内部PULLUP功能。菜单按钮附加到中断,我后来才意识到您也可以使用内部PULLUP进行中断。菜单按钮的中断是必需的,因此代码不会一直扫描按钮的状态。
时钟将监视并显示电池的状态,因此电池直接连接到引脚A0。电池电压绝不会高于4.2V,因此将电池直接连接到Arduino模拟引脚是安全的。
蜂鸣器直接连接到PWM引脚D6。虽然这不是一个好的做法,但我侥幸成功,因为Arduino Nano可以处理比规定更高的规格,也因为蜂鸣器不会持续工作。相同的设置很容易烧坏ESP板上的引脚,所以在这种情况下我建议使用晶体管控制。
时钟已经有一个开关所以我决定使用它。它背面看起来很自然。
第7步:连接板以实现轻松连接
所有模块都需要正极和接地连接,因此我决定使用2x8cm原型板并焊接5V和接地导轨。我也在那里制作了一个小型I2C轨道,因为我有几个使用I2C接口的模块。
另一方面,我焊接了标准引脚,以便在需要时可以连接和断开模块。
其中一些附加组件也被焊接在那里,例如用于电机控制的晶体管和电阻器以及用于使用中断的菜单按钮的电阻器。我在上一节中展示了原理图。
btw你能看到第一张照片中钟面上已经安装了LDR传感器吗?
步骤8:设置电源
我用手机上的旧锂离子电池为这个时钟供电。通常,被更换的手机电池仍然具有良好的容量(至少是新产品的一半)。它们的优势在于它们具有内置放电保护电路,并且它们也非常薄,因此可以在小空间场合使用。
要连接电池,只需将电线焊接到+和 - 引脚上即可。电池。不用担心,你不会损坏电池,因为有一个控制器和引脚与电池的化学物质之间有一些空的空间。
在这张图片上你可以看到电池和TP4056充电控制器以及连接在一起的5V升压器和电池。我使用了一些收缩包装管来使一切都隔离和紧凑。
步骤9:用于充电和更新固件的微型USB
一旦我焊接了所有东西,我就将蜂鸣器和温度/压力/湿度传感器粘在后面板上。它们都很好地安装在旧时钟拨号控件的现有插槽中。
现在是时候在背面安装Micro USB端口了。为什么Micro USB如果Nano使用Mini USB?仅仅因为在家庭中,大多数USB电缆都来自手机,如果时钟能够拍摄,也会很方便。
由于我想用它来充电和更新时钟和气象站功能 - 我剥去了USB线,将电源线通过TP4056充电器和数据+/数据线直接连接到Arduino Nano的USB插座。您可以在前面部分中显示的原理图中看到这一点。
步骤10:最终装配
现在是时候把所有东西都装回原来的时钟了。我使用收缩管来隔离组件和模块。甚至Arduino都被包裹在收缩管中。
将鼠标悬停在第一张照片上以查看每个组件的放置位置。
步骤11:代码
如您所见,时钟内部已完全打包。这允许创造一些比我以前的旧时钟更复杂的东西 - 因为当然有一些编程技巧。我写了初始代码,但是让我的朋友介入并帮助我。
到目前为止,除了时钟本身,这些是这个项目已经支持的功能:
时间和日期显示(以及同一屏幕上的闹钟时间和激活)
在黑暗条件下或检测到移动时(基于光线的变化),屏幕亮起
天气预报(晴天,多云,多雨)
显示温度,压力和湿度(湿度表示是否过于干燥)
设置菜单:闹钟,更改时间,启用/禁用日期显示,启用/禁用天气变化声音通知以及在英制和公制单位之间切换
警报设置 - 开/关,设置时间,设置旋律和/或通知铃声
最新代码:https://github.com/LenkaDesign/Weather-Forecast-A.。.
该代码将在未来更新新功能,所以一定要检查固件更新: - )
如果您是Arduino世界的新手,我建议您采取以下步骤:
为您的主板安装USB驱动程序(例如: CH340)
安装Arduino IDE
安装此项目中使用的库
从GitHub下载并使用Micro USB线将最新的项目代码上传到时钟(您可以使用手机中的一个)
预测算法如下:
Arduino Nano每隔12分钟从BME280传感器获取新数据。测量周期为3小时。 3小时后,压力监测范围(3小时内的最大值和最小值)相对于当前范围和当前压力值期间的平均值而变化。每小时保存压力随当前压力值变化的方向。 kPa单位用于预测计算。
由于Nano的内存限制,必须简化预测算法。但尽管进行了简化,但它能够预测未来12-24小时的降水量,即使预测现在更加悲观 - 默认值为“多云天气”。
“晴天” - 当前的压力值高于常数7点,压力不下降,最近3小时内最小值和最大值之差不超过2点。
可能降水“阴雨天气” - 当前压力为15点低于常数,最小值和最大值之差大于2点或压力下降,当前值与标准之间的差值为3 - 30点。
为了提高预测质量,建议更改您在主代码文件中的“高度”。你可以在这里获得你的高度:https://www.daftlogic.com/sandbox-google-maps-fin.。.
第12步:一步一步的视频
如果难以理解我上面所做的事情,这里也是一个显示所有步骤的视频版本。
第13步:决赛单词
总的来说,从我的角度来看,这个项目的难度并不高,任何人都可以做到。
如果你不喜欢没有旧时钟,你可以在当地的跳蚤市场找到一个便宜的时钟。
-
闹钟
+关注
关注
0文章
77浏览量
27068
发布评论请先 登录
相关推荐
评论