网络技术

找论坛
小暖忆_
Lv3 太平洋舰队中士
太平洋舰队中士 贡献343,距离下一级还需7贡献
楼主
2018-10-09 15:19 0 0 只看楼主
电梯直达 
[p=24, null, left]摘要: 1. 概述 手势识别作为一种辅助的人机交互方式,在人机脱离的场景下可以提供方便的交互体验。本文介绍基于AliOS Things + STM32F413H Discovery开发板实现手势交互功能的演示。[/p]1. 概述
手势识别作为一种辅助的人机交互方式,在人机脱离的场景下可以提供方便的交互体验。本文介绍基于AliOS Things + STM32F413H Discovery开发板实现手势交互功能的演示。
2. 环境搭建
开发板:STM32F413H Discovery(附带麦克风阵列板)
手势传感器:Seeed Grove PAJ7620
温湿度传感器:HTS221
LED数码管:Seeed Grove LED Bar
硬件说明:
使用STM32F413H作为主控芯片,提供I2C接口、GPIO控制接口、显示控制接口等。
手势识别传感器和温湿度传感器均为标准I2C接口,连接到STM32F413H的I2C2上,通过slave address区分。
LED数码管的控制引脚连接到STM32F413H上的PC13、PA4两个gpio(PC13作为clock、PA4作为data),通过输出高低电平控制每一个LED的亮灭。
硬件连接:
评论
3. 软件编译
软件:AliOS Things
下载AliOS Things后,切换到developer分支。
执行如下命令编译Application:
aos make sensordemo@stm32f413h-discovery
编译成功后,使用下面命令烧录镜像:
aos upload sensordemo@stm32f413h-discovery
4. 软件介绍

  • AliOS Things
AliOS Things是面向IOT领域的轻量级物联网嵌入式操作系统。AliOS Things启动过程中,依次完成内核初始化、硬件资源初始化、功能组件初始化、外设驱动初始化。系统就绪后,通过用户定义的application_start()函数进入应用程序。

  • 创建显示界面
在application_start()函数中调用display_init()创建LCD刷新任务、显存刷新任务、定义显示界面。
一共添加了3个显示界面:
界面1:显示声音方位。
评论
界面2:显示音量。
评论
界面3:显示温度和湿度
评论

  • 手势识别过程
在传感器驱动初始化函数drv_gesture_paj7620_init()中进行芯片设置和中断注册。当检测到物体距离变化后,触发中断,然后在中断处理函数中读取相关寄存器,得到识别的手势类型。
然后在显存刷新任务fb_refresh_task刷新界面时,根据当前手势类型判断是否需要进行显示界面切换或者控制LED数码管亮灭。

  • 手势功能定义
向上 —— LED Bar逐渐点亮
向下 —— LED Bar逐渐熄灭
向左 —— 显示上一个显示界面
向右 —— 显示下一个显示界面
5. 功能演示
原文链接
本文为云栖社区原创内容,未经允许不得转载。

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

其他登录方式:

常用表情
太平洋电脑网论坛帖子仅代表作者本人意见,不代表网站立场。请勿轻信特价、汇款、中奖等信息,
请勿轻易透露个人资料,因此产生的一切后果,PConline不承担任何责任
回复 发新帖 找论坛 反馈 回顶部