自动皂液器是一种非接触式皂液器,内置 20 秒倒数计时器,由 LCD 或伺服器表示。在细菌是最大威胁的时代,定期彻底洗手是一种好习惯。这个项目让生活的那一部分变得更轻松、更愉快。
自动皂液器+计时器是一个有趣且相对容易构建的项目,它使当今生活的重要组成部分变得更加愉快。
首先,您应该收集上面列出的所有部分。
首先,我们将创建泵送肥皂瓶的电路。
为此,您将需要您的伺服器、一个构建器底座和三个 MM 跳线。
对于大多数 9G 伺服系统,电线颜色将代表以下内容:
执行器伺服:
我们现在将使用跳线将伺服连接到 Builder Base,如下所示:
如果您决定使用伺服计时器而不是 LCD 来显示剩余时间,则需要向连接到 GP1 的客户端添加第二个伺服。
定时器伺服(可选)
现在我们可以为我们的 LCD 和距离传感器组装电路。如果您按照下图进行操作,您应该只需要 4 MF 和 6 MM 跳线,以及一个面包板。
这是两个组件的接线指南:
超声波传感器:
2x16 液晶
我们已经用一个 3D 打印的外壳更新了这个项目,以容纳所有组件。您可以在页面底部找到模型。
如果您无法使用 3D 打印机,请继续执行“步骤 2:构建分配器(旧案例)”,了解如何在没有 3D 打印盒的情况下构建模型。
在这个项目中,您有两个选项来显示剩余时间。我们将向您展示如何构建的第一个选项是 LCD 计时器,第二个选项是伺服计时器。
要将 LCD 计时器放在外壳上,您需要 LCD 电路和 2 个 M3x 20mm 螺栓。
使用 M3 螺栓,将 LCD 固定到项目的前板上,如下所示。
接下来,将连接 LCD 的客户端放入后部客户端支架中。
这就是安装 LCD 定时器的过程!
首先打印出我们的计时器图形,将其剪下,然后将其粘在外壳的正面,如下所示。
接下来,将伺服器及其电线穿过前板中心的矩形孔。
接下来,我们将执行器伺服器放置在外壳上。如下图所示。
将伺服器放在面板左侧的插槽中,伺服花键位于伺服器的上半部分。接下来,使用 2 个 M3 螺钉,将伺服系统固定到底座上。
现在,我们将伺服客户端放在机箱背面。
客户支架旨在通过紧密的摩擦配合将客户固定到位,因此不需要魔术贴或粘合剂。
接下来,我们将距离传感器及其客户端固定在机箱上。
只需将距离传感器放入其插槽并向上弯曲电线,以便为肥皂瓶留出间隙。至于客户,就像我们对前一个客户所做的那样,将其放在剩余的客户持有人中。
接下来,我们将肥皂瓶放入箱子中。只需将瓶子挤入中心切口即可。我们的尺寸适合大多数普通肥皂瓶,但如果您的不适合这种情况,您可以修改 3D 文件以适合您的。
现在,要完成这个项目的组装,我们需要将点胶线连接到外壳和伺服器上。
首先将电线穿过与距离传感器相邻的孔。
然后将电线放在分配器喷嘴上。
最后,握住教导的电线,将电线穿过伺服臂上的一个孔并将其系好。
而已!使用 3D 打印外壳的这个项目的组装现已完成!
使用我们在上面组装的电路,我们现在将开始构建分配器。
让我们从伺服开始。使用热胶枪将伺服系统粘到项目框的左后角 - 如此处所示。
** 9g 舵机仅旋转 180˚,因此您必须注意确保舵机的方向与其运动范围相关。如果你不这样做,你可能会发现伺服器只会在你需要的相反方向上旋转。对于我们的设置,伺服系统位于左后角,我们需要从它出来的电线指向的末端。**
伺服器正确定向并牢固地固定在盒子上,您现在可以定位皂液器
我们选择将皂液器放置在盒子后壁的左中央。找到皂液器的合适位置后,用大量热胶将其粘合到位。
伺服和皂液器就位后,我们现在可以连接驱动分配器头的电线。
在这里您可以看到,要将电线连接到伺服臂上,我们只需将电线穿过手臂上的一个孔,然后将电线缠绕在自身周围。
然后,我们在皂液器头的顶部切了一个座,以防止电线在压力下滑动。
然后,在皂液器的另一侧,我们用美工刀切了一个孔,将电线穿过,拉动它,然后将其包裹在自身上以将其固定到位。
正确安装伺服和电线后,您可以将客户端固定在分配器的背面。我们选择使用魔术贴来更容易穿脱。
您项目的伺服部分现已完成!
现在让我们将距离传感器和 LCD 组件添加到分配器中。
我们首先将 LCD 放在盒子的前部中央,并使用魔术贴固定。
**我们建议您将 LCD 放置在项目盒上方或后面的右侧,如果肥皂分配器在其下方没有手的情况下启动,则可能会炸毁您的 LCD。**
现在将超声波距离传感器放在皂液器的右侧。我们再次使用魔术贴将它附加到项目上。Builder Base 还使用魔术贴固定在项目箱的背面。
您项目的硬件部分现已完成!现在我们只需要构建固件和应用程序。
使用左侧的工具栏导航到固件生成器。选择屏幕左上角的“+新建”。
接下来,将您的固件文件命名为“Servo”并点击“Create”。
现在,选择“+ 添加设备”按钮。您可以使用搜索栏或滚动列表来查找设备。找到并选择“伺服”设备,将其命名为伺服,然后单击“添加硬件”。
现在,重复前面的步骤并将另一个伺服器添加到您的固件文件中。将此命名为“伺服定时器”
现在您已准备好配置设备。
选择伺服设备,然后从驱动程序下拉菜单中选择“通用”。对于引脚选择 GP0。
选择伺服定时器设备,然后从驱动程序下拉菜单中选择“通用”。对于引脚选择 GP1。
这就是我们需要为伺服固件文件做的所有事情。现在您可以通过点击屏幕底部的蓝色保存按钮来保存它。
我们现在将为距离传感器和 LCD 创建固件文件。
单击“+新建”按钮。将新文件命名为“Distance Sensor + LCD”并点击“Create”。
接下来,选择“+ 添加设备”。使用搜索功能找到“LCD”设备,将其命名为“LCD”,然后点击“添加硬件”按钮。
我们仍然需要添加距离传感器,所以点击“+添加硬件”按钮,搜索“距离超声波”设备,将其命名为“距离”,然后点击“添加硬件”按钮。您现在应该在固件设备列表中拥有这两个设备。
要配置 LCD,请单击 LCD 设备,然后从驱动程序下拉菜单中选择“Generic LCD2004 Display LCD”驱动程序。
相应地配置驱动程序:
I2C 地址:0x27
布局:2x16
现在我们将配置距离传感器。单击距离传感器设备,然后从驱动程序下拉菜单中选择 HC-SR04 驱动程序。
相应地配置驱动程序:
回声针:GP3
触发引脚:GP4
分辨率(I):1
**请务必注意,您的分辨率将受到系统测量设置的影响。我们的当前设置为英制,因此以英寸为单位。但是,如果您将系统设置为公制,则分辨率将以厘米为单位。**
点击屏幕底部的蓝色保存按钮保存固件文件。
现在您可以上传固件文件了!
对于您的“Servo”和“Distance+LCD”固件文件,选择它们旁边的“Action”按钮。在下拉菜单下选择“上传”按钮。
将出现您配对的 Builder Base 的列表。对于每个固件文件,请务必将其上传到相应的客户端。这意味着您的伺服固件应该转到伺服连接到的构建器底座,而 LCD+Distance 固件应该转到 LCD 和距离传感器连接到的构建器底座。
如果要导入应用程序,请从资源部分下载并导入。否则,正如我们描述应用程序中使用的逻辑一样,您可以跟随并自己构建它。
这是皂液器应用程序:
前两个代码块是距离超声波和值比较块。这是决定皂液器是否被触发的两个块。Distance Ultrasonic 模块不断将距离数据发送到 Value Compare 模块上的“Value 1”端口。如果发送到值 1 端口的值小于“值 2”端口的默认值,皂液器和倒计时序列将被触发。
为此,我们将“值 1”端口设置为在收到新数据时触发评估,我们将“值 2”的默认值设置为 7。
这意味着如果一个物体在超声波传感器的 7 英寸范围内,皂液器逻辑就会执行。
一旦值比较模块检测到小于 7 的值,就会触发两个数据序列对象。一个数据序列处理皂液器序列,另一个处理 LCD 倒数计时器序列。
我们将首先关注分配顺序。
该序列控制伺服的驱动。从端口触发器 1 触发静态数字块。一旦触发了静态数字块,它就会通过“度数”端口向伺服系统发送一个值 0。这将伺服器置于其 0° 位置。
同时 Timeout 块已经被触发。在触发另一个静态编号块之前,此块等待 500 毫秒。该块的值为 180,一旦触发,它将重置伺服器回到其 180˚ 位置。
这是允许我们以适当的脉冲驱动伺服的基本逻辑。
**根据您为皂液器选择的配置,您可能需要调整发送到伺服器的度数位置。您可以通过更改静态编号块上的默认值来做到这一点。为此,请单击“值”端口并在右侧的属性值中更改其默认值。记得点击属性面板上的“保存属性”按钮,否则您的更改将丢失!**
现在让我们看一下两个倒计时序列:
如果您选择使用第二个伺服作为倒数计时器,则在第一个突出显示的矩形中找到的代码块处理倒数序列。
使用舵机计时倒计时只需要三个代码块。一个 Ramp Up Beta 对象、一个 Manual Ranging 对象和一个 Servo 硬件对象。Ramp Up 代码对象在给定的时间段内输出递增的模拟值。因此,如果在 Time 端口中输入 20, 000ms 并启动对象,则输出值为 +4095/20, 000,每毫秒持续 10 秒,最终输出值为 4095。
如下配置 Ramp Up 对象: Time 20000
接下来,值输出端口连接到手动测距代码对象上的值输入端口。我们有手动测距对象设置来将模拟值转换为度数。我们通过如下配置输入端口来做到这一点:
此配置执行以下操作:
从 0 到 4095 取值,模拟值的范围,然后将此值范围转换为适合 0 到 180 度。Out Min 设置为 180,out max 设置为 0,以便翻转伺服器的方向。
如果您选择使用 LCD 屏幕显示计时器,则第二个矩形处理倒计时序列。
倒计时序列触发“Time Remaining”静态字符串代码块,这会将字符串“Time Remaining”通过“String A”端口发送到字符串合并块。
然后该序列触发一个静态编号块,其值设置为 20。该值 20 然后通过“值”端口发送到数据计数器,将计数器的当前值设置为 20。
一旦发生这种情况,20 的值就会从数据计数器通过“String B”端口发送到 String Merge 块,将字符串 A 和 B 组合在一起。字符串 B 被设置为触发,因此当它接收到 20 的值时,它通过 LCD 上的“String”端口向 LCD 输出字符串“Time Remaining: 20”。
该字符串还用于“清除”任何其他消息的 LCD。“Wait to Send”超时端口等待 100 ms,然后触发 LCD 上的“Send to Display”功能。这可确保 LCD 已被清除,并且下一个字符串已按适当的顺序加载到 LCD 中。
一旦 LCD 上的“Send to Display”功能被触发,发送给它的字符串就会出现在物理 LCD 上。
然后,该过程通过使用振荡器重复自身 20 次。振荡器以 1 秒的间隔触发 20 次。每次振荡器振荡时,它都会向数据计数器上的“递减”端口发送一个触发信号。这会将数据计数器的值减 1。每次递减时,都会将新值发送到字符串合并块,并重复清除、写入和发送新字符串到 LCD 的整个序列。
当振荡器每秒递减计数 20 秒时,另一个名为“20 秒超时”的超时已由数据序列触发。这将等待 20 秒,然后清除字符串“Done”并将其发送到 LCD。一旦字符串被发送到 LCD,就会触发一个名为“Wait to Send”的 100 毫秒超时。此超时的目的是确保清除、接收字符串和写入 LCD 都以适当的顺序发生。
这总结了皂液器项目中使用的逻辑!
您现在应该回到应用程序页面。
找到您的“肥皂分配器”应用程序并点击播放按钮。
包含所有设备的列表是您的应用程序将展开的。
接下来点击“测距”设备,右侧会出现客户端下拉菜单。
从下拉菜单中选择距离驱动程序并点击“完成”。
对 LCD 和两个舵机重复相同的步骤。
请注意状态符号如何变为绿色复选标记。
恭喜你建造了皂液器。现在是时候使用它了!
点击“保存+运行”。
瞧!您的皂液器项目现已完成。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !