1项目介绍
1.1项目介绍
你是否经历过这样的场景?下班高峰期回小区,门口闸机前堵着长队,保安师傅要挨个核对车牌、手动抬杆;亲戚朋友来做客,没提前登记的车牌只能在门口打电话等确认,既耽误时间又容易堵车。这些小区车辆管理的“小麻烦”,其实用HuskyLens2人工智能摄像头,就能轻松解决。我们打造的这套小区车辆识别系统,就像一位“24小时不偷懒的智能门卫”,能自动认车牌、辨权限,让通行更顺畅。
这个源于小区管理的小项目,还能灵活“变身”,适配更多生活场景:在公司停车场,把员工车牌录入系统,就能替代传统门禁卡,解决“忘带卡进不去停车场”的问题;在小型收费停车场,记录下车辆出入停车场的时间,自动计算停车费和放行车辆,辅助实现无人化管理。
1.2演示视频
2. 项目实现原理
它的核心逻辑如下:先让HuskyLens2摄像头“录入”业主的已登记车牌。把小区业主的车牌提前录入设备,相当于给HuskyLens2一份“通行白名单”;等车辆靠近小区门口时,HuskyLens2会通过摄像头实时捕捉车牌。Arduino对HuskyLens2的识别结果进行数据处理和判断,如果是已登记的业主车牌,连接的舵机带动闸机自动抬起;要是未登记的陌生车牌,舵机会保持不动。

3.软硬件准备
3.1软硬件器材清单

注意:Mind+ 编程软件版本为 v2.0,HuskyLens的版本为HuskyLens2。
3.2硬件连接
请按照下面连接图将电脑、Arduino UNO、HuskyLens2、舵机进行连接。

3.3软件平台准备
官网下载安装Mind+ 2.0及以上版本安装包,安装完成后,双击打开。

4.项目制作
4.1HuskyLens2操作
首先,由于出厂语言默认为英文,我们可以用触屏的方式左右滑动,找到“System Settings”(系统设置)图标,将系统语言设置成自己想要的语言(支持英文,中文简体 和中文繁体)。

点击进入“System Settings”,下滑至底部找到“Language”选项。点击“Language”,进入设置语言界面。

点击自己想要的语言选项。之后,系统会切换语言并自动返回至菜单页面,如下图是切换为中文简体的示意图。

其次,选择HuskyLens2的通信方式。
HuskyLens2 支持 UART(串口)和 I2C 两种通信方式,本教程中使用I2C通信模式。
点击系统设置->协议种类->选择I2C通讯模式后返回主菜单界面。

最后,滑动屏幕,找到“车牌识别”功能。

将Huskylens2对着有车牌的画面,检测到车牌时,屏幕上会用白色方框,框出画面中的所有车牌,并显示车牌信息。

HuskyLens2中的参数配置以及模式选择完成后,请按照下面的步骤进行目标实体数据采集和增量模型训练:
对准要学习的某个车牌,调整Huskylens2的角度,使屏幕中间的“+”字位于白色框内,然后按下Huskylens2右上角A键,学习该车牌。

学习完成后,如识别到已学习的车牌,屏幕将以彩色方框框出该车牌,并显示“name: ID数字编号”,例如“鄂J72172:ID1”,name默认是车牌内容,"ID1"即学习的第一个车牌。

重复上述步骤对所有小区业主的车牌进行学习,即完成了该小区的模型准备工作。
HuskyLens2的更多详细使用方法见下面的网址:
https://wiki.dfrobot.com.cn/_SKU_SEN0638_Gravity_HUSKYLENS_2_AI_Camera_Vision_Sensor
模型准备完成后,即可开始编写代码,实现一个自动车辆识别的小区管家。
4.2代码实现
打开编程软件Mind+,选择“程序设计”中的“上传模式”。

首先,我们需要在Mind+中添加相应的扩展,包括Arduino UNO和HuskyLens2。
进入“扩展”页面并搜索“Arduino UNO”。


点击扩展包上的“下载”按钮,等待下载完成。

点击该扩展包完成加载。

按照加载“Arduino UNO”的步骤加载用户库“Huskylens2 AI摄像头”。

“Arduino UNO”和“Huskylens2 AI摄像头”的用户库加载完毕后,
点击“返回”按钮返回编程界面。

在连接设备中点击“连接”。

连接成功界面如下,点击“×”返回。

扩展库加载完成后,编写程序如下:

核心代码解析如下:

附件中有该项目的完整程序文件,展开项目,点击“打开项目”。

选择附件中的项目,并点击“打开”。

点击“上传到设备”运行程序。

将HuskyLens2选择为“车牌识别”模式。

实现效果如下:

5.附件清单

通过网盘分享的文件链接: https://pan.baidu.com/s/1AKmfNaePEDaeTxSr5zeJKQ?pwd=7hzf
评论