精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LSM6DSV16X基于MLC智能筆動作識別(4)----中斷獲取智能筆狀態

嵌入式單片機MCU開發 ? 來源:嵌入式單片機MCU開發 ? 作者:嵌入式單片機MCU開 ? 2024-11-25 11:39 ? 次閱讀

概述

LSM6DSV16X 支持通過中斷(INT)輸出 MLC(機器學習核)識別的動作。具體來說,MLC 可以配置為在滿足某些條件或機器學習分類結果發生變化時生成中斷信號。 LSM6DSV16X 的機器學習核可以配置為在分類結果發生變化時生成中斷,并且該中斷信號可以路由到中斷引腳(如 INT1 或 INT2)。系統可以在檢測到動作時做出響應,而不需要持續輪詢傳感器,從而優化功耗和效率。

最近在弄ST的課程,需要樣片的可以加群申請:615061293 。

視頻教學

[https://www.bilibili.com/video/BV1Kb4FeME9R/]

樣品申請

[https://www.wjx.top/vm/OhcKxJk.aspx#]

源碼下載

[https://download.csdn.net/download/qq_24312945/89843520]

硬件準備

首先需要準備一個開發板,這里我準備的是自己繪制的開發板,需要的可以進行申請。

主控為STM32H503CB,陀螺儀為LSM6DSV16X,磁力計為LIS2MDL。

開啟INT中斷

陀螺儀LSM6DSV16X的中斷管腳接到了PA6,需要將PA6設置為中端口。

開啟中斷。

參考驅動程序

[https://github.com/STMicroelectronics/lsm6dsv16x-pid/tree/main]

配置中斷

MD1_CFG (5Eh) 寄存器用于將各種事件路由到 INT1 引腳。每個位代表不同的功能,通過設置這些位,你可以選擇將哪些傳感器事件輸出到 INT1 引腳。下表詳細描述了每個位的功能:
INT1_EMB_FUNC (bit 1):
● 用于將嵌入式功能事件(如機器學習或狀態機的輸出)路由到 INT1。

mian.c中定義變量。

/* USER CODE BEGIN 0 */
uint8_t mlc_flag = 0;
/* USER CODE END 0 */

mian.c中開啟中斷。

// Enable interrupt for MLC on INT1 pin
  lsm6dsv16x_pin_int_route_t pin_int;
    lsm6dsv16x_pin_int1_route_get(&dev_ctx, &pin_int);
  pin_int.emb_func = PROPERTY_ENABLE;
  lsm6dsv16x_pin_int1_route_set(&dev_ctx, &pin_int);

在stm32h5xx_it.c中添加回調函數引用。

/* USER CODE BEGIN 0 */
extern void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);


/* USER CODE END 0 */
處理PB0外部中斷線0(EXTI Line0)的中斷。  

/**
  * @brief This function handles EXTI Line0 interrupt.
  */
void EXTI0_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI0_IRQn 0 */
    HAL_GPIO_EXTI_Callback(INT1_Pin);
  /* USER CODE END EXTI0_IRQn 0 */
  HAL_GPIO_EXTI_IRQHandler(INT1_Pin);
  /* USER CODE BEGIN EXTI0_IRQn 1 */

  /* USER CODE END EXTI0_IRQn 1 */
}

在main.c中添加回調函數的定義,檢查中斷是否由 GPIO_PIN_0引腳觸發。

/* USER CODE BEGIN 4 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){
    if(GPIO_Pin == GPIO_PIN_0)
    {
        mlc_flag=1;
        }    
}
/* USER CODE END 4 */

主程序

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    if(mlc_flag==1)
    {
        mlc_flag=0;
        lsm6dsv16x_mlc_handler();        
        if (event_catched != 0) 
        {

            printf("event_catched=%d",event_catched);
             // 握(0) 拍(1) 揮(2) 拍(3) 靜(4) 止(5)
            switch(event_catched) 
            {
                    case 2:
                        event_catched = 0;

                        printf("閑置(Idle)rn");
                        break;
                    case 4:
                        event_catched = 0;

                        printf("書寫(Writing)rn");
                        break;
                    case 8:
                        event_catched = 0;

                        printf("其他(other)rn");
                        break;
                    case 12:
                        event_catched = 0;

                        printf("靜止(Steady)rn");
                        break;                    
                    default:break;
            }
            event_catched = 0;
        }        
    }    
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

演示

靜止狀態如下。

閑置狀態如下,手抓筆靜止。

書寫狀態如下,移動筆進行識別判定。

其他如下,筆倒置。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MLC
    MLC
    +關注

    關注

    0

    文章

    41

    瀏覽量

    17288
  • 智能筆
    +關注

    關注

    1

    文章

    15

    瀏覽量

    5355
收藏 人收藏

    評論

    相關推薦

    陀螺儀LSM6DSV16X與AI集成(1)----輪詢獲取陀螺儀數據

    會被轉換為適當的單位并通過串行通信輸出。這個代碼是一個很好的起點,用于了解如何操作 LSM6DSV16X 傳感器并獲取其數據。
    的頭像 發表于 12-18 10:49 ?1588次閱讀
    陀螺儀<b class='flag-5'>LSM6DSV16X</b>與AI集成(1)----輪詢<b class='flag-5'>獲取</b>陀螺儀數據

    陀螺儀LSM6DSV16X與AI集成(2)----姿態解算

    LSM6DSV16X包含三軸陀螺儀與三軸加速度計。
    的頭像 發表于 12-18 10:51 ?2085次閱讀
    陀螺儀<b class='flag-5'>LSM6DSV16X</b>與AI集成(2)----姿態解算

    陀螺儀LSM6DSV16X與AI集成(3)----讀取融合算法輸出的四元數

    LSM6DSV16X 特性涉及到的是一種低功耗的傳感器融合算法(Sensor Fusion Low Power, SFLP). 低功耗傳感器融合(SFLP)算法:
    的頭像 發表于 12-18 10:53 ?1137次閱讀
    陀螺儀<b class='flag-5'>LSM6DSV16X</b>與AI集成(3)----讀取融合算法輸出的四元數

    陀螺儀LSM6DSV16X與AI集成(7)----FIFO數據讀取與配置

    LSM6DSV16X是一款高性能、低功耗的6軸IMU傳感器,集成了3軸加速度計和3軸陀螺儀。本文將詳細介紹如何配置和讀取LSM6DSV16X傳感器的FIFO數據,包括初始化、配置以及數據處理的完整流程, 以實現數據的批量處理和傳
    的頭像 發表于 07-18 10:40 ?1360次閱讀
    陀螺儀<b class='flag-5'>LSM6DSV16X</b>與AI集成(7)----FIFO數據讀取與配置

    LSM6DSV16X基于MLC智能動作識別(2)----MLC數據采集

    MLC 是“機器學習核心”(Machine Learning Core)的縮寫。在 LSM6DSV16X 傳感器 中,MLC 是一種嵌入式功能,它使傳感器能夠直接運行基于決策樹的機器學習算法。通過
    的頭像 發表于 10-22 10:02 ?659次閱讀
    <b class='flag-5'>LSM6DSV16X</b>基于<b class='flag-5'>MLC</b><b class='flag-5'>智能</b><b class='flag-5'>筆</b><b class='flag-5'>動作</b><b class='flag-5'>識別</b>(2)----<b class='flag-5'>MLC</b>數據采集

    LSM6DSV16X基于MLC智能動作識別(3)----MEMS Studio訓練數據

    MEMS-Studio是一套完整的桌面軟件解決方案,專為開發嵌入式AI功能、評估嵌入式庫、分析數據,以及為整個MEMS傳感器產品組合設計無代碼算法而設計。這款獨特的軟件解決方案提供了多功能的開發環境,支持評估和編程所有MEMS傳感器,此外還推出了新一代解決方案,以擴展Unico-GUI、Unicleo-GUI和AlgoBuilder等成熟應用程序的功能。
    的頭像 發表于 11-25 11:28 ?187次閱讀
    <b class='flag-5'>LSM6DSV16X</b>基于<b class='flag-5'>MLC</b><b class='flag-5'>智能</b><b class='flag-5'>筆</b><b class='flag-5'>動作</b><b class='flag-5'>識別</b>(3)----MEMS Studio訓練數據

    陀螺儀LSM6DSV16X與AI集成(13)----中斷獲取SFLP四元數

    本文將介紹如何通過中斷機制獲取 LSM6DSV16X 傳感器的 SFLP(Sensor Fusion Low Power)四元數數據。LSM6DSV16X 是一款高性能的
    的頭像 發表于 11-25 11:44 ?205次閱讀
    陀螺儀<b class='flag-5'>LSM6DSV16X</b>與AI集成(13)----<b class='flag-5'>中斷</b><b class='flag-5'>獲取</b>SFLP四元數

    陀螺儀LSM6DSV16X與AI集成(14)----上報匿名上位機

    本文介紹了如何將 LSM6DSV16X 傳感器的姿態數據通過匿名通信協議上報到上位機。通過獲取傳感器的四元數數據,并將其轉換為歐拉角(Roll、Pitch、Yaw),然后按照協議格式化數據幀并通過
    的頭像 發表于 11-25 11:53 ?144次閱讀
    陀螺儀<b class='flag-5'>LSM6DSV16X</b>與AI集成(14)----上報匿名上位機

    請問lsm6dsv16x可以直接讀取觸摸手勢嗎?

    已經讀出來了LSM6DSV16x的QVRmv值,也寫出了單擊的狀態機。但是在寫觸摸滑動手勢時沒有找到好的計算方式。請問是不是有直接讀出這些手勢的函數?
    發表于 07-02 08:14

    請問LSM6DSV32XLSM6DSO32X是同一個封裝嗎?

    LSM6DSV32XLSM6DSO32X是同一個封裝嗎?
    發表于 12-14 07:19

    求助,是否有在LSM6DSV16X中使用傳感器融合低功耗算法的示例

    你好我想知道是否有在 LSM6DSV16X 中使用傳感器融合低功耗算法的示例。我想檢索當前的 Heading、Pitch 和 Roll 信息。或者我也很高興有一個例子解釋如何從 SFLP 中獲取四元
    發表于 02-03 09:12

    LSM6DSOX MLC狀態識別

    電子發燒友網站提供《LSM6DSOX MLC狀態識別.pdf》資料免費下載
    發表于 07-31 15:14 ?0次下載
    <b class='flag-5'>LSM6</b>DSOX <b class='flag-5'>MLC</b><b class='flag-5'>狀態</b><b class='flag-5'>識別</b>

    ST LSM6DSV16X iNEMO慣性模塊相關的使用信息和應用提示

    AN5763,LSM6DSV16X是一款ST的3 軸加速度計和 3 軸陀螺儀; LSM6DSV16X 是系統級封裝的 3 軸數字加速度計和 3 軸數字陀螺儀,具有數字 I2C、SPI 和 MIPI
    發表于 08-31 11:12 ?0次下載

    意法半導體新款MEMS IMU LSM6DSV32X實現精確姿態識別應用

    憑借3核、6軸傳感架構,意法半導體新款MEMS IMU LSM6DSV32X能夠進行卓越的邊緣計算處理,是智能手機的高精度感測和3D地圖、筆記本電腦和平板電腦的情境感知、AR和VR的精確姿態
    的頭像 發表于 08-01 10:15 ?717次閱讀

    LSM6DSV16X基于MLC智能動作識別(1)----輪詢獲取陀螺儀數據

    會被轉換為適當的單位并通過串行通信輸出。這個代碼是一個很好的起點,用于了解如何操作 LSM6DSV16X 傳感器并獲取其數據。
    的頭像 發表于 10-16 10:38 ?271次閱讀
    <b class='flag-5'>LSM6DSV16X</b>基于<b class='flag-5'>MLC</b><b class='flag-5'>智能</b><b class='flag-5'>筆</b><b class='flag-5'>動作</b><b class='flag-5'>識別</b>(1)----輪詢<b class='flag-5'>獲取</b>陀螺儀數據