资料介绍
描述
描述
我们认为,没有某种形式的安全系统,任何智能家居都是不完整的。这只是我们安全系统的原型,在设计最终确定之前,硬件和软件将进行许多修改。无论如何,这里是我们一直在努力的一瞥。
过程
第 1 步:构建硬件
首先收集上面零件列表中列出的所有硬件。我们将从键盘和 LCD 电路开始,然后转到触发器(运动传感器、距离传感器和蜂鸣器)电路。
键盘和 LCD 的电路非常简单。您可以使用面包板来构建此电路,但我们发现将所有组件直接连接到 Builder Base 更简单。
使用 7 MM 跳线并从左到右将键盘的引脚连接到构建器底座上的端口。因此,键盘最左边的引脚连接到 GP0,最左边的第二个引脚连接到 GP1,依此类推。
现在,将 LCD 上的 Vcc 和 GND 端子连接到 Builder Base 上的 5V 和 GND 端口,然后将 LCD 上的 SDA 和 SCL 引脚连接到 Builder Base 上的 SDA 和 SCL 端口。
**在 I2C LCD 的背面应该有 6 个引脚。其中4个是5v、GND、SDA和SCL引脚,另外两个用于亮度。这两个引脚应该连接在一起,但如果不是,则需要连接它们。否则,您的 LCD 将不会亮起。**
使用下面列出的原理图和面包板视图作为参考。
现在让我们组装触发器电路。我们建议为该电路使用面包板,因为它可以更轻松地为所有组件供电。
拿起你的面包板,将 GND 和 Vcc 导轨分别连接到 Builder Base 上的 GND 和 5V 端口。
现在,让我们连接运动传感器。将 VCC 和 GND 引脚连接到面包板上的 5V 和 GND 导轨。将数据引脚连接到 Builder Base,如下所示:
现在,我们将连接蜂鸣器。将蜂鸣器上的 GND 引脚连接到面包板上的 GND 导轨,并将正极引脚连接到 Builder Base,如下所示:
最后,我们将连接距离传感器。再次,将距离传感器上的 Vcc 和 GND 引脚连接到面包板上的 5v 和 GND 导轨。现在将 Echo 和 Trigger 引脚连接到构建器底座,如下所示:
恭喜!安全系统所需的所有电路现已完成!
第 2 步:构建固件
由于我们在这个项目中使用了两个 Builder Base,我们需要构建两个单独的固件文件。
首先导航到固件生成器并创建一个名为“安全键盘”的新固件。
单击“+添加硬件”按钮并添加 LCD 和 4x3 键盘。
现在,单击 LCD 设备并从驱动程序下拉菜单中选择“Generic LCD2004 Display (I2C)”驱动程序。
配置驱动程序如下:
I2C 地址:0x27
布局:2x16
现在,我们将配置 4x3 键盘。您会注意到 4x3 键盘有 12 种服务需要配置。您可以通过单击左右箭头来循环浏览这些内容。
对于每项服务,您必须选择驱动程序以及服务的行/列引脚。每个服务对应于键盘上的一个按钮。按照下表配置所有 12 项服务。
配置完所有服务后,保存固件!
现在,创建另一个名为“Security Triggers”的固件文件。
现在,单击“+ 添加硬件”按钮并将运动传感器、距离传感器和模拟输出设备添加到您的文件中。像我们一样命名它们。
对于运动传感器,从驱动程序下拉菜单中选择 HC-SR501 驱动程序。
配置驱动程序如下:
引脚:GP0
现在我们将配置蜂鸣器。从驱动程序下拉菜单中选择“GPIO”驱动程序。
现在我们将配置驱动程序如下:
引脚:GP1
现在,我们将配置距离传感器。
从驱动程序下拉菜单中选择 HC-SR04 驱动程序:
现在我们将配置驱动程序如下:
回声针:GP3
触发引脚:GP2
分辨率(I):1
**我们的系统在设置中设置为英制。如果您的设置为公制,您可能需要更改分辨率值。**
就是这样,您的安全系统固件文件现已完成。保存并上传您的固件文件。安全键盘固件应上传到连接键盘和 LCD 的 Builder Base,安全触发器固件应上传到连接传感器和蜂鸣器的 Builder Base。
第 3 步:对应用程序进行编程
对于这个应用程序,我们将引导您了解所涉及的基本逻辑。您可以按照我们的描述构建应用程序,或者您可以下载该应用程序并将其导入您的应用程序列表。
这是安全系统应用程序:
**请注意,此安全系统应用程序处于高度原型状态,无法完美运行。我们将在未来几个月内更新此应用程序以更有效地工作。**
在本说明中,我们将把应用程序分为四个主要部分:1. 代码集,2. 代码输入/评估,3. 传感器输入,和 4. 布防警报倒计时
在当前状态下,当应用程序启动时,您需要通过仪表板界面设置密码。这发生在应用程序的代码集部分。
使用两个自定义代码块设置引脚。一个将仪表板按钮按下转换为数字,另一个将数字存储在全局上下文数组中。
对于Number Convert代码和Set Pin 代码,请查看我们的文档。
现在我们来看看程序的代码输入/评估部分。
在这里,我们有一个 4x3 键盘对象连接到另一个数字转换自定义片段。这会从 4x3 键盘对象获取数字输出,并根据接收到的端口将其转换为数字。此数字转换自定义代码段与上面使用的代码段相同。
然后将此数字传递到名为“安全?”的自定义片段中。
“安全?” 片段从三个端口获取输入。第一个端口“InNode0”用作布防系统的一种方式。我们通过使用键盘上的“*”键来布防系统如果从该端口接收到触发器,则执行以下代码:
1.案例0:{
2. globalContext.safe = 0;
3.};打破;
第二个端口“inNode1”从数字转换自定义片段中获取数字并将它们存储在输入数组中。当通过此端口接收到值时,将执行以下代码:
1.案例1:{
2. context.entr[context.i] = val2;
3.上下文.i++;
最后,第三个端口用作代码评估的触发器。第三个端口连接到 4x3 键盘对象上的“#”键。当按下“#”键时,它充当输入按钮。你可以在这里看到代码:
这是“安全?”的完整代码 自定义片段:
每次按下 4x3 键盘上的一个数字时,此程序部分还会向 LCD 发送一个“*”。每按下一个数字,就会触发“Send *”数据序列,然后将计数加一,范围为 [10 → 16]。此计数对应于 LCD 上的列位置,因此每次输入一个新数字时,在最后一个数字之后输入一个新的“*”。此外,每次按下“#”键时,都会重置此计数。无论如何,这个数字被发送到 LCD 对象上的列位置端口。
然后数据序列触发包含“*”的静态字符串块,并将其发送到 LCD 上的字符串端口。
最后,数据序列触发 LCD 上的“Send to Display”端口,实际上使新消息出现在 LCD 上。
我们现在来看看程序的传感器输入部分。
我们有一个初始触发器连接到一个名为“Set Safe”的自定义片段。当应用程序最初启动时,系统被设置为安全位置,因此警报不会立即触发。
这是代码:
1.
globalContext.safe = 1;
初始触发器还触发“输入代码”数据序列。此数据序列触发“输入代码:”的静态字符串并将其发送到 LCD 硬件对象。
现在,我们将看看所有传感器如何用作警报的触发器。
所有三个传感器,门触点、运动传感器和距离传感器,都通向一个 2 秒的超时对象。然后,此超时对象会导致一个名为 Sound Alarm 的自定义代码片段。
此自定义代码段检查 globalContext.safe 变量是设置为 0 还是 1。如果设置为 1,则系统是安全的,并且没有任何反应。但是,如果变量设置为 0,则字符串“Intruder Alert”通过端口“outNode0”发送到“Access G/D Data Sequence”,并通过第二个端口向“Beep Alarm”振荡器对象发送触发器“outNode1”。
然后触发“拉伸脉冲”脉冲拉伸器,进而激活蜂鸣器。
如果我们正在输入代码并试图撤防系统,则采用 4x3 键盘上的“#”键的这条路线。
在 4x3 键盘上“授予访问权限?” 触发自定义片段,如果 globalContext.safe 变量设置为 1,则将字符串“Access Granted”传递给 LCD,并触发“Access G/D”数据序列。
这是“授予访问权限?”的代码。自定义片段:
1.
if(globalContext.safe ===1){
2.
return["Access Granted",new Date()];
3.
}
最后,我们将看看应用程序的 Arm Alarm Countdown 部分。
当按下 4x3 键盘上的“*”键时,会触发“倒计时序列”对象,并触发 20 秒超时。这些同时执行。20 秒超时结束后,系统将在“安全?”上设置为“inNode0”。我们之前讨论的块将被触发。
倒计时序列对象处理出现在 LCD 屏幕上的 20 秒倒计时。首先,清除 LCD,然后将字符串“Alarm Armed:”发送到“字符串合并”对象。
接下来,数字 20 被发送到数据计数器对象上的值端口。然后将该值传递到数据计数器上的“字符串 B”端口。“Alarm Armed:”+“20”的连接字符串然后通过任意数据序列发送到 LCD。
然后触发振荡代码块,计数设置为 20,间隔设置为 1000 毫秒。
然后这会触发数据计数器 20 次,每秒递减一次计数器,直到计数达到 0。每次计数递减时,都会向 String Merge 对象发送一个新值,然后将新合并的字符串传递给“Any Data Sequence”,最终将新字符串“Alarm Armed:”+“(一些新的计数)”到液晶显示器。
最后,已同时运行的超时块完成其超时并触发 LCD 上的“清除”端口和“输入代码:”序列。这使系统处于其布防状态,准备好输入密码以解除其布防。
这就是对应用程序进行编程的过程。保存您的应用程序并返回应用程序页面。
第 4 步:映射应用程序
您现在应该回到应用程序页面。
找到您的“安全系统”应用程序并点击播放按钮。
包含应用程序中所有设备的列表将展开。
接下来单击“运动传感器”设备,客户端下拉菜单将出现在右侧。
从下拉菜单中选择运动传感器驱动程序并点击“完成”。
对其余设备重复相同的步骤。对于此应用程序,每个设备应该只有一个可选驱动程序。
请注意,除了一个状态符号之外的所有状态符号都已更改为绿色复选标记。我们在我们的应用程序中使用了门触点设置,但目前我们没有通过三星 SmartThings 或我们的 Builder Bases 之一设置。因此,您可以将此设备保留为未映射,或者您可以将一个设备与系统配对。
**将固件设备映射到您的应用程序中的对象时,请务必注意,只有相同类型的设备和对象才能映射在一起。例如,使用此应用程序,我们只能选择将带有按钮固件的客户端映射到按钮对象。**
您现在已经完成了应用程序的映射!
第 5 步:运行应用程序!
接下来,点击“保存+运行”
恭喜!您的安全系统现已完成,玩得开心!
- 生成式AI对智能家居的影响 16次下载
- 智能家居安全隐患 智能家居安全性问题的重要性 0次下载
- Lifi安全系统开源设计
- 智能家居控制系统开源
- 家庭报警安全系统开源分享
- 智能家居门开源分享
- 如何借助德州仪器无线连接平台创建强大的智能家居和楼宇安全系统
- 人脸验证解锁的安全系统开源分享
- 智能家居控制系统方案开源资料
- 智能家居开源项目
- 2021年智能家居行业研究报告 77次下载
- 基于ZigBee的智能家居安防系统设计方案 70次下载
- 智能家居的安全问题资料下载
- 如何使用Cubieboard和ZigBee实现智能家居系统设计 7次下载
- SUPCON智能家居系统(中控资料)
- STM32项目分享:智能家居(机智云)系统 450次阅读
- 继电器在智能家居中的应用 587次阅读
- 智能家居系统的开发-基于米尔瑞萨RZ/G2UL开发板 784次阅读
- Python智能家居系统代码介绍 1013次阅读
- 智能家居控制系统原理与应用 2035次阅读
- 基于CW32单片机的智能家居系统设计 657次阅读
- 如何保护智能家居电路 888次阅读
- 一文带你了解智能家居控制系统 2793次阅读
- 电感在智能家居市场的重要性 1279次阅读
- 智能家居中的无线技术解析 2077次阅读
- 智能家居控制系统详解_智能家居控制系统工作原理_智能家居控制系统有哪些 4.4w次阅读
- 基于Android的智能家居终端控制系统 9758次阅读
- 智能家居安全吗_智能家居安全性分析 3087次阅读
- 详解智能家居的控制系统工作原理 1.1w次阅读
- 智能家居的真正意义:连接家庭“点”安全 1061次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多