本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于Particle Photon的天气时钟

发布时间:2022-08-05
分享到:

基于Particle Photon的天气时钟

发布时间:2022-08-05
分享到:

本文介绍的是由 Particle 支持的异想天开的天气时钟。

这是一个能够告诉您需要什么样的衣服才能在户外舒适的时钟。

这个项目的想法很简单:使用伺服电机移动时钟指针,根据 predict.io 的 Particle Photon 重试的当前天气预报指向一种衣服 。 整个套件由电池供电。

让我们看看如何构建它!

原型
首先在桌子上制作电路原型。我使用了 Particle Maker Kit 附带的伺服器。它的范围约为 170 度。3 根线是:电源(橙色)、接地(棕色)和所需位置(黄色)。我使用一个简单的固件将 D0 配置为伺服引脚,并从云功能设置伺服的位置。

时钟指针
你需要一个可以由伺服控制的时钟指针。是时候进行一些 3D 打印了!

我在 cairo 时钟项目中发现了一个非常漂亮的古董时钟指针矢量图形。

使用 Inkscape 将该 SVG 文件转换为 DXF(CAD 程序中使用的 2D 绘图格式)。

基本上确保路径是闭合的(添加不同颜色的笔触并确保没有间隙),然后使用Extensions -> Modify paths -> Flatten Beziers将曲线转换为直线。导出是通过Save as -> DXF R14 。

要将 2D 绘图转换为 3D 渲染,我建议使用 OpenSCAD。该程序接受命令来构造几何图形,而不是直接在屏幕上绘图。作为一名程序员,我发现它比面向机械工程师的 CAD 软件更易于使用。

注意到我是如何在 3D 部分留下一个缺口的吗?这将适合第一张照片中显示的白色伺服臂。

您可以自己打印时钟指针,也可以由外部公司完成。我最终通过 Shapeways 使用黑色坚固而柔韧的材料打印了零件。看起来不错!

框架
项目还需要某种称为阴影框的深度框架。我在 Target 找到了我真正需要的东西。尺寸为 8.5" x 11" x 1.25" 深。

要将伺服器固定在框架中,您需要将伺服器安装到 8.5" x 11" 的泡沫芯上,并在框架的侧面切出一个槽来固定泡沫芯。我在台锯上做了这些切割。

组装阴影盒,首先放置薄边,然后是带有时钟指针和伺服的泡沫芯组件,然后是厚边。最重要的是影子盒背板。那个后部有挂钩,可以将项目挂在墙上。

软件
我将软件分为两部分:用于移动指针的 Photon 固件和 用于从forecast.io 天气预报 中确定要穿哪些衣服 的hook.io脚本。Particle Photon充当 Photon 和 hook.io 脚本之间的桥梁。

拆分的主要原因是通过不断重新编程 Particle Photon,可以更轻松地继续调整衣服决策代码,而不会耗尽框架中的电池。

实际使用效果:

  • 连接到 WiFi
  • 发送一个粒子事件来询问穿什么衣服。该事件将通过 Particle webhook 转发到 Web 服务
  • 接收带有要穿的衣服的 webhook 响应
  • 如果衣服与上次查询不同,则移动指针
  • 进入深度睡眠 1 小时以保护电池

固件源代码位于本文下方

要刷写你自己的 Photon,请下载代码并使用 Particle CLI 刷写它

particle flash my_device_name firmware

云服务是用 hook.io制作的,这是一种创建 HTTP 微服务的简单方法。

该脚本的代码执行以下操作:

  • 从以下位置获取所请求位置的天气预报
  • 如果预报摘要中包含“雨”或“雪”字样,请推荐“雨伞”或“铲子”
  • 根据当前温度,推荐“帽子和手套”、“夹克”、“毛衣”或“T恤”

要创建自己的钩子,请注册 hook.io, 创建一个新钩子并将其指向上面的 Gist。不要忘记将您的 forecast.io  API 密钥和纬度/经度放在 https://hook.io/env

你可以在http://hook.io/monkbroc/what-to-wear看到我的钩子 

最后,通过创建一个Particle Cloud webhook 将 Photon 和 hook.io 脚本绑定在一起,该 webhook 将在 Photon 发布事件时调用该钩子。

particle webhook create what-to-wear http://hook.io/monkbroc/what-to-wear

注意事项

  • 电池寿命在便携式项目中至关重要。由于 Photon 大部分时间都处于深度睡眠状态,我预计电池寿命会很长。
  • 由于电池仅在 2 周内就耗尽了,我知道在 Photon 睡眠时会消耗不必要的电流。
  • 为了测量电流消耗,我插入了一个与正极电池线串联的 1 Ω电阻器。该电阻器上的 1 伏降对应于时钟电路中的 1 安培电流。
  • 当 Photon 处于唤醒状态并连接到 Wi-Fi 时,电流范围为 30 mA 到 100 mA。
  • 当 Photon 处于休眠状态时,电流仍为 7 mA。这就是电池快速耗尽的原因。断开伺服电机地线时,电流变为 0 mA。
  • 在 Photon 休眠时,我必须断开伺服器与电池电源的连接。
  • 为此,我使用 NPN 晶体管作为低侧开关。

本文中所用到的一些代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

以上内容翻译自网络,原作者:Julien Vanier,如涉及侵权,可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论