第1步:成分和工具
对于晴雨表/气氛晴雨表,您需要:
无液气压计。不必工作。吸引你的审美情感的东西更重要。我希望我从童年的家里得到一个,但我认为它是在垃圾场。 15美元我在ebay上买了一个替代品。
一个合适的步进电机和驱动板 - 链接到五个工作批次,但价格很难被击败。该电机完全旋转4096步,为我们的目的提供充足的分辨率。
ESP8266和电机的5VDC电源 - 至少1A。我使用了12VDC和5VDC的组合电源,因为我已经有了一个并且需要为Nixie时钟提供12V电源(对于项目的其他元件加上更多的5V电源)。
至少三个LED(表示压力趋势)。
LDR/光敏电阻。
其他消耗品,如跳线,电阻器,热缩管等。
在大多数情况下,您可以使用您用来容纳电子设备的气压计的原始外壳。我重新设计了一个模糊的工艺品风格时钟盒来容纳时钟和气压计,因此不需要气压计盒。
工具方面,你需要一把烙铁,热风枪和一些小手工具。如果您需要对案例进行重大修改,可以使用一系列电动工具。
步骤2:小心准备您的机柜
您需要做的事情在很大程度上取决于您使用的机箱。如果您正在使用气压计自己的情况,您只需要弄清楚如何将它拆开并移除无液机制。指针很可能直接安装在这个机制上,需要注意分离指针而不损坏指针。
我还有一些工作要做,因为我的时钟盒仍然有旧的(非 - 工作)其中的发条机制。
我对机械钟几乎一无所知,但强壮的盘绕弹簧表明我应该谨慎行事。尽管如此,当事情发生爆炸时,我还是毫无准备。一秒钟,我正在解开一个看似无关紧要的螺丝,接下来有一声巨响,空气中弥漫着灰尘和碎片。时钟的各个地方到处都是,案件本身完全被吹散了。就像我想象一个真正的***爆炸时,我想不出发生了什么。在随后的震耳欲聋的沉默中,我一半期待听到警笛声的遥远哀嚎。另外,我的手真疼了。
第一课:即使是适度大小的时钟机制也可以存储惊人的大量能量。
第二课:如有疑问,请戴上安全眼镜!我很幸运,没有任何东西飞进我的眼睛,但它肯定可以。有时仅仅使用旧的安全斜视是不够的(甚至不确定我这样做)。我的手很好,我只是个孩子。
经过大量的胶合和夹紧后,我把箱子放回原处,准备继续进行第3步。
步骤3:安装组件 - 第1部分
您需要找到一些安装电机的方法,以便轴穿过拨号就足够了,当指针连接时,它会扫过脸部而不会受到干扰。这可能比它最初出现的要困难得多,因为大多数气压计将在玻璃内部有另一个指针,这在过去曾被用来记录当前的读数。如后面所述,我们不需要这个指针,但保持它有助于保持设备的原始外观。
无论如何,当前读取指针的存在意味着如何限制远远的“主”指针可以坐在表盘的表面。
在另一个方向上,指针需要远离表盘,以便清除一个将安装在表盘上的LDR框架的垫圈(参见下一步)。
我做的是将表盘及其框架安装在木质背衬上,然后用适当的垫片将电机安装在背衬上。第一张图片可能有助于解释这一点,但您可能会想出自己的安排。
使用时钟盒或类似尺寸的东西的一个优点是内部有足够的空间安装电源。对我来说,这很重要,因为时钟将放在插入我专门安装的插座的壁炉架上。在这个位置隐藏一个明显不合时宜的“墙壁疣”或SPS砖会很困难 - 但这对你来说可能不是一个问题。
第二张图片中没有标注的组件与时钟和该项目的chimer部分(第三个NodeMCU和相关的布线位于Nixie PCB下)。
其他一切的放置 - 主要是BMP180传感器,电机驱动器板和NodeMCU - 并不重要。也就是说,直到我将互连线从驱动板上移开,电机有时无法正常工作。不确定那里发生了什么,但如果你的电机听起来很滑稽和/或移动不顺畅,你可能想尝试移动电线。
避免手动记录压力趋势(上升,下降或稳定)我在表盘下面放了三个小LED。当所有三个都点亮时,气压计处于心情模式。我使用“暖白”LED来尝试并保持周期感。未经调制,正面观看时它们太亮了,但是有了一些重载PWM,我得到了我追求的外观。当前读取指针仍然可用于传统主义者。
步骤4:安装组件 - 第2部分
让我们来处理表盘中的LDR。首先,为什么我们需要这个呢?
嗯,这是我对低价步进电机的限制的解决方案 - 尽管它可以按照精确的步骤移动,但它没有固有的能力知道它在哪里除了参考其起始位置。虽然从理论上讲,我认为你可以对此进行硬编码并跟踪我猜测的所有后续运动(没有实际依据),错误会迅速蔓延,特别是考虑到“情绪模式”所需的大规模运动。此外,你会被断电(将每个动作写入EEPROM并不实用)。
我的第一个想法是在上电时引入校准周期,并在情绪和气压计模式之间切换。该循环将使表盘上已知点处的微动开关跳闸。但是切换理念的机械实现对我来说似乎太具挑战性了。指针本身太脆弱而不能作为执行器,因此我需要在轴上安装其他东西。然后出现了保持360°运动的问题 - 这是我使用步进电机而不是标准伺服电机的原因之一。随着应用程度的增加,我确信可以使微型开关工作 - 或者也许还有一种现成的位置传感器解决方案 - 但我采取了另一种方式。
注意表盘的图片中有一个安装在1点位置的垫圈。该垫圈将LDR连接到NodeMCU上可用的单个模拟输入。当气压计上电或切换模式时,NodeMCU进入校准周期,并简单地查找由指针后部在LDR上行进引起的亮度突然变化。从该已知位置索引任何进一步的移动。我不得不在代码中用一些阈值来调整它以使其可靠地工作但是一旦完成,我就惊讶于它的精确程度 - 一直回到气压计设置的1%或2%的预期值。
显然,它在完全黑暗中不起作用,但你通常不会切换模式。如果由于某种原因校准周期无法在设定的时间内完成,它会放弃并闪烁趋势LED。
无论如何,LDR方法的优点在于安装非常简单 - 钻一个孔的大小足以使表盘中的LDR被指针的后端覆盖。为了在指针和LDR之间获得一个漂亮的“密封”,在LDR周围粘上一个小垫圈,如果需要,修改指针尾部(我使用了一些形状合适的黑纸)。
第5步:代码 - 基本功能
正如其他人所发现的那样,我无法使用标准的Arduino步进电机库来处理这种电机和驱动器。幸运的是,有一个很好的Instructable,代码可以工作。虽然评论中有几个优化建议,但我使用原始发布中的代码进行基本步进。此代码不需要库。
为了处理压力数据,我使用了Sparkfun BMP180库中的一个示例。我所要做的只是将其与电机控制结合起来。
第6步:代码 - 校准,控制,GUI,Google助手和实用功能
主要校准是硬编码的。为了安全起见,并考虑到气压计可能重新定位到不同的高度,通过NodeMCU和Websocket通信旋转的Web服务器实现了二次校准和控制。这里有一个了解这一点的好资源。
然而,正如视频所示,这个项目的真正“惊叹”因素是Google Assistant/Google Home。这里有烤面包机GA(由Raspberry Pi3供电)的Instructable。不用担心,您不需要使用400美元的烤面包机作为外壳。
GA通过IFTTT和Adafruit IO将命令传递给NodeMCU。这里有一个很好的资源。还有其他更复杂的方式与Google智能助理进行互动,但对于这个项目,这种非常简单的方法非常有效。
最后,代码包含一些非常有用的实用功能(无线更新,我已经开始在所有基于ESP8266的项目中包含多播DNS,Wifi Manager。
这个项目的所有代码(包括Nixie时钟和chimer控件)都在Github上。我已将我在HTML/CSS文件中使用的图像保留下来,因此它开箱即用(希望如此) - 您只需要添加自己的Adafruit IO帐户详细信息。
步骤7:Nixie Clock和Chimer
Nixie Clock由一个单独的NodeMCU控制,并使用Nixie管和驱动模块设计为Arduino屏蔽。链接中的版本包括用于获得时间的GPS模块。我的盾牌(早期版本)没有GPS模块,但我使用Node MCU从互联网上获取时间,这在某些方面更好。
时钟的控制方案和GUI有更多配置选项,但与气压计非常相似。这里有一点点重叠,因为Nixie LED响应气压计的情绪输入(通过相同的Adafruit IO馈送)。
从原始发条机制的残骸中我挽救了足够的比特来构建一个chimer由第三个NodeMCU驱动的机制(嘿,它们每个只有6美元)和另一个步进电机。我添加的只是原始机制和电机之间的“接口”。 “接口”在引号中,因为它仅包括一个子弹连接器,其中两个钉子以直角驱入其中并推到电机轴上。该装置的每个季度轮换导致一次撞击。再次,chimer控制方案类似于气压计,所有三个Web服务器都链接在一起,使整个看起来比实际更加无缝。
时钟和chimer NodeMCU完全独立于每个其他但由于互联网计时的奇迹总是完全同步。
-
时钟
+关注
关注
10文章
1733浏览量
131458
发布评论请先 登录
相关推荐
评论