请选择 进入手机版 | 继续访问电脑版
查看: 1052|回复: 0

[分享] LPC55xx+PAJ7620手势传感器实现USB PPT翻页器【附教程视频】

[复制链接]
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3297

    主题

    6542

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    31909
    最后登录
    2024-3-29
    发表于 2021-11-11 14:21:58 | 显示全部楼层 |阅读模式
    LPC55xx+PAJ7620手势传感器实现USB PPT翻页器【附教程视频】
    文章来自:mgn
    本文的内容和视频的起意,是因为B站好(粉)汉(丝)中的一位后台留言说,他想要APDS9960实现PPT翻页器的教程,如下图⬇️。你看人家哥特萝莉的头像,而且作为一个无BGM无字幕无后期的三无B站小户,自然不能漠视,所以就有了这个教程视频以及文章。
    14.png
    后来整理好后,感觉其实这个教程挺好的,可以非常高效的展示如何利用NXP的SDK包,MCUXpressoIDE以及配置工具Config Tool搭建一个基于USB接口的工程,遂结合视频写下这篇文章做个心得记录。


    这是教程视频:
    开发工具搭建

    我之前在B站上传了两个视频,专门介绍SDK,IDE以及配置工具:


    一个是如何上手NXP家MCU的SDK代码包和IDE
    另外一个是用MCUXpresso Config Tool配置工具快速生成KEIL和IAR的工程模板
    当然这篇文章在这里主要是提示各位看官,要去下载最新的SDK(2.10), 最新的MCUXpresso IDE(11.4.0) 以及最新的Config Tool(v10),不知道HTTP门牌号的请记住这里mcuxpresso.nxp.com。
    版本同步好后,我们就可以利用NXP的生态链,在不到30分钟的时间内搭建一个基于USB接口的工程。

    硬件搭建

    我们这个demo用的是LPC55S69-IOT Kit以及淘宝买的PAJ7620模块,用的是I2C接口,没有用到中断引脚,程序走的是轮询的方式获取手势数据的。


    具体接线方法如下图:
    15.png
    PAJ7620的驱动程序参考(git clone)的是SeedStudio公布在github上的代码,license是MIT的。
    16.png

    基于MCUXpresso工具链
    快速生成参考工程模板

    这一部分参考我提供的B站视频
    这里我们用的是GPIO的例程作为工程的原始模板,后边用配置工具一步步的增加功能。
    新手用户,记得把下载好的SDK代码包拖拽到MCUXpresso IDE的“Installed SDKs”下。
    17.png
    通过MCUXpresso IDE集成的
    配置工具增加外设驱动
    新建好工程后,我们可以通过MCUXpresso IDE右上脚的配置工具按钮,进入集成的Config Tool界面,
    18.png
    在外设界面下增加需要的外设驱动,点击“确认”后,工程会自动添加对应的“fsl_xxx.c”和“fsl_xxx.h”,记得一点,如果要增加外设驱动,需要“使能”外设的功能。注意要在“组件管理器”中选择“Drivers”。
    19.png
    通过MCUXpresso IDE集成的
    配置工具增加USB组件
    USB外设在配置工具里是以Middleware的形式出现的,所以咱们要在“组件管理器”中选择“Middleware”了,在Middleware下选择USB,然后根据需要去掉不需要的USB类以及选择主从机等。
    20.png
    在Middleware中添加了USB组件后,会有一些系统级的配置问题,按照右下角提示的内容修改时钟、引脚的配置,也可能需要右键点击问题然后让配置工具自动添加代码修复问题。


    USB组件可以通过配置工具轻松简单的配置USB相关的信息,比如Class,VID,PID等等。也可以轻松实现复合类。
    21.png
    USB HID键盘配合
    PAJ7620的手势实现翻页
    工程配置好后,我们需要把app_paj7620.c / app_paj7620.h添加到source目录里(直接拖拽进去即可)。然后在main.c的初始化部分调用paj7620_Init(),在while(1)中调用paj7620_task()即可实现PAJ7620手势识别的功能
    22.png


    根据不同的手势结果(代码里的变量gPAJ7620代表了手势的结果)在usb_device_interface_0_hid_keyboard.c中的USB_DeviceHidKeyboardAction()通过USB_DeviceHidSend()发送给PC即可。
    23.png
    小结
    这篇文章的主要内容是介绍如何用NXP的官方生态快速搭建USB相关的工程模板,结合PAJ7620倒是其次,希望视频和文章都能很好的帮到大家。我觉得刚上手可能要个把小时,熟悉后基本30分钟内就可以搭出来了。

    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-3-29 18:36 , Processed in 0.111728 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表