标题: APDS9960红外手势传感器模块的STM32参考例程源码 [打印本页]

作者: a586351    时间: 2018-5-8 09:13
标题: APDS9960红外手势传感器模块的STM32参考例程源码
好东西和大家分享一下,最近在调这个。

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



单片机源程序如下:
  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)



作者: ShineX    时间: 2018-6-1 15:51
附件中包含APDS_9960.c文件吗?
作者: miaomi_love    时间: 2018-6-3 16:09
来看看
作者: AlterLong    时间: 2018-6-17 11:12
最近也在搞这个手势模块,打算用手势模块做一个电机调速的系统,也就是用手势控制电机调速。学习一下楼主的研究结果。
作者: zhchxgh    时间: 2018-6-18 19:17
最近也在搞APDS9960,一直调不通,郁闷
作者: sbiyou    时间: 2018-6-24 18:08
很好用,感谢楼主。
作者: q321225395    时间: 2018-6-26 18:38
谢谢楼主分享,正在被这9960搞得晕头转向的
作者: qianxinhanke    时间: 2018-6-27 21:22
楼主可以帮忙发下我邮箱么,下载要积分哈,谢谢!416265933@qq.com 最近正在搞这个
作者: yuancheng116    时间: 2018-7-23 10:43
亲测可用使用,谢谢楼主的分享!
作者: Hellic    时间: 2018-8-11 00:24
准备在stm8上调试
作者: sushaowen    时间: 2018-9-3 11:39
yuancheng116 发表于 2018-7-23 10:43
亲测可用使用,谢谢楼主的分享!

我测试用不了呀
作者: chegemuwu    时间: 2018-9-25 15:38
我最近也在弄这个, 还有周立功家的串口的也不错。
作者: 我很菜    时间: 2018-10-19 20:34
您好,能发我邮箱一份吗?我刚注册黑币不够,可以吗?823240662@qq。com
作者: 小汐安颜    时间: 2018-10-28 18:29
有51的例程么?STM32还不是很懂
作者: higoled    时间: 2018-11-10 17:17
很实用的源码,谢谢
作者: higoled    时间: 2018-11-10 17:19
最近正在搞一个这样的产品
作者: lifeng5478    时间: 2018-11-27 15:01
搞下来试试~~~~~~
作者: 1137643367@qq    时间: 2018-12-11 17:31
来看看
作者: Shoulder123    时间: 2018-12-20 12:37
搞下来试试~~~~~~
作者: chenhaodi    时间: 2019-1-4 12:02
很好 很有实用价值
作者: tarchen    时间: 2019-1-5 19:52
谢谢楼主的分享!
作者: hithdlj    时间: 2019-2-19 22:47
下载试试看,感谢楼主
作者: hithdlj    时间: 2019-2-19 23:02
感谢楼主,下载来试试
作者: yinglung174    时间: 2019-3-29 22:14

谢谢楼主的分享!
作者: 黄思远    时间: 2019-4-12 20:15
请问有接线图吗?我一直调试不出来...
作者: z9494941    时间: 2019-4-18 15:34
谢谢分享!新手实验
作者: wa51hdz    时间: 2019-5-2 17:24
sushaowen 发表于 2018-9-3 11:39
我测试用不了呀

解决了吗,我也用不了

作者: 我喜欢大白    时间: 2019-5-14 21:22
这个很有用,帮了我很大忙
作者: 2541942034    时间: 2020-3-4 15:46
本帖最后由 2541942034 于 2020-3-4 19:28 编辑

值得借鉴
作者: qqy_quqingyao    时间: 2020-4-2 15:32
一脸懵逼,这与stm32是咋接上的啊
作者: mango_lin    时间: 2020-4-3 09:11
学习了,很有用,感谢楼主分享。,调成功我也来展示一下
作者: gao110510469    时间: 2020-4-12 00:42
楼主,可以发一个给我吗?我只一个初学者,想玩一下红外手势的~~谢谢啦~~
作者: gao110510469    时间: 2020-4-12 00:44
还有,红外手势的模块怎么连接stm32的板子呢??
作者: 天使老掉毛007    时间: 2020-4-24 14:00
学习一下,感谢分享
作者: pig141    时间: 2020-11-13 09:40
项目在用到,帮大忙了,感谢
作者: chaoge131    时间: 2021-1-14 11:39
楼主怎么调节灵敏度的,我的识别效果很低,可以沟通一下吗
作者: zhouyg    时间: 2021-1-16 21:59
程序有很好的借鉴意义,灵敏度 如何 调整 同问
作者: chaoge131    时间: 2021-1-20 13:56
zhouyg 发表于 2021-1-16 21:59
程序有很好的借鉴意义,灵敏度 如何 调整 同问

看了下资料。减少不必要的检测,应该可以提高灵敏度
作者: bukebuchiyi    时间: 2021-1-20 15:10
学习一下,很有借鉴价值
作者: 克k7opi    时间: 2021-4-9 15:35
很实用的源码,谢谢
作者: kakafu    时间: 2021-4-16 13:31
高级,这个例程能用吗
作者: maxer555    时间: 2022-10-26 14:25
这个程序能直接用吗?
作者: heicad    时间: 2022-10-26 17:31
maxer555 发表于 2022-10-26 14:25
这个程序能直接用吗?

不能,要根据你自己电路来修改
作者: Longan.Wang    时间: 2022-11-30 17:14
准备入手这个,先关注到起!!!
作者: mjkami    时间: 2023-11-29 20:05
很实用的源码,谢谢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1