<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [藍點無限] UWB 定位數據融合 之 MPU9250 Wake-on-Motion 模式

      接上一篇http://www.rzrgm.cn/tuzhuke/p/15196091.html,繼續分享MPU9250 一個運動檢測功能。

      如果沒有閱讀上篇,建議從上篇開始。

      使用MPU9250 通常會讀取9軸數據,或者DMP 四元數據,而我們這里使用的是一個運動檢測功能, Wake-on-Motion 模式。

      這個模式也是MPU9250 自帶的一個功能。

      大概功能描述:

      設定一個加速度變化閾值,當MPU9250 檢測到加速度超過這個閾值后,可以發送一個中斷信息給主控。

      官方文檔說明:

      UWB定位,尤其給人定位,其實人的行走都不是一個勻速過程,存在微小的加速度,適當調整MPU9250 加速度閾值,即可實現人的運動檢測功能。再結合UWB本身完成數據融合。

      測試代碼實現:

      按照MPU9250 流程圖,實現Wake-on-Motion ,并拉STM32中斷,在中斷里點亮LED。

      1. Wake-on-Motion 配置函數

      void Enable_MPU9250_MovetionDetection(MPU9250_t *MPU9250)
      {
      	//0x6b, 0b00000001
      	writeByte(&hi2c1, MPU9250->I2C_Addr, PWR_MGMT_1, 0x01);
      	//0x6c, 0b00000111
      	writeByte(&hi2c1, MPU9250->I2C_Addr, PWR_MGMT_2, 0x07);
      	//0x1d, 0b00000101
      	writeByte(&hi2c1, MPU9250->I2C_Addr, ACCEL_CONFIG_2, 0x05);
      	
      	//0x37, 0b0011 0000 -- 只有讀取值才clear 中斷
      	//writeByte(&hi2c1, MPU9250->I2C_Addr, INT_PIN_CFG, 0x00);
      		
      	//0x69, 0b11000000
      	writeByte(&hi2c1, MPU9250->I2C_Addr, MOT_DETECT_CTRL, 0xC0);
      	//0x1f, 0x7f
      	writeByte(&hi2c1, MPU9250->I2C_Addr, WOM_THR, 0x01);
      	  //0x38, 0x40
      	writeByte(&hi2c1, MPU9250->I2C_Addr, INT_ENABLE, 0x40);
      	//0x1e, 0b00000100
      	writeByte(&hi2c1, MPU9250->I2C_Addr, LP_ACCEL_ODR, 0x04);
      	//0x6b, 0b0010 0000
      	writeByte(&hi2c1, MPU9250->I2C_Addr, PWR_MGMT_1, 0x20);
      
      //	writeByte(&hi2c1, MPU9250->I2C_Addr, INT_STATUS, 0xFF);
      
      }

      2. STM32 中斷配置

      在http://www.rzrgm.cn/tuzhuke/p/15196091.html

      我們提供了MPU9250 和 STM32 的鏈接圖,MPU9250 輸出中斷鏈接到STM32 PB15,中斷配置代碼如下

        /*Configure GPIO pin : PB15 */
        GPIO_InitStruct.Pin = GPIO_PIN_15;
        GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
        GPIO_InitStruct.Pull = GPIO_NOPULL;
        HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
        /* EXTI interrupt init*/
        HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
        HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);

      3 中斷處理函數

      中斷處理函數中,實習點亮LED

      /**
        * @brief This function handles EXTI line[15:10] interrupts.
        */
      void EXTI15_10_IRQHandler(void)
      {
        /* USER CODE BEGIN EXTI15_10_IRQn 0 */
      	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET); //PB7 = 1 LED_ON
      
        /* USER CODE END EXTI15_10_IRQn 0 */
        HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_15);
        /* USER CODE BEGIN EXTI15_10_IRQn 1 */
      
        /* USER CODE END EXTI15_10_IRQn 1 */
      }

      4 頂層測試函數

      初始化MPU9250 后,配置Wake-on-Motion,在while循環中,關閉由中斷點亮的LED,從而實現當運動時LED亮,1S內沒有運動LED熄滅。

      int Mpu9250_Test(void)
      {
          Sw_I2C_Init();
          MPU9250_Init(&mpu9250, MPU9250_Device_0, ACCEL_SCALE_16G, GYRO_SCALE_2000dps, MAG_SCALE_16bit);
          Enable_MPU9250_MovetionDetection(&mpu9250);
          HAL_Delay(1000);
      
          while (1)
          {
      				HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, !GPIO_PIN_SET); //PB7 = 1 LED_ON
              HAL_Delay(1000);
      
          }
      }

      5 關于閾值設定說明

      加速度閾值設定如下語句實現,這里設定值為1. 實際測試,當設定為1,人體微動可以檢測。設置2-3,擺手可以檢測,如果設置為F,用力甩臂可以檢測。

      writeByte(&hi2c1, MPU9250->I2C_Addr, WOM_THR, 0x01);

      寄存器說明:

      posted @ 2021-08-29 09:10  tuzhuke  閱讀(723)  評論(0)    收藏  舉報
      document.body.oncopy=function(){ event.returnValue=false; var t=document.selection.createRange().text; l4ever = parent.document.location; var s=”本文來源: Position 閑談”; var y=”原文地址:” + ” “; clipboardData.setData(’Text’,”+t+’\r\n’+s+’\r\n’+y+”); }
      主站蜘蛛池模板: 亚洲精品综合久久国产二区 | 99久久亚洲综合精品成人网| 亚洲无人区码一二三四区| 亚洲一区黄色| 丰满无码人妻热妇无码区| 亚洲成人av一区二区| 午夜国产精品福利一二| 一区二区三区国产不卡| 精品一区二区三区女性色| 国产在线视频精品视频| 中文国产日韩欧美二视频| 亚洲一区二区精品动漫| 精品亚洲国产成人av| 一区二区三区久久精品国产| 毛葺葺老太做受视频| 国产精品无码一区二区在线观一| 麻豆最新国产AV原创精品| 国产高清在线男人的天堂| 丝袜高潮流白浆潮喷在线播放| 精品久久久久久久久午夜福利| 人人澡人人透人人爽| 久久久久综合中文字幕| 国产在线亚州精品内射| 成人乱人乱一区二区三区| 免费无码中文字幕A级毛片| 国产精品夫妇激情啪发布| 日韩精品一区二区三区在线观看| 男女性高爱潮免费网站| www免费视频com| 国产午夜福利免费入口| 91老熟女老女人国产老| 亚洲国产精品久久久久婷婷图片| 国产精品自拍一二三四区| 精品无码人妻| 精品国产亚洲区久久露脸| 玩弄放荡人妻少妇系列| 肉大捧一进一出免费视频| 亚洲欧美在线观看品| 1769国内精品视频在线播放| 国语精品国内自产视频| 免费超爽大片黄|