一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

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

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

概述

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

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

視頻教學

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

樣品申請

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

源碼下載

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

硬件準備

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

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

開啟INT中斷

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

開啟中斷。

參考驅(qū)動程序

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

配置中斷

MD1_CFG (5Eh) 寄存器用于將各種事件路由到 INT1 引腳。每個位代表不同的功能,通過設置這些位,你可以選擇將哪些傳感器事件輸出到 INT1 引腳。下表詳細描述了每個位的功能:
INT1_EMB_FUNC (bit 1):
● 用于將嵌入式功能事件(如機器學習或狀態(tài)機的輸出)路由到 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中添加回調(diào)函數(shù)引用。

/* 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中添加回調(diào)函數(shù)的定義,檢查中斷是否由 GPIO_PIN_0引腳觸發(fā)。

/* 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 */
}

演示

靜止狀態(tài)如下。

閑置狀態(tài)如下,手抓筆靜止。

書寫狀態(tài)如下,移動筆進行識別判定。

其他如下,筆倒置。

審核編輯 黃宇

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

    關注

    0

    文章

    41

    瀏覽量

    17441
  • 智能筆
    +關注

    關注

    1

    文章

    15

    瀏覽量

    5452
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

    MLC 是“機器學習核心”(Machine Learning Core)的縮寫。在 LSM6DSV16X 傳感器 中,MLC 是一種嵌入式功能,它使傳感器能夠直接運行基于決策樹的機器學習算法。通過
    的頭像 發(fā)表于 10-22 10:02 ?1193次閱讀
    <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>數(shù)據(jù)采集

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

    MEMS-Studio是一套完整的桌面軟件解決方案,專為開發(fā)嵌入式AI功能、評估嵌入式庫、分析數(shù)據(jù),以及為整個MEMS傳感器產(chǎn)品組合設計無代碼算法而設計。這款獨特的軟件解決方案提供了多功能的開發(fā)環(huán)境,支持評估和編程所有MEMS傳感器,此外還推出了新一代解決方案,以擴展Unico-GUI、Unicleo-GUI和AlgoBuilder等成熟應用程序的功能。
    的頭像 發(fā)表于 11-25 11:28 ?1044次閱讀
    <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訓練數(shù)據(jù)

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

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

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

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

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

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

    使用LSM6DSV16XLSM6DSO16IS,請問下有沒有內(nèi)置濾波器調(diào)整的接口?

    最近在使用LSM6DSV16XLSM6DSO16IS這兩款傳感器,請問下有沒有內(nèi)置濾波器調(diào)整的接口?另外求一份AN4650那樣的應用手冊
    發(fā)表于 03-07 07:17

    提取LSM6DSV16X內(nèi)置低功耗融合算法輸出的四元數(shù)后,轉(zhuǎn)換成歐拉角后遇到一個問題求解

    各位大佬好,在提取LSM6DSV16X內(nèi)置低功耗融合算法輸出的四元數(shù)后,轉(zhuǎn)換成歐拉角后遇到一個問題,當Y軸與重力方向平行時,輸出的角度與慣性測量單元繞自身Y軸轉(zhuǎn)過的角度對應不上,且抖動增加,請問有什么解決方法嗎?
    發(fā)表于 03-14 06:55

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

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

    LSM6DSOX MLC狀態(tài)識別

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

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

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

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

    會被轉(zhuǎn)換為適當?shù)膯挝徊⑼ㄟ^串行通信輸出。這個代碼是一個很好的起點,用于了解如何操作 LSM6DSV16X 傳感器并獲取其數(shù)據(jù)。
    的頭像 發(fā)表于 10-16 10:38 ?857次閱讀
    <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>陀螺儀數(shù)據(jù)