找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 21084|回复: 44
收起左侧

APDS9960红外手势传感器模块的STM32参考例程源码

  [复制链接]
ID:324756 发表于 2018-5-8 09:13 | 显示全部楼层 |阅读模式
好东西和大家分享一下,最近在调这个。

APDS9960红外手势传感器实物图:
IMG_20180505_221055.jpg


单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include <stdbool.h>
  3. #include <stdio.h>


  4. #include "delay.h"
  5. #include "usart.h"
  6. #include "EXTI.h"
  7. #include "LED.h"

  8. #include "APDS_9960.h"



  9. void handleGesture(void);


  10. int isr_flag = 0;




  11. int main(void)
  12. {        
  13.         // Initialize Serial port
  14.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  15.         delay_init();        //延时初始
  16.         LED_Init();        //LED初始化
  17.         EXTIX_Init();//外部中断初始化
  18.         uart_init(9600);//串口初始化
  19.         delay_ms(10);//延时
  20.                  
  21.         SparkFun_APDS9960();//初始化一些变量为0

  22.         printf("SparkFun APDS-9960 - GestureTest\n");
  23.   
  24.         delay_ms(10);
  25.          
  26.         
  27.         //初始化APDS9960  读取器件ID    失能all   对getsure寄存器设置默认值
  28.         
  29.         if(SparkFun_APDS9960_init())
  30.         {
  31.                 printf("APDS-9960 initialization complete\n");
  32.         }
  33.         else  
  34.         {
  35.                 printf("Something went wrong during APDS-9960 init!\n");
  36.         }
  37.   
  38.         delay_ms(10);
  39.         
  40.         // 开始运行 APDS-9960 姿态光感引擎
  41.         if (enableGestureSensor(true) )
  42.         {
  43.                 printf("Gesture sensor is now running\n");
  44.         }
  45.         else
  46.         {
  47.                 printf("Something went wrong during gesture sensor init!\n");
  48.         }
  49.          
  50.         LED0=0;
  51.         delay_ms(10);
  52.         
  53.         
  54.         //手势摆动太频繁会使整个程序处于卡死状态,之后用不了
  55.         //在100mm范围内才可以感应到
  56.         //摇动幅度小、摇动速度慢,(太慢也会出错),准确率会更高
  57.         //端点处加速度要高
  58.         //手尽量以平移的形式,不要摇动
  59.         //用手指挥识别更准
  60.          
  61.         while(1)
  62.         {               
  63.                 if(isr_flag == 1)
  64.                 {
  65.                         handleGesture();//处理手势
  66.                         isr_flag = 0;               
  67.                 }                        
  68.         }
  69. }


  70. void handleGesture()
  71. {

  72.     if(isGestureAvailable()) //判断手势是否是有效的
  73.         {
  74.                 LED1=0;
  75.                 switch ( readGesture() )
  76.                 {        
  77.                         case DIR_UP:
  78.                                 printf("UP\n");
  79.                                 break;
  80.                         case DIR_DOWN:
  81.                                 printf("DOWN\n");
  82.                                 break;
  83.                         case DIR_LEFT:
  84.                                 printf("LEFT\n");
  85.                                 break;
  86.                         case DIR_RIGHT:
  87.                                 printf("RIGHT\n");
  88.                                 break;
  89.                         case DIR_NEAR:
  90.                                 printf("NEAR\n");
  91.                                 break;
  92.                         case DIR_FAR:
  93.                                 printf("FAR\n");
  94.                                 break;
  95.                         default:
  96.                                 printf("NONE\n");
  97. ……………………

  98. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
红外手势识别Keil程序.7z (211.08 KB, 下载次数: 694)

评分

参与人数 2黑币 +55 收起 理由
对点天空 + 5
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:342930 发表于 2018-6-1 15:51 | 显示全部楼层
附件中包含APDS_9960.c文件吗?
回复

使用道具 举报

ID:344053 发表于 2018-6-3 16:09 | 显示全部楼层
来看看
回复

使用道具 举报

ID:352818 发表于 2018-6-17 11:12 | 显示全部楼层
最近也在搞这个手势模块,打算用手势模块做一个电机调速的系统,也就是用手势控制电机调速。学习一下楼主的研究结果。
回复

使用道具 举报

ID:290805 发表于 2018-6-18 19:17 | 显示全部楼层
最近也在搞APDS9960,一直调不通,郁闷
回复

使用道具 举报

ID:54943 发表于 2018-6-24 18:08 | 显示全部楼层
很好用,感谢楼主。
回复

使用道具 举报

ID:279283 发表于 2018-6-26 18:38 | 显示全部楼层
谢谢楼主分享,正在被这9960搞得晕头转向的
回复

使用道具 举报

ID:360596 发表于 2018-6-27 21:22 | 显示全部楼层
楼主可以帮忙发下我邮箱么,下载要积分哈,谢谢!416265933@qq.com 最近正在搞这个
回复

使用道具 举报

ID:95542 发表于 2018-7-23 10:43 | 显示全部楼层
亲测可用使用,谢谢楼主的分享!
回复

使用道具 举报

ID:380261 发表于 2018-8-11 00:24 | 显示全部楼层
准备在stm8上调试
回复

使用道具 举报

ID:167450 发表于 2018-9-3 11:39 | 显示全部楼层
yuancheng116 发表于 2018-7-23 10:43
亲测可用使用,谢谢楼主的分享!

我测试用不了呀
回复

使用道具 举报

ID:402205 发表于 2018-9-25 15:38 | 显示全部楼层
我最近也在弄这个, 还有周立功家的串口的也不错。
回复

使用道具 举报

ID:412461 发表于 2018-10-19 20:34 | 显示全部楼层
您好,能发我邮箱一份吗?我刚注册黑币不够,可以吗?823240662@qq。com
回复

使用道具 举报

ID:389893 发表于 2018-10-28 18:29 | 显示全部楼层
有51的例程么?STM32还不是很懂
回复

使用道具 举报

ID:297148 发表于 2018-11-10 17:17 | 显示全部楼层
很实用的源码,谢谢
回复

使用道具 举报

ID:297148 发表于 2018-11-10 17:19 | 显示全部楼层
最近正在搞一个这样的产品
回复

使用道具 举报

ID:171370 发表于 2018-11-27 15:01 | 显示全部楼层
搞下来试试~~~~~~
回复

使用道具 举报

ID:444257 发表于 2018-12-11 17:31 | 显示全部楼层
来看看
回复

使用道具 举报

ID:450645 发表于 2018-12-20 12:37 | 显示全部楼层
搞下来试试~~~~~~
回复

使用道具 举报

ID:461684 发表于 2019-1-4 12:02 来自手机 | 显示全部楼层
很好 很有实用价值
回复

使用道具 举报

ID:228360 发表于 2019-1-5 19:52 | 显示全部楼层
谢谢楼主的分享!
回复

使用道具 举报

ID:184941 发表于 2019-2-19 22:47 | 显示全部楼层
下载试试看,感谢楼主
回复

使用道具 举报

ID:184941 发表于 2019-2-19 23:02 | 显示全部楼层
感谢楼主,下载来试试
回复

使用道具 举报

ID:500914 发表于 2019-3-29 22:14 | 显示全部楼层

谢谢楼主的分享!
回复

使用道具 举报

ID:503529 发表于 2019-4-12 20:15 | 显示全部楼层
请问有接线图吗?我一直调试不出来...
回复

使用道具 举报

ID:515539 发表于 2019-4-18 15:34 | 显示全部楼层
谢谢分享!新手实验
回复

使用道具 举报

ID:524850 发表于 2019-5-2 17:24 | 显示全部楼层

解决了吗,我也用不了
回复

使用道具 举报

ID:537884 发表于 2019-5-14 21:22 | 显示全部楼层
这个很有用,帮了我很大忙
回复

使用道具 举报

ID:322379 发表于 2020-3-4 15:46 | 显示全部楼层
本帖最后由 2541942034 于 2020-3-4 19:28 编辑

值得借鉴
回复

使用道具 举报

ID:650499 发表于 2020-4-2 15:32 | 显示全部楼层
一脸懵逼,这与stm32是咋接上的啊
回复

使用道具 举报

ID:296803 发表于 2020-4-3 09:11 | 显示全部楼层
学习了,很有用,感谢楼主分享。,调成功我也来展示一下
回复

使用道具 举报

ID:727278 发表于 2020-4-12 00:42 | 显示全部楼层
楼主,可以发一个给我吗?我只一个初学者,想玩一下红外手势的~~谢谢啦~~
回复

使用道具 举报

ID:727278 发表于 2020-4-12 00:44 | 显示全部楼层
还有,红外手势的模块怎么连接stm32的板子呢??
回复

使用道具 举报

ID:555537 发表于 2020-4-24 14:00 | 显示全部楼层
学习一下,感谢分享
回复

使用道具 举报

ID:491511 发表于 2020-11-13 09:40 | 显示全部楼层
项目在用到,帮大忙了,感谢
回复

使用道具 举报

ID:831068 发表于 2021-1-14 11:39 | 显示全部楼层
楼主怎么调节灵敏度的,我的识别效果很低,可以沟通一下吗
回复

使用道具 举报

ID:875880 发表于 2021-1-16 21:59 | 显示全部楼层
程序有很好的借鉴意义,灵敏度 如何 调整 同问
回复

使用道具 举报

ID:831068 发表于 2021-1-20 13:56 | 显示全部楼层
zhouyg 发表于 2021-1-16 21:59
程序有很好的借鉴意义,灵敏度 如何 调整 同问

看了下资料。减少不必要的检测,应该可以提高灵敏度
回复

使用道具 举报

ID:762626 发表于 2021-1-20 15:10 | 显示全部楼层
学习一下,很有借鉴价值
回复

使用道具 举报

ID:605306 发表于 2021-4-9 15:35 | 显示全部楼层
很实用的源码,谢谢
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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