標(biāo)題: APDS9960紅外手勢(shì)傳感器模塊的STM32參考例程源碼 [打印本頁(yè)]

作者: a586351    時(shí)間: 2018-5-8 09:13
標(biāo)題: APDS9960紅外手勢(shì)傳感器模塊的STM32參考例程源碼
好東西和大家分享一下,最近在調(diào)這個(gè)。

APDS9960紅外手勢(shì)傳感器實(shí)物圖:



單片機(jī)源程序如下:
  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);         //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  15.         delay_init();        //延時(shí)初始
  16.         LED_Init();        //LED初始化
  17.         EXTIX_Init();//外部中斷初始化
  18.         uart_init(9600);//串口初始化
  19.         delay_ms(10);//延時(shí)
  20.                  
  21.         SparkFun_APDS9960();//初始化一些變量為0

  22.         printf("SparkFun APDS-9960 - GestureTest\n");
  23.   
  24.         delay_ms(10);
  25.          
  26.         
  27.         //初始化APDS9960  讀取器件ID    失能all   對(duì)getsure寄存器設(shè)置默認(rèn)值
  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.         // 開(kāi)始運(yùn)行 APDS-9960 姿態(tài)光感引擎
  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.         //手勢(shì)擺動(dòng)太頻繁會(huì)使整個(gè)程序處于卡死狀態(tài),之后用不了
  55.         //在100mm范圍內(nèi)才可以感應(yīng)到
  56.         //搖動(dòng)幅度小、搖動(dòng)速度慢,(太慢也會(huì)出錯(cuò)),準(zhǔn)確率會(huì)更高
  57.         //端點(diǎn)處加速度要高
  58.         //手盡量以平移的形式,不要搖動(dòng)
  59.         //用手指揮識(shí)別更準(zhǔn)
  60.          
  61.         while(1)
  62.         {               
  63.                 if(isr_flag == 1)
  64.                 {
  65.                         handleGesture();//處理手勢(shì)
  66.                         isr_flag = 0;               
  67.                 }                        
  68.         }
  69. }


  70. void handleGesture()
  71. {

  72.     if(isGestureAvailable()) //判斷手勢(shì)是否是有效的
  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. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
紅外手勢(shì)識(shí)別Keil程序.7z (211.08 KB, 下載次數(shù): 694)



作者: ShineX    時(shí)間: 2018-6-1 15:51
附件中包含APDS_9960.c文件嗎?
作者: miaomi_love    時(shí)間: 2018-6-3 16:09
來(lái)看看
作者: AlterLong    時(shí)間: 2018-6-17 11:12
最近也在搞這個(gè)手勢(shì)模塊,打算用手勢(shì)模塊做一個(gè)電機(jī)調(diào)速的系統(tǒng),也就是用手勢(shì)控制電機(jī)調(diào)速。學(xué)習(xí)一下樓主的研究結(jié)果。
作者: zhchxgh    時(shí)間: 2018-6-18 19:17
最近也在搞APDS9960,一直調(diào)不通,郁悶
作者: sbiyou    時(shí)間: 2018-6-24 18:08
很好用,感謝樓主。
作者: q321225395    時(shí)間: 2018-6-26 18:38
謝謝樓主分享,正在被這9960搞得暈頭轉(zhuǎn)向的
作者: qianxinhanke    時(shí)間: 2018-6-27 21:22
樓主可以幫忙發(fā)下我郵箱么,下載要積分哈,謝謝!416265933@qq.com 最近正在搞這個(gè)
作者: yuancheng116    時(shí)間: 2018-7-23 10:43
親測(cè)可用使用,謝謝樓主的分享!
作者: Hellic    時(shí)間: 2018-8-11 00:24
準(zhǔn)備在stm8上調(diào)試
作者: sushaowen    時(shí)間: 2018-9-3 11:39
yuancheng116 發(fā)表于 2018-7-23 10:43
親測(cè)可用使用,謝謝樓主的分享!

我測(cè)試用不了呀
作者: chegemuwu    時(shí)間: 2018-9-25 15:38
我最近也在弄這個(gè), 還有周立功家的串口的也不錯(cuò)。
作者: 我很菜    時(shí)間: 2018-10-19 20:34
您好,能發(fā)我郵箱一份嗎?我剛注冊(cè)黑幣不夠,可以嗎?823240662@qq。com
作者: 小汐安顏    時(shí)間: 2018-10-28 18:29
有51的例程么?STM32還不是很懂
作者: higoled    時(shí)間: 2018-11-10 17:17
很實(shí)用的源碼,謝謝
作者: higoled    時(shí)間: 2018-11-10 17:19
最近正在搞一個(gè)這樣的產(chǎn)品
作者: lifeng5478    時(shí)間: 2018-11-27 15:01
搞下來(lái)試試~~~~~~
作者: 1137643367@qq    時(shí)間: 2018-12-11 17:31
來(lái)看看
作者: Shoulder123    時(shí)間: 2018-12-20 12:37
搞下來(lái)試試~~~~~~
作者: chenhaodi    時(shí)間: 2019-1-4 12:02
很好 很有實(shí)用價(jià)值
作者: tarchen    時(shí)間: 2019-1-5 19:52
謝謝樓主的分享!
作者: hithdlj    時(shí)間: 2019-2-19 22:47
下載試試看,感謝樓主
作者: hithdlj    時(shí)間: 2019-2-19 23:02
感謝樓主,下載來(lái)試試
作者: yinglung174    時(shí)間: 2019-3-29 22:14

謝謝樓主的分享!
作者: 黃思遠(yuǎn)    時(shí)間: 2019-4-12 20:15
請(qǐng)問(wèn)有接線圖嗎?我一直調(diào)試不出來(lái)...
作者: z9494941    時(shí)間: 2019-4-18 15:34
謝謝分享!新手實(shí)驗(yàn)
作者: wa51hdz    時(shí)間: 2019-5-2 17:24
sushaowen 發(fā)表于 2018-9-3 11:39
我測(cè)試用不了呀

解決了嗎,我也用不了

作者: 我喜歡大白    時(shí)間: 2019-5-14 21:22
這個(gè)很有用,幫了我很大忙
作者: 2541942034    時(shí)間: 2020-3-4 15:46
本帖最后由 2541942034 于 2020-3-4 19:28 編輯

值得借鑒
作者: qqy_quqingyao    時(shí)間: 2020-4-2 15:32
一臉懵逼,這與stm32是咋接上的啊
作者: mango_lin    時(shí)間: 2020-4-3 09:11
學(xué)習(xí)了,很有用,感謝樓主分享。,調(diào)成功我也來(lái)展示一下
作者: gao110510469    時(shí)間: 2020-4-12 00:42
樓主,可以發(fā)一個(gè)給我嗎?我只一個(gè)初學(xué)者,想玩一下紅外手勢(shì)的~~謝謝啦~~
作者: gao110510469    時(shí)間: 2020-4-12 00:44
還有,紅外手勢(shì)的模塊怎么連接stm32的板子呢??
作者: 天使老掉毛007    時(shí)間: 2020-4-24 14:00
學(xué)習(xí)一下,感謝分享
作者: pig141    時(shí)間: 2020-11-13 09:40
項(xiàng)目在用到,幫大忙了,感謝
作者: chaoge131    時(shí)間: 2021-1-14 11:39
樓主怎么調(diào)節(jié)靈敏度的,我的識(shí)別效果很低,可以溝通一下嗎
作者: zhouyg    時(shí)間: 2021-1-16 21:59
程序有很好的借鑒意義,靈敏度 如何 調(diào)整 同問(wèn)
作者: chaoge131    時(shí)間: 2021-1-20 13:56
zhouyg 發(fā)表于 2021-1-16 21:59
程序有很好的借鑒意義,靈敏度 如何 調(diào)整 同問(wèn)

看了下資料。減少不必要的檢測(cè),應(yīng)該可以提高靈敏度
作者: bukebuchiyi    時(shí)間: 2021-1-20 15:10
學(xué)習(xí)一下,很有借鑒價(jià)值
作者: 克k7opi    時(shí)間: 2021-4-9 15:35
很實(shí)用的源碼,謝謝
作者: kakafu    時(shí)間: 2021-4-16 13:31
高級(jí),這個(gè)例程能用嗎
作者: maxer555    時(shí)間: 2022-10-26 14:25
這個(gè)程序能直接用嗎?
作者: heicad    時(shí)間: 2022-10-26 17:31
maxer555 發(fā)表于 2022-10-26 14:25
這個(gè)程序能直接用嗎?

不能,要根據(jù)你自己電路來(lái)修改
作者: Longan.Wang    時(shí)間: 2022-11-30 17:14
準(zhǔn)備入手這個(gè),先關(guān)注到起!!
作者: mjkami    時(shí)間: 2023-11-29 20:05
很實(shí)用的源碼,謝謝




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1