图形化编程——AI智能管家
2020.02.10 06:31浏览量:2120简介:本文是基于mind+图形化编程制作的青少年科普项目,通过图像识别功能可以进行人脸识别、人脸对比、常用物体识别、文字识别、车牌识别、手势识别、人体关键点识别等功能。通过语音识别实现智能控功能。
本文是基于mind+图形化编程制作的青少年科普项目,使用了MIND+里的“AI图像识别功能”。通过图像识别功能,可以进行人脸识别、人脸对比、常用物体识别、文字识别、车牌识别、手势识别、人体关键点识别等功能。结合之前的语音识别功能,制作的一个AI管家。初步设想了以下几个功能:首先在大门口,提醒用户进行人脸识别开门,人脸验证成功后,提醒用户测量体温,体温低于37.2℃则可以进入屋内,进屋后,可以语音控制管家进行一些基础电路的控制,比如冰箱门的控制、各个房间灯光的控制、大门的控制等。
材料清单
电路连接
1.红外温度传感器=====》Arduino # I2C
2.人体红外传感器=====》Arduino # 5
3.LED4=============》Arduino # 6
4.Arduino # 2=========》掌控板 P15
5.Arduino # 3=========》掌控板 P14
6.Arduino # 7=========》掌控板 P16
7.LED1==============》掌控板 P8
8.LED2==============》掌控板 P9
9.LED3==============》掌控板 P13
10.舵机1=============》Arduino # 11
11.舵机2=============》Arduino # 10
程序设计
- 加载AI图像识别模块:
1.切换到实时模式
2.打开扩展
3.切换到“网络服务”,加载“AI图像识别”,之后“返回”主界面 AI图像识别功能调用的百度AI服务,因此需要使用百度AI的账户。这里建议自己建立一个独立账户。这里刷脸开门的功能实通过图片比较功能来实现。图片比较可以使用摄像头画面截取图像和本地图片文件进行对比。这两者对比后会产生一个百分比的值。我们可以通过设定一个变量来存储这个值,然后在程序里面根据这个值做出不同的策略。
该程序主要使用了一个角色和四个背景,首先开始角色在第一个场景中的任务:图像对比识别控制开门。当角色移动至门前的时候,语音提示进行人脸识别。这里设了一个flag的变量,防止角色在还没有移动到门前或者在别的场景的时候,按空格键也会出现人脸识别。识别正确后,进入第二个场景。所以室内场景的互动都为语音交互。这里增加了一个“出门锁”的变量,防止角色在第一个场景的时候,按下a键语音识别后,角色会进入到别的场景。
步骤3:红外测量体温功能传感器工作原理:
这里测量体温功能主要通过MLX90614红外测温传感器来实现,MLX90614红外测温模块,通过探测物体红外辐射能量的大小和波长的分布来检测物体的表面温度。红外测温器由光学系统、光电探测器、信号放大器和信号处理及输出等部分组成。光学系统汇聚其视场内的目标红外辐射能量,视场的大小由测温仪的光学零件及其位置确定。红外能量聚焦在光电探测器上并转变为相应的电信号。该信号经过放大器和信号处理电路,并按照仪器内的算法和目标发射率校正后转变为被测目标的温度值。
产品参数:
型号:MLX90614-BCC
工作电压:3.3V-5V
工作电流:1.2mA
温度范围:-70.01℃至+382.19℃,分辨率0.01℃
接口类型:IIC 接口线序:VCC,GND,SCL,SDA
尺寸:31.5mm×18mm
这里虽然说它的工作电压是3.3——5V,但是我在掌控板上直接使用发现并不能工作,供电还是需要5V。所以我就使用了arduinoUNO来进行控制,当红外温度传感器测得值大于37.2℃的时候,Arduino输出一个高电平给掌控板。
这时候,掌控板在人脸识别完成后会等待Arduino的信号,来判断是够控制舵机将大门打开。
步骤4:语音控制语音控制外设工作,主要是根据上面的程序来进行修改,在每一个语音标签下面,增加硬件的控制就可以了。视频演示
发表评论
登录后可评论,请前往 登录 或 注册