电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>自动皂液器与计时器开源

自动皂液器与计时器开源

2022-10-28 | zip | 0.10 MB | 次下载 | 免费

资料介绍

描述

概述

自动皂液器是一种非接触式皂液器,内置 20 秒倒数计时器,由 LCD 或伺服器表示。在细菌是最大威胁的时代,定期彻底洗手是一种好习惯。这个项目让生活的那一部分变得更轻松、更愉快。

描述

自动皂液器+计时器是一个有趣且相对容易构建的项目,它使当今生活的重要组成部分变得更加愉快。

程序

第 1 步:组装电路

首先,您应该收集上面列出的所有部分。

首先,我们将创建泵送肥皂瓶的电路。

为此,您将需要您的伺服器、一个构建器底座和三个 MM 跳线。

对于大多数 9G 伺服系统,电线颜色将代表以下内容:

执行器伺服:

poYBAGNY0vyAIiVqAAAOtpIJWCs956.png
 

我们现在将使用跳线将伺服连接到 Builder Base,如下所示:

pYYBAGNY0v6AKej3AAATwgu3iUc590.png
 

 

pYYBAGNY0wOAGcRrAAC_KSpVgyk823.png
 

如果您决定使用伺服计时器而不是 LCD 来显示剩余时间,则需要向连接到 GP1 的客户端添加第二个伺服。

定时器伺服(可选)

poYBAGNY0waABazeAAATDpeGc34795.png
 

 

poYBAGNY0wmAKJU0AABxs-I4-bA347.png
 

现在我们可以为我们的 LCD 和距离传感器组装电路。如果您按照下图进行操作,您应该只需要 4 MF 和 6 MM 跳线,以及一个面包板。

这是两个组件的接线指南:

超声波传感器:

pYYBAGNY0wuAdEUwAAAbO05KXN0687.png
 

2x16 液晶

poYBAGNY0w6AKeu9AAAXz7_wENQ474.png
 

 

pYYBAGNY0xGABhtoAAB2fAthU-I156.png
 

第 2 步:构建分配器(3D 打印案例)

我们已经用一个 3D 打印的外壳更新了这个项目,以容纳所有组件。您可以在页面底部找到模型。

如果您无法使用 3D 打印机,请继续执行“步骤 2:构建分配器(旧案例)”,了解如何在没有 3D 打印盒的情况下构建模型。

在这个项目中,您有两个选项来显示剩余时间。我们将向您展示如何构建的第一个选项是 LCD 计时器,第二个选项是伺服计时器。

 

 
 
 
pYYBAGNY0xSANoXYAABTrJHQmJA28.jpeg
 
1 / 2
 

要将 LCD 计时器放在外壳上,您需要 LCD 电路和 2 个 M3x 20mm 螺栓。

使用 M3 螺栓,将 LCD 固定到项目的前板上,如下所示。

poYBAGNY0xeAG3EhAAD6HDrQyZU48.jpeg
 

接下来,将连接 LCD 的客户端放入后部客户端支架中。

pYYBAGNY0xuAbWJ4AAE2WVk9vCY95.jpeg
 

这就是安装 LCD 定时器的过程!

首先打印出我们的计时器图形,将其剪下,然后将其粘在外壳的正面,如下所示。

poYBAGNY0x2ARs2oAADnWy2JigE51.jpeg
 

接下来,将伺服器及其电线穿过前板中心的矩形孔。

pYYBAGNY0yCABRD8AAEX526mgEQ61.jpeg
 

接下来,我们将执行器伺服器放置在外壳上。如下图所示。

pYYBAGNY0yKAYmRJAABHn4gUTJc33.jpeg
 

 

poYBAGNY0yWAAb-HAABJQ0n2vtI83.jpeg
 

将伺服器放在面板左侧的插槽中,伺服花键位于伺服器的上半部分。接下来,使用 2 个 M3 螺钉,将伺服系统固定到底座上。

现在,我们将伺服客户端放在机箱背面。

poYBAGNY0yiALj1rAAGxWrLqHvg15.jpeg
 

客户支架旨在通过紧密的摩擦配合将客户固定到位,因此不需要魔术贴或粘合剂。

接下来,我们将距离传感器及其客户端固定在机箱上。

只需将距离传感器放入其插槽并向上弯曲电线,以便为肥皂瓶留出间隙。至于客户,就像我们对前一个客户所做的那样,将其放在剩余的客户持有人中。

poYBAGNY0yyADQq_AABamZBfkSE88.jpeg
 

 

poYBAGNY0y-AFrA7AABZtT_2jTM13.jpeg
 

接下来,我们将肥皂瓶放入箱子中。只需将瓶子挤入中心切口即可。我们的尺寸适合大多数普通肥皂瓶,但如果您的不适合这种情况,您可以修改 3D 文件以适合您的。

poYBAGNY0zKAQOFwAAGKk6tivdc12.jpeg
 

现在,要完成这个项目的组装,我们需要将点胶线连接到外壳和伺服器上。

首先将电线穿过与距离传感器相邻的孔。

pYYBAGNY0zWAKThoAAFYe253Ghg15.jpeg
 

然后将电线放在分配器喷嘴上。

pYYBAGNY0zmAdIk9AAFnZ2FykQY42.jpeg
 

最后,握住教导的电线,将电线穿过伺服臂上的一个孔并将其系好。

poYBAGNY0zuAB-CSAAFHP6R7kjg42.jpeg
 

而已!使用 3D 打印外壳的这个项目的组装现已完成!

第 2 步:构建分配器(旧案例)

使用我们在上面组装的电路,我们现在将开始构建分配器。

让我们从伺服开始。使用热胶枪将伺服系统粘到项目框的左后角 - 如此处所示。

** 9g 舵机仅旋转 180˚,因此您必须注意确保舵机的方向与其运动范围相关。如果你不这样做,你可能会发现伺服器只会在你需要的相反方向上旋转。对于我们的设置,伺服系统位于左后角,我们需要从它出来的电线指向的末端。**

伺服器正确定向并牢固地固定在盒子上,您现在可以定位皂液器

我们选择将皂液器放置在盒子后壁的左中央。找到皂液器的合适位置后,用大量热胶将其粘合到位。

pYYBAGNY0z6AYnM1AACt3KFDSoQ82.jpeg
 

伺服和皂液器就位后,我们现在可以连接驱动分配器头的电线。

在这里您可以看到,要将电线连接到伺服臂上,我们只需将电线穿过手臂上的一个孔,然后将电线缠绕在自身周围。

然后,我们在皂液器头的顶部切了一个座,以防止电线在压力下滑动。

然后,在皂液器的另一侧,我们用美工刀切了一个孔,将电线穿过,拉动它,然后将其包裹在自身上以将其固定到位。

 
 
 
pYYBAGNY00CASXw5AAAz9GCr1bY47.jpeg
 
1 / 3
 

正确安装伺服和电线后,您可以将客户端固定在分配器的背面。我们选择使用魔术贴来更容易穿脱。

poYBAGNY00OAe8AlAAExEVP3_fk54.jpeg
 

您项目的伺服部分现已完成!

现在让我们将距离传感器和 LCD 组件添加到分配器中。

我们首先将 LCD 放在盒子的前部中央,并使用魔术贴固定。

 
 
 
poYBAGNY00WAbEaGAABYFdDKCkg14.jpeg
 
1 / 2
 

**我们建议您将 LCD 放置在项目盒上方或后面的右侧,如果肥皂分配器在其下方没有手的情况下启动,则可能会炸毁您的 LCD。**

现在将超声波距离传感器放在皂液器的右侧。我们再次使用魔术贴将它附加到项目上。Builder Base 还使用魔术贴固定在项目箱的背面。

 
 
 
pYYBAGNY00iAbtv1AABrRwB6jts48.jpeg
 
1 / 2
 

您项目的硬件部分现已完成!现在我们只需要构建固件和应用程序。

第 3 步:构建固件

使用左侧的工具栏导航到固件生成器。选择屏幕左上角的“+新建”。

poYBAGNY00uAHy6eAAAbBBH28kk424.png
 

接下来,将您的固件文件命名为“Servo”并点击“Create”。

poYBAGNY006ALcOLAAAX-neGs40427.png
 

现在,选择“+ 添加设备”按钮。您可以使用搜索栏或滚动列表来查找设备。找到并选择“伺服”设备,将其命名为伺服,然后单击“添加硬件”。

poYBAGNY01GAMxjuAAA9uxUUaIs220.png
 

现在,重复前面的步骤并将另一个伺服器添加到您的固件文件中。将此命名为“伺服定时器”

poYBAGNY01OAOrU7AAAoTPYKIJo265.png
 

现在您已准备好配置设备。

选择伺服设备,然后从驱动程序下拉菜单中选择“通用”。对于引脚选择 GP0。

 
 
 
pYYBAGNY01WAaOqfAAA-8cLXYrE082.png
 
1 / 2
 

选择伺服定时器设备,然后从驱动程序下拉菜单中选择“通用”。对于引脚选择 GP1。

 
 
 
poYBAGNY01iAAEP7AABStE8RsvM411.png
 
1 / 2
 

这就是我们需要为伺服固件文件做的所有事情。现在您可以通过点击屏幕底部的蓝色保存按钮来保存它。

pYYBAGNY01qAdoUbAAAGHkKazH4750.png
 

我们现在将为距离传感器和 LCD 创建固件文件。

单击“+新建”按钮。将新文件命名为“Distance Sensor + LCD”并点击“Create”。

poYBAGNY012AShqCAAAbjxIgiRM932.png
 

接下来,选择“+ 添加设备”。使用搜索功能找到“LCD”设备,将其命名为“LCD”,然后点击“添加硬件”按钮。

 

 
 
 
pYYBAGNY02GANUewAAAciIfWwcc528.png
 
1 / 2
 

我们仍然需要添加距离传感器,所以点击“+添加硬件”按钮,搜索“距离超声波”设备,将其命名为“距离”,然后点击“添加硬件”按钮。您现在应该在固件设备列表中拥有这两个设备。

 

 
 
 
poYBAGNY02mAFKvjAAAhudnr9zg812.png
 
1 / 2
 

要配置 LCD,请单击 LCD 设备,然后从驱动程序下拉菜单中选择“Generic LCD2004 Display LCD”驱动程序。

相应地配置驱动程序:

I2C 地址:0x27

布局:2x16

 
 
 
pYYBAGNY02uAdahwAAA6QU_-Pso016.png
 
1 / 2
 

现在我们将配置距离传感器。单击距离传感器设备,然后从驱动程序下拉菜单中选择 HC-SR04 驱动程序。

相应地配置驱动程序:

回声针:GP3

触发引脚:GP4

分辨率(I):1

**请务必注意,您的分辨率将受到系统测量设置的影响。我们的当前设置为英制,因此以英寸为单位。但是,如果您将系统设置为公制,则分辨率将以厘米为单位。**

 
 
 
poYBAGNY022ANW-vAAAsEV2A98Q141.png
 
1 / 2
 

点击屏幕底部的蓝色保存按钮保存固件文件。

pYYBAGNY01qAdoUbAAAGHkKazH4750.png
 

现在您可以上传固件文件了!

对于您的“Servo”和“Distance+LCD”固件文件,选择它们旁边的“Action”按钮。在下拉菜单下选择“上传”按钮。

 
 
 
pYYBAGNY03OAFuZ1AAAdL8NL0XI879.png
 
1 / 2
 

将出现您配对的 Builder Base 的列表。对于每个固件文件,请务必将其上传到相应的客户端。这意味着您的伺服固件应该转到伺服连接到的构建器底座,而 LCD+Distance 固件应该转到 LCD 和距离传感器连接到的构建器底座。

第 4 步:对应用程序进行编程

如果要导入应用程序,请从资源部分下载并导入。否则,正如我们描述应用程序中使用的逻辑一样,您可以跟随并自己构建它。

这是皂液器应用程序:

pYYBAGNY03aAX0DHAACaZ5MwOVo059.png
 

前两个代码块是距离超声波和值比较块。这是决定皂液器是否被触发的两个块。Distance Ultrasonic 模块不断将距离数据发送到 Value Compare 模块上的“Value 1”端口如果发送到值 1 端口的值小于“值 2”端口的默认值,皂液器和倒计时序列将被触发。

为此,我们将“值 1”端口设置为在收到新数据时触发评估,我们将“值 2”的默认值设置为 7。

这意味着如果一个物体在超声波传感器的 7 英寸范围内,皂液器逻辑就会执行。

 
 
 
pYYBAGNY03mADFTeAAARHTzRJvM854.png
 
1 / 3
 

一旦值比较模块检测到小于 7 的值,就会触发两个数据序列对象。一个数据序列处理皂液器序列,另一个处理 LCD 倒数计时器序列。

poYBAGNY03uAOUu5AAB70ApEQtM032.png
 

我们将首先关注分配顺序。

pYYBAGNY036ACDH-AABea37ARB0530.png
 

该序列控制伺服的驱动。从端口触发器 1 触发静态数字块。一旦触发了静态数字块,它就会通过“度数”端口向伺服系统发送一个值 0。这将伺服器置于其 0° 位置。

同时 Timeout 块已经被触发。在触发另一个静态编号块之前,此块等待 500 毫秒。该块的值为 180,一旦触发,它将重置伺服器回到其 180˚ 位置。

这是允许我们以适当的脉冲驱动伺服的基本逻辑。

**根据您为皂液器选择的配置,您可能需要调整发送到伺服器的度数位置。您可以通过更改静态编号块上的默认值来做到这一点。为此,请单击“值”端口并在右侧的属性值中更改其默认值。记得点击属性面板上的“保存属性”按钮,否则您的更改将丢失!**

现在让我们看一下两个倒计时序列:

poYBAGNY04GABKuxAACeG880IfE630.png
 

如果您选择使用第二个伺服作为倒数计时器,则在第一个突出显示的矩形中找到的代码块处理倒数序列。

poYBAGNY04OARuP9AAAqbI_q6Ik088.png
 

使用舵机计时倒计时只需要三个代码块。一个 Ramp Up Beta 对象、一个 Manual Ranging 对象和一个 Servo 硬件对象。Ramp Up 代码对象在给定的时间段内输出递增的模拟值。因此,如果在 Time 端口中输入 20, 000ms 并启动对象,则输出值为 +4095/20, 000,每毫秒持续 10 秒,最终输出值为 4095。

如下配置 Ramp Up 对象: Time 20000

接下来,值输出端口连接到手动测距代码对象上的值输入端口。我们有手动测距对象设置来将模拟值转换为度数。我们通过如下配置输入端口来做到这一点:

pYYBAGNY04aAN2yMAAAfItNXCbE745.png
 

此配置执行以下操作:

从 0 到 4095 取值,模拟值的范围,然后将此值范围转换为适合 0 到 180 度。Out Min 设置为 180,out max 设置为 0,以便翻转伺服器的方向。

poYBAGNY04GABKuxAACeG880IfE630.png
 

如果您选择使用 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”。

pYYBAGNY04-AOD1GAABaAt5Zf4E826.png
 

该字符串还用于“清除”任何其他消息的 LCD。“Wait to Send”超时端口等待 100 ms,然后触发 LCD 上的“Send to Display”功能。这可确保 LCD 已被清除,并且下一个字符串已按适当的顺序加载到 LCD 中。

一旦 LCD 上的“Send to Display”功能被触发,发送给它的字符串就会出现在物理 LCD 上。

然后,该过程通过使用振荡器重复自身 20 次。振荡器以 1 秒的间隔触发 20 次。每次振荡器振荡时,它都会向数据计数器上的“递减”端口发送一个触发信号这会将数据计数器的值减 1。每次递减时,都会将新值发送到字符串合并块,并重复清除、写入和发送新字符串到 LCD 的整个序列。

poYBAGNY05KAbpedAABQSbt5iN0672.png
 

当振荡器每秒递减计数 20 秒时,另一个名为“20 秒超时”的超时已由数据序列触发。这将等待 20 秒,然后清除字符串“Done”并将其发送到 LCD。一旦字符串被发送到 LCD,就会触发一个名为“Wait to Send”的 100 毫秒超时。此超时的目的是确保清除、接收字符串和写入 LCD 都以适当的顺序发生。

poYBAGNY05aAJmoDAACPU5yu4wc786.png
 

这总结了皂液器项目中使用的逻辑!

第 5 步:映射应用程序

您现在应该回到应用程序页面。

找到您的“肥皂分配器”应用程序并点击播放按钮。

poYBAGNY05iAORrtAAAO-K2bs-A512.png
 

包含所有设备的列表是您的应用程序将展开的。

pYYBAGNY05uAMGI7AABw1c4-aMU335.png
 

接下来点击“测距”设备,右侧会出现客户端下拉菜单。

从下拉菜单中选择距离驱动程序并点击“完成”。

pYYBAGNY056AHjhaAAB3F4_wXBo668.png
 

对 LCD 和两个舵机重复相同的步骤。

 
 
 
poYBAGNY06GAYW7TAAAoagpyC70223.png
 
1 / 2
 

请注意状态符号如何变为绿色复选标记。

pYYBAGNY06eAKIR0AAB8Pz7T4GE559.png
 

第 6 步:运行应用程序!

恭喜你建造了皂液器。现在是时候使用它了!

点击“保存+运行”。

poYBAGNY06qAR8xmAAB7alwjsgA729.png
 

 

pYYBAGNY06yAaR-8AAATYcsm9TM220.png
 

瞧!您的皂液器项目现已完成。

 

 

 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费