[项目分享]智能门锁 精华

4802浏览
查看: 4802|回复: 5

[项目分享] 智能门锁

[复制链接]
本帖最后由 汤果 于 2020-9-30 12:14 编辑

【项目介绍】

这是一款基于单神经元模块的智能门锁。开锁密码可以通过按钮自行设置,可以设置不同的按键次数及按键时间。如果密码输入正确,门锁会自动打开。该门锁还具有物联网功能,每次开关门锁都会上传至云端,户主可以在网页端、小程序端查看开关门锁记录。

【项目演示】



【单神经元模块】

单神经元模块是 BOSON 系列中的一种功能模块,通过运用该模块,我们可以学习和了解人工智能的基础——机器学习。该功能模块模拟的是神经网络中最基础的一个节点——神经元。 神经元(neuron,neure),是神经系统的基本结构和机能单位。神经元在人体上有接受、整合和传递信息的功能。而我们用到的单神经元模块也是人工智能神经网络中的一个基础节点,与人体神经元类似。

通过单神经元模块的处理,按键按下和松开的时间节奏以及精度都能够得到控制,从而达到机器学习中“训练”和“调整”的目的。 在单神经元模块左侧的输入接口接入传感器,如:按钮开关、光照强度传感器、声音传感器等数字和模拟传感器后,按住单神经元模块上的学习按钮,即可对输入的电信号进行学习,同时学习指示灯点亮。整个学习过程,单神经元模块会记录信号的强度和模式。学习完毕后,松开学习按钮。当单神经元模块输入接口接收到学习过程中的同样的电信号强度和模式时,输出接口的信号线会输出高电平,不同的设备可以利用此电压信号实现想要的功能。匹配的精度可以通过精度调节旋钮进行调节。

智能门锁图3
材料清单

1x 掌控板2.0编程入门学习主控板 含microUSB转TypeC两用线   链接
1x   micro:bit掌控I/O扩展板 链接
1x   数字大按钮模块 黄色 链接
1x   Gravity: 简易继电器模块 链接
1x   12V/1000mA开关电源适配器(Arduino兼容) 链接
1x 12V斜口电磁锁(可长期通电带锁扣)   链接
1x   单神经元模块 链接

步骤1 连接器材

输入部分:按钮-->单神经元模块输入端-->单神经元模块输出端-->扩展板 P0 引脚
输出部分:扩展板 P16 引脚-->简易继电器模块
简易继电器模块:
  • VIN:12V 电源适配器
  • VOUT:12V 斜口电磁锁

智能门锁图2
步骤2 引入扩展

打开 Mind+,切换到上传模式。选择左下角的【扩展】,在【主控板】分类中选择【掌控板】。

智能门锁图4

加载【网络服务】中的【MQTT】与【Wi-Fi】模块。

智能门锁图5
步骤3 编写代码

程序的整体逻辑如下:
1.连接 Wi-Fi,等待直到连接成功
2.发起 MQTT 连接,等待直到成功
3.循环读取引脚 P0,如单神经元模块输出高电平则打开电磁锁,同时发送消息到物联网,告知门锁已打开。5 秒后关闭门锁,并通知物联网平台门锁已关闭。

智能门锁图6

MQTT 初始化参数中需要正确填写信息。这里采用了 EasyIot 平台。

智能门锁图7

https://iot.dfrobot.com.cn/workshop.html 中添加一个新的设备,记录设备的 Topic、左侧的 Iot_id 和 Iot_pwd,依次填入上图空格处。

智能门锁图8
步骤4 设置智能门锁密码

按下单神经元模块中间的学习按键,指示灯亮起,进入学习状态。在 10 秒内以不同的按键速度和按下时间作为智能门锁的密码,完成后松开学习按键,完成学习。下次再以同样的按键方式按键就可以让单神经元模块输出高电平,进而打开电磁锁。
步骤5 设计外观

这一个尺寸合适的纸箱,用螺丝将电磁锁固定在中间,并将其他器材全都塞进盒子里。

智能门锁图9

智能门锁图1

智能门锁图10
步骤6 测试运行

给设备通电,以不同的方式按键,测试是否能将门锁打开。同时物联网平台能够查看门锁开关记录。手机端 EasyIot 小程序也可以查看。

智能门锁图11
代码

[mw_shl_code=c,false]/*!
* MindPlus
* mpython
*
*/
#include <DFRobot_Iot.h>
// 静态常量
const String topics[5] = {"EXQEfFFGg","","","",""};
// 创建对象
DFRobot_Iot myIot;


// 主程序开始
void setup() {
        myIot.wifiConnect("wifi_ssid", "password");
        // 连接Wifi
        while (!myIot.wifiStatus()) {yield();}
        myIot.init("iot.dfrobot.com.cn","Hy-5X7JzZE","","rkfcQmJf-V",topics,1883);
        myIot.connect();
        // 连接EasyIot
        while (!myIot.connected()) {yield();}
}
void loop() {
        if ((digitalRead(P0))) {
                myIot.publish(topic_0, "open");
                digitalWrite(P16, HIGH);
                delay(5000);
                myIot.publish(topic_0, "close");
        }
        else {
                digitalWrite(P16, LOW);
        }
}[/mw_shl_code]
附件

rzyzzxw  版主

发表于 2020-9-30 17:43:27

赞一赞,这个门锁真的好
回复

使用道具 举报

hnyzcj  版主

发表于 2020-9-30 20:06:56

**门
回复

使用道具 举报

hnyzcj  版主

发表于 2020-9-30 20:08:02

这种继电器感觉很方便
回复

使用道具 举报

hnyzcj  版主

发表于 2020-9-30 20:08:30

汤老师的工作台感觉很整洁哦。
回复

使用道具 举报

汤果  初级技神
 楼主|

发表于 2020-9-30 20:41:03

hnyzcj 发表于 2020-9-30 20:08
汤老师的工作台感觉很整洁哦。

就是一张梯形的桌子。我的工作台上东西都乱放的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail