LPC55xx+PAJ7620手势传感器实现USB PPT翻页器
我们这个demo用的是LPC55S69-IOT Kit以及淘宝买的PAJ7620模块,用的是I2C接口,没有用到中断引脚,程序走的是轮询的方式获取手势数据的。
具体接线方法如下图:
这一部分参考我提供的B站视频。
这里我们用的是GPIO的例程作为工程的原始模板,后边用配置工具一步步的增加功能。
新手用户,记得把下载好的SDK代码包拖拽到MCUXpresso IDE的“Installed SDKs”下。
USB组件可以通过配置工具轻松简单的配置USB相关的信息,比如Class,VID,PID等等。也可以轻松实现复合类。
根据不同的手势结果(代码里的变量gPAJ7620代表了手势的结果)在usb_device_interface_0_hid_keyboard.c中的USB_DeviceHidKeyboardAction()通过USB_DeviceHidSend()发送给PC即可。
具体接线方法如下图:
<ignore_js_op>![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259ud1esbisipbikz99.png)
PAJ7620的驱动程序参考(git clone)的是SeedStudio公布在github上的代码,license是MIT的。![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259ud1esbisipbikz99.png)
<ignore_js_op>![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259rpw2ei62rxnr6gxm.png)
![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259rpw2ei62rxnr6gxm.png)
基于MCUXpresso工具链
快速生成参考工程模板
这一部分参考我提供的B站视频。
这里我们用的是GPIO的例程作为工程的原始模板,后边用配置工具一步步的增加功能。
新手用户,记得把下载好的SDK代码包拖拽到MCUXpresso IDE的“Installed SDKs”下。
<ignore_js_op>![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259men49ny121wwfbn3.png)
![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259men49ny121wwfbn3.png)
通过MCUXpresso IDE集成的
配置工具增加外设驱动
新建好工程后,我们可以通过MCUXpresso IDE右上脚的配置工具按钮,进入集成的Config Tool界面,<ignore_js_op>![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259pkvmkvzb1bzl8i8y.png)
在外设界面下增加需要的外设驱动,点击“确认”后,工程会自动添加对应的“fsl_xxx.c”和“fsl_xxx.h”,记得一点,如果要增加外设驱动,需要“使能”外设的功能。注意要在“组件管理器”中选择“Drivers”。![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259pkvmkvzb1bzl8i8y.png)
<ignore_js_op>![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259rr2mr6r90sy8tq84.png)
![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259rr2mr6r90sy8tq84.png)
通过MCUXpresso IDE集成的
配置工具增加USB组件
USB外设在配置工具里是以Middleware的形式出现的,所以咱们要在“组件管理器”中选择“Middleware”了,在Middleware下选择USB,然后根据需要去掉不需要的USB类以及选择主从机等。<ignore_js_op>![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259gaphh60k66dq0o6i.png)
在Middleware中添加了USB组件后,会有一些系统级的配置问题,按照右下角提示的内容修改时钟、引脚的配置,也可能需要右键点击问题然后让配置工具自动添加代码修复问题。![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259gaphh60k66dq0o6i.png)
USB组件可以通过配置工具轻松简单的配置USB相关的信息,比如Class,VID,PID等等。也可以轻松实现复合类。
<ignore_js_op>![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259osnz8zs101mk7mn7.png)
![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259osnz8zs101mk7mn7.png)
USB HID键盘配合
PAJ7620的手势实现翻页
工程配置好后,我们需要把app_paj7620.c / app_paj7620.h添加到source目录里(直接拖拽进去即可)。然后在main.c的初始化部分调用paj7620_Init(),在while(1)中调用paj7620_task()即可实现PAJ7620手势识别的功能<ignore_js_op>![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259gx1fi4rixdj2oj33.png)
![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141259gx1fi4rixdj2oj33.png)
根据不同的手势结果(代码里的变量gPAJ7620代表了手势的结果)在usb_device_interface_0_hid_keyboard.c中的USB_DeviceHidKeyboardAction()通过USB_DeviceHidSend()发送给PC即可。
<ignore_js_op>![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141300lpg0i0fmpimfln33.png)
![](https://www.nxpic.org.cn/module/forum/data/attachment/forum/202111/11/141300lpg0i0fmpimfln33.png)
小结
这篇文章的主要内容是介绍如何用NXP的官方生态快速搭建USB相关的工程模板,结合PAJ7620倒是其次,希望视频和文章都能很好的帮到大家。我觉得刚上手可能要个把小时,熟悉后基本30分钟内就可以搭出来了。