标准电机窗帘价格昂贵,控制它们的唯一方法是使用提供的红外遥控器。智能窗帘甚至更昂贵,并且无法自定义何时打开或关闭窗帘的自动化方式。因此,我们决定为我们的车间入口建造一个价格低廉且高度可定制的电动窗帘,可以使用 Quantum 系统以多种方式打开和关闭。
首先收集上面列出的所有部件来构建电路。
首先,我们将为电机罩创建电路。按照下面的示意图创建它,否则您可以使用我们的视频获取有关如何设置 L293D H 桥的更多信息。
接下来我们将组装第二个电路,它是控制窗帘的按钮。按照原理图或使用本教程如何电子 - 按钮来创建电路。
第一个和第二个按钮将用于引导灯罩上下移动。
第三个和第四个按钮将用于完全打开或关闭窗帘。
这两个客户端将由不同的方法提供支持。连接到按钮电路的 Builder Base 将由普通的 micro usb 电缆供电。连接到电机的 Builder Base 将由连接到 5V 电源 DIY 套件的 12V 1A 电源供电。
现在我们要将 Builder Base 与我们的 Q-Server 配对。为此,请转至 Q-Server 的主屏幕。
接下来单击标有“客户”的电梯侧符号。切换到屏幕顶部中间的“未配对”选项卡。
您应该会看到未配对的 Builder Base。如果没有,请检查您是否已插入 Builder Base 的电源。现在移动到“操作”下方的三个点,然后单击“配对”。
客户端配对后,单击“设置”按钮。
现在您可以编辑您的客户端。给他一个你想要的名字,以及你要使用它的位置。完成后点击“保存”。
接下来导航到固件选项卡。
点击“+ Create New”创建一个新固件并命名。我们将我们的命名为“Shade + Contact”。
点击“添加硬件”。
对于这个项目,我们需要一个电机。所以继续搜索电机或向下滚动直到找到它。
我们将其命名为“Shade 1”,因为您可以同时添加多个阴影进行控制。单击“添加硬件”以最终添加它。
接下来我们将添加一个门触点。我们将其命名为“车间门”。
单击“添加硬件”以最终添加它。
现在我们将通过简单地单击来编辑我们添加的电机硬件。
对于驱动程序,我们选择“H-Bridge”,因为我们使用的是 L293D。如果您使用不同的电机控制器,请确保 Quantum 系统支持它。现在选择 H 桥连接到的 Builder Base 的引脚。
接下来我们将编辑门触点硬件。对于“驱动程序”,我们选择 GPIO。
选择磁门触点的引脚,然后单击保存。
编辑完所有硬件后,让我们上传固件。单击固件名称旁边的三个点,然后单击“上传”。
选择正确的客户端上传固件文件。
点击“上传”。
对于这个项目,我们将需要另一个固件文件。再次单击“+ Create New”以构建新的固件文件。
我们将其命名为“按钮”。首先搜索按钮硬件。
我们将需要四个按钮硬件,分别命名为“Up”、“Down”、“Open”、“Close”。
通过单击它们,选择“驱动程序”以及连接的引脚来编辑不同的按钮硬件。
编辑完所有 Button 硬件后,我们需要上传固件。单击按钮固件名称旁边的三个点,然后单击上传。选择您要上传固件文件的正确客户端。
您现在已完成固件文件的构建。
在我们构建应用程序之前,我们需要安装时间服务,以便在构建应用程序时延迟使用该服务。移动到您的库选项卡。
转到服务并单击时间服务下方的下载按钮。
下载后转到屏幕左侧的“服务”选项卡。
让我们通过单击操作下方的三个点来激活时间服务,然后单击“开始”。
将出现一个带有说明的新窗口。
您现在需要输入纬度和经度坐标。它们将用于确定您所在位置的当前时间。这稍后将用于在您所在位置的特定时间自动上下移动窗帘。
填好坐标后点击“下一步”。
系统现在告诉您,您还需要在 Q-Server 的设置中选择您的时区。否则,日落、日出和时间对象可能无法按预期工作。点击“激活”。时间对象的状态应更改为“正在运行”。
如果要检查或更改 Q-Server 的时区,请单击右上角的机械轮并选择“常规设置”。现在您可以检查或更改您的时区。
在下一步中,我们将构建我们的应用程序,以便稍后将其与固件硬件连接。转到您的应用程序选项卡。
单击“+ 创建新”以启动新应用程序。我们将其命名为“机动阴影”。
你会发现自己在画布上。
我们将构建的应用程序最终看起来像这样。
您可以在资源部分下载该应用程序,也可以按照以下步骤与我们一起构建它。
我们将首先在画布上添加一个“电机”对象。您可以使用“App Builder”下方左上角的搜索栏,也可以自行搜索。找到它后,只需将其拖放到画布上或左键单击即可将其添加到画布中。
“Motor”对象将被命名为“Shade 1”,因为您可以将多个阴影与该项目连接起来。接下来我们要添加一个“门接触”对象。
“门触点”对象是我们车间门的门触点,因此我们将其命名为“车间触点”。我们还将添加两个“数字与”对象。
将两个“Digital AND”对象与“Motor”对象连接起来。
如您所见,我们将名为“Open”的“Digital AND”对象之一连接到“Motor”对象的“Clockwise”端口。另一个名为“Closed”的“Digital AND”对象连接到“Counter Clockwise”端口。现在我们将设置“电机”对象的速度。单击“电机”对象,然后单击“速度”端口。您可以使用 0 到 255 之间的值,因为我们希望阴影尽可能快地移动,我们将其设置为 255。
将“Door Contact”对象与“Digital AND”对象的“In 1”端口连接。
当门关闭时,“门触点”对象将向“数字与”对象的“In 1”发出信号。这将确保电机只有在车间门关闭时才能工作。下一步添加四个“Button”硬件对象和四个“Button”接口对象。
在下一步中,将“Button”硬件对象的“State”端口与“Button”接口对象的相应“State”端口连接起来。我们还将我们的“Button”硬件对象命名为“Up”、“Down”、“Open”和“Close”。
现在我们将对按钮界面对象进行命名和分组。单击其中一个按钮界面对象,然后选择右上角的“Dash Builder”。
“Dash Builder”可用于对 Button 或其他对象进行分组,以便在您稍后进入 Dashboard 时让它们一起出现在屏幕上。单击“Tab 1”旁边的铅笔。
我们将此选项卡命名为“Motor Shade Control”。之后点击“Dash Builder”界面顶部的“Group”。
接下来单击“选择选项卡”并选择“电机灯罩控制”。组选项卡将出现在选项卡下方。单击“Group 1”旁边的铅笔更改名称。
这将是“向上”和“向下”按钮的“向上/向下”组。通过点击“添加组”按钮创建另一个组并将其命名为“打开/关闭”。
如果您完成了该名称,则按钮接口对象将根据其连接的按钮硬件对象并将它们放入相关组中。
例如这个按钮是用来关闭的按钮。因此,它命名为“关闭”,仪表板标签为“关闭”,并将其分配给仪表板组“打开/关闭”。
“向上”和“向下”按钮将用于手动关闭和打开窗帘,但其他两个按钮“打开”和“关闭”将自动为您完全关闭和完全打开窗帘。
现在将“Up”和“Down”界面按钮对象与“Digital AND”对象的“In 2”端口连接,并确保设置在“Trigger”上,如右侧“Default Value”下方所示.
为了使阴影完全自动化,我们需要两个“时间”对象。搜索它们并将它们拖放到画布上。我们将它们放置在界面按钮对象下方。
要在启动应用程序时触发这两个对象,我们需要一个“初始触发器”对象,该对象将在启动应用程序后立即触发“时间”对象。
命名您的“时间”对象。我们需要两个,因为一个将用于在早上打开阴影,另一个用于在晚上关闭阴影。
命名它们后,通过将“默认值”设置为“1”或“真”来设置要触发的天数。
最后要设置的是您要触发的时间。通过输入“1:00 AM”或“3:24 PM”之类的内容来设置时间。
对第二个对象也进行天数的命名和设置。
在画布上添加两个“Pulse Stretchers”。
“Pulse Stretcher”对象将用于将按钮信号拉伸为更长的信号。这意味着您只需按一次按钮即可让窗帘完全打开或关闭,而不是在打洞时间按住按钮。以毫秒为单位设置信号持续时间,并确保打开触发器。
接下来将“Pulse Stretcher”对象的“In”端口与“Time of Day”对象的“Trigger”端口连接起来。
还将“打开”和“关闭”按钮与“Pulse Stretcher”对象的“In”端口连接。
因此,“Pulse Stretcher”要么在特定时间触发,要么通过按下按钮触发。最后将“Pulse Stretcher”对象与“Digital AND”连接起来。
在下一部分中,我们将向您展示如何能够在仪表板上查看您的门禁是否打开,并获取有关这两种状态的消息。
接下来我们将添加一个“数字比较”对象。
“Number Compare”对象将比较两个数字并从“Equal”、“Less”或“Greater”端口发出信号。
将“数字 2”端口的默认值设置为空,并打开触发器。现在将“Number Compare”对象与“Door Contact”对象连接起来。我们现在添加一个“文本”界面对象并将其命名为“车间门”。
仪表板标签也将是“车间门”。对于仪表板组,我们将像之前使用按钮对象一样创建一个新的。移动到 Dash Builder 单击 Group 圆圈并创建一个新组。我们将其命名为“门/窗状态”。
返回“属性”面板并选择新组。
接下来我们将连接“Text”对象和“Static String”对象。
将“Number Compare”对象的“Less”端口与上面的“Static String”对象及其“Trigger”端口连接起来。当门关闭时,“门触点”不会发送任何内容,在“数字比较”对象中设置为数字 2。数字 1 设置为 0,因此结果会更小,并且会触发上方的“静态字符串”对象。我们将其命名为“Closed”,“String”端口也命名为“Closed”。
较低的“静态字符串”对象将连接到“数字比较”对象的“相等”端口。
因此,当门触点打开时,它会向数字比较对象发送一个“0”。由于数字 1 也设置为“0”,因此结果将相等,并且将触发较低的“静态字符串”对象。我们将其命名为“Open”,并将字符串命名为“Open”。
您的应用现在可以使用了。确保保存您的应用程序!
保存您的应用程序后,您将被重定向到您的构建应用程序。如您所见,“电动窗帘”应用程序已停止。单击播放按钮以启动应用程序。
您将获得应用程序的所有硬件相关对象的列表。我们现在需要将硬件对象映射到实际硬件连接到的客户端。
通过单击其中一个硬件并选择要将其映射到的正确客户端来执行此操作。
映射每个组件后,您将看到状态的绿色复选标记。点击“保存+运行”。
如您所见,您的应用程序现在正在运行。
单击右上角的仪表板图标以打开仪表板视图。
您将看到您的电动窗帘应用程序。要打开它,请单击它。我们之前在构建应用程序时通过 Dashbuilder 对所有按钮进行了分组。
该应用程序现在将识别联系人是否打开,它会告诉您。
如果您打开联系人,消息将变为“打开”。
如果门触点打开并且您按下按钮,则不会因为触点未关闭而移动。
当您现在关闭触点并按下其中一个按钮时,管状电机应该开始旋转。
您可以使用物理按钮来移动阴影,也可以使用仪表板界面来控制它。
恭喜项目建设成功!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !