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

查看: 529|回复: 5

[项目分享] 智能门锁

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

【项目介绍】

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

【项目演示】



【单神经元模块】

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

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

400px-单神经元模块.png
材料清单

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 斜口电磁锁

IMG_20200929_194541.jpg
步骤2 引入扩展

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

Snipaste_2020-09-30_06-45-37.png

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

Snipaste_2020-09-30_06-45-58.png
步骤3 编写代码

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

screenshots-智能门锁-1601419505971.png

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

Snipaste_2020-09-30_06-44-54.png

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

Snipaste_2020-09-30_08-32-38.png
步骤4 设置智能门锁密码

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

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

IMG_20200929_200408.jpg

IMG_20200929_200707.jpg

IMG_20200929_200627.jpg
步骤6 测试运行

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

Snipaste_2020-09-30_06-33-37.png
代码

[C] 纯文本查看 复制代码
/*!
 * 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);
        }
}

附件

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-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail