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

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

水壓計ILPS28QSW開發(fā)(3)----Qvar觸摸電容配置

嵌入式單片機(jī)MCU開發(fā) ? 來源:嵌入式單片機(jī)MCU開發(fā) ? 作者:嵌入式單片機(jī)MCU開 ? 2024-07-21 17:10 ? 次閱讀

概述

Qvar,全稱為電荷變化檢測(Qvar stands for “Quasi-static VARiation”),是一種用于檢測電荷變化的技術(shù)。這種技術(shù)通常用于傳感器和其他電子設(shè)備中,特別是在慣性測量單元(IMU)和微機(jī)電系統(tǒng)(MEMS)技術(shù)中。Qvar 技術(shù)可以用于檢測微小的電荷變化,這些變化可能是由于物理運(yùn)動、環(huán)境變化或其他因素導(dǎo)致的。
在 ILPS28QSW 這類先進(jìn)的 MEMS 中,Qvar 技術(shù)用于增強(qiáng)用戶界面功能,如輕觸、雙擊、三擊、長按或滑動手勢。它通過檢測和解析與這些手勢相關(guān)的微小電荷變化,來實現(xiàn)高度精準(zhǔn)和靈敏的用戶交互。
需要樣片的可以加群申請:615061293 。

在這里插入圖片描述

視頻教學(xué)

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

樣品申請

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

完整代碼下載

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

Qvar功能

Qvar(電荷變化檢測)功能可以通過外部電極實現(xiàn),用于用戶接口,例如:
水泄漏檢測
輕拍檢測
雙擊檢測
長按檢測
左/右滑動檢測
這些功能為傳感器在智能設(shè)備和工業(yè)應(yīng)用中提供了更多可能性。

生成STM32CUBEMX

用STM32CUBEMX生成例程,這里使用MCU為STM32H503CB。 配置時鐘樹,配置時鐘為250M。

在這里插入圖片描述

串口配置

查看原理圖,PA9和PA10設(shè)置為開發(fā)板的串口。

在這里插入圖片描述

配置串口,速率為2000000。

在這里插入圖片描述

IIC配置

在這里插入圖片描述

配置IIC速度為1M。

在這里插入圖片描述

串口重定向

打開魔術(shù)棒,勾選MicroLIB

在這里插入圖片描述

在main.c中,添加頭文件,若不添加會出現(xiàn) identifier "FILE" is undefined報錯。

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

函數(shù)聲明和串口重定向:

/* USER CODE BEGIN PFP */
int fputc(int ch, FILE *f){
    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}
/* USER CODE END PFP */

參考驅(qū)動程序

[https://github.com/STMicroelectronics/ilps28qsw-pid]

獲取ID

可以向WHO_AM_I (0Fh)獲取固定值,判斷是否為0xB4

在這里插入圖片描述

ilps28qsw_id_get為獲取函數(shù)。

在這里插入圖片描述

對應(yīng)的獲取ID驅(qū)動程序,如下所示。

/* Check device ID */
  ilps28qsw_id_get(&dev_ctx, &id);
    printf("ILPS28QSW_ID=0x%x,id.whoami=0x%xn",ILPS28QSW_ID,id.whoami);    
  if (id.whoami != ILPS28QSW_ID)
    while(1);

復(fù)位操作

ilps28qsw_init_set為重置函數(shù)。

在這里插入圖片描述

對應(yīng)的驅(qū)動程序,如下所示。

/* Restore default configuration */
  ilps28qsw_init_set(&dev_ctx, ILPS28QSW_RESET);
  do {
    ilps28qsw_status_get(&dev_ctx, &status);
  } while (status.sw_reset);

BDU設(shè)置

在很多傳感器中,數(shù)據(jù)通常被存儲在輸出寄存器中,這些寄存器分為兩部分:MSB和LSB。這兩部分共同表示一個完整的數(shù)據(jù)值。例如,在一個加速度計中,MSB和LSB可能共同表示一個加速度的測量值。
連續(xù)更新模式(BDU = ‘0’):在默認(rèn)模式下,輸出寄存器的值會持續(xù)不斷地被更新。這意味著在你讀取MSB和LSB的時候,寄存器中的數(shù)據(jù)可能會因為新的測量數(shù)據(jù)而更新。這可能導(dǎo)致一個問題:當(dāng)你讀取MSB時,如果寄存器更新了,接下來讀取的LSB可能就是新的測量值的一部分,而不是與MSB相對應(yīng)的值。這樣,你得到的就是一個“拼湊”的數(shù)據(jù),它可能無法準(zhǔn)確代表任何實際的測量時刻。
塊數(shù)據(jù)更新(BDU)模式(BDU = ‘1’):當(dāng)激活BDU功能時,輸出寄存器中的內(nèi)容不會在讀取MSB和LSB之間更新。這就意味著一旦開始讀取數(shù)據(jù)(無論是先讀MSB還是LSB),寄存器中的那一組數(shù)據(jù)就被“鎖定”,直到兩部分都被讀取完畢。這樣可以確保你讀取的MSB和LSB是同一測量時刻的數(shù)據(jù),避免了讀取到代表不同采樣時刻的數(shù)據(jù)。
簡而言之,BDU位的作用是確保在讀取數(shù)據(jù)時,輸出寄存器的內(nèi)容保持穩(wěn)定,從而避免讀取到拼湊或錯誤的數(shù)據(jù)。這對于需要高精度和穩(wěn)定性的應(yīng)用尤為重要。
可以向CTRL_REG2 (11h)的BDU寄存器寫入1進(jìn)行開啟。

在這里插入圖片描述

對應(yīng)的驅(qū)動程序,如下所示。

/* Set bdu and if_inc recommended for driver usage */
  ilps28qsw_init_set(&dev_ctx, ILPS28QSW_DRV_RDY);

設(shè)置總線接口

/* Select bus interface */
  bus_mode.filter = ILPS28QSW_AUTO;
  ilps28qsw_bus_mode_set(&dev_ctx, &bus_mode);

設(shè)置速率

設(shè)置速率和量程可以通過CTRL_REG1 (10h)和CTRL_REG2 (11h)進(jìn)行設(shè)置。

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

/* Set Output Data Rate */
  md.odr = ILPS28QSW_200Hz;
  md.avg = ILPS28QSW_4_AVG;
  ilps28qsw_mode_set(&dev_ctx, &md);

開啟QVAR

通過配置CTRL_REG3 (12h)寄存器,可以根據(jù)需要啟用(AH)/ Qvar功能。

在這里插入圖片描述

/* Enable AH/QVAR function */
  ilps28qsw_ah_qvar_en_set(&dev_ctx, 1);

QVAR外部電路

下圖可以了解如何配置和使用ILPS28QSW傳感器的模擬樞紐和Qvar功能,包括其外部連接、寄存器配置及操作模式,從而有效地利用該傳感器的多功能特性。

在這里插入圖片描述

初始化代碼

/* USER CODE BEGIN 2 */
  ilps28qsw_all_sources_t all_sources;
  ilps28qsw_bus_mode_t bus_mode;
  ilps28qsw_stat_t status;
  stmdev_ctx_t dev_ctx;
  ilps28qsw_id_t id;
  ilps28qsw_md_t md;

  /* Initialize mems driver interface */
  dev_ctx.write_reg = platform_write;
  dev_ctx.read_reg = platform_read;
  dev_ctx.mdelay = platform_delay;
  dev_ctx.handle = &SENSOR_BUS;

  /* Init test platform */
//  platform_init(dev_ctx.handle);
  /* Wait sensor boot time */
  platform_delay(BOOT_TIME);

  /* Check device ID */
  ilps28qsw_id_get(&dev_ctx, &id);
    printf("ILPS28QSW_ID=0x%x,id.whoami=0x%xn",ILPS28QSW_ID,id.whoami);    
  if (id.whoami != ILPS28QSW_ID)
    while(1);

  /* Restore default configuration */
  ilps28qsw_init_set(&dev_ctx, ILPS28QSW_RESET);
  do {
    ilps28qsw_status_get(&dev_ctx, &status);
  } while (status.sw_reset);

  /* Set bdu and if_inc recommended for driver usage */
  ilps28qsw_init_set(&dev_ctx, ILPS28QSW_DRV_RDY);

  /* Select bus interface */
  bus_mode.filter = ILPS28QSW_AUTO;
  ilps28qsw_bus_mode_set(&dev_ctx, &bus_mode);

  /* Set Output Data Rate */
  md.odr = ILPS28QSW_200Hz;
  md.avg = ILPS28QSW_4_AVG;
  ilps28qsw_mode_set(&dev_ctx, &md);

  /* Enable AH/QVAR function */
  ilps28qsw_ah_qvar_en_set(&dev_ctx, 1);
  /* USER CODE END 2 */

獲取Qvar數(shù)據(jù)

對于Qvar數(shù)據(jù)是否準(zhǔn)備好,可以查看STATUS (27h)的P_DA位,判斷是否有新數(shù)據(jù)到達(dá)。

在這里插入圖片描述

對于壓強(qiáng)和QVAR數(shù)據(jù),主要在PRESS_OUT_XL (28h)-PRESS_OUT_H (2Ah)。

在這里插入圖片描述

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    static ilps28qsw_ah_qvar_data_t data;
    /* Read output only if new values are available */
    ilps28qsw_all_sources_get(&dev_ctx, &all_sources);
    if ( all_sources.drdy_pres ) {
      ilps28qsw_ah_qvar_data_get(&dev_ctx, &data);

      printf("QVAR [mV]:%6.2f [LSB]:%drn", data.mv, data.lsb);

    }        

    /* USER CODE END WHILE */

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

測試結(jié)果

未觸摸。

在這里插入圖片描述

觸摸上按鍵。

在這里插入圖片描述

觸摸下按鍵。

在這里插入圖片描述

審核編輯 黃宇

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

    關(guān)注

    98

    文章

    5807

    瀏覽量

    148597
  • mems
    +關(guān)注

    關(guān)注

    128

    文章

    3854

    瀏覽量

    189696
  • 氣壓計
    +關(guān)注

    關(guān)注

    1

    文章

    43

    瀏覽量

    18217
收藏 人收藏

    評論

    相關(guān)推薦

    瑞薩e2studio(24)----電容觸摸配置(1)

    瑞薩e2studio(24)----電容觸摸配置(1)
    的頭像 發(fā)表于 08-21 15:47 ?886次閱讀
    瑞薩e2studio(24)----<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b><b class='flag-5'>配置</b>(1)

    瑞薩e2studio(25)----電容觸摸配置(2)

    瑞薩e2studio(25)----電容觸摸配置(2)
    的頭像 發(fā)表于 08-21 15:50 ?731次閱讀
    瑞薩e2studio(25)----<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b><b class='flag-5'>配置</b>(2)

    陀螺儀LSM6DSV16X與AI集成(4)----Qvar觸摸電容配置

    Qvar,全稱為電荷變化檢測(Qvar stands for "Quasi-static VARiation"),是一種用于檢測電荷變化的技術(shù)。這種技術(shù)通常用于傳感器和其他
    的頭像 發(fā)表于 12-18 10:55 ?787次閱讀
    陀螺儀LSM6DSV16X與AI集成(4)----<b class='flag-5'>Qvar</b><b class='flag-5'>觸摸</b><b class='flag-5'>電容</b><b class='flag-5'>配置</b>

    水壓計ILPS28QSW開發(fā)(1)----輪詢獲取水壓計數(shù)據(jù)

    本文將介紹如何使用 ILPS28QSW 傳感器來讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過輪詢方式持續(xù)讀取氣壓數(shù)據(jù)和溫度數(shù)據(jù)。讀取到的數(shù)據(jù)會被轉(zhuǎn)換為適當(dāng)?shù)膯挝徊⑼ㄟ^串行通信輸出。
    的頭像 發(fā)表于 07-21 09:51 ?900次閱讀
    <b class='flag-5'>水壓計</b><b class='flag-5'>ILPS28QSW</b><b class='flag-5'>開發(fā)</b>(1)----輪詢獲取<b class='flag-5'>水壓計</b>數(shù)據(jù)

    在CTRL_REG3數(shù)據(jù)表中QVAR_AUTO_EN不起作用如何解決呢

    Qvar 數(shù)據(jù)的 ODR 都減半(在單次模式下,輸出一次用壓力填充,一次用 Qvar 填充)。 我在 CTRL_REG3 數(shù)據(jù)表描述中沒有看到 QVAR_AUTO_EN,當(dāng)我嘗試這
    發(fā)表于 12-23 07:59

    教你如何使用mTouch? Framework工具開發(fā)觸摸產(chǎn)品教程(二)

    mTouch? Framework是Microchip針對電容觸摸應(yīng)用提供的免費軟件開發(fā)包,開發(fā)者通過簡單的文件配置,就可以
    的頭像 發(fā)表于 05-23 01:47 ?3194次閱讀

    教你如何使用mTouch? Framework工具開發(fā)觸摸產(chǎn)品教程(一)

    mTouch? Framework是Microchip針對電容觸摸應(yīng)用提供的免費軟件開發(fā)包,開發(fā)者通過簡單的文件配置,就可以
    的頭像 發(fā)表于 05-23 05:47 ?3776次閱讀
    教你如何使用mTouch? Framework工具<b class='flag-5'>開發(fā)</b><b class='flag-5'>觸摸</b>產(chǎn)品教程(一)

    使用mTouch? Framework工具自由開發(fā)觸摸產(chǎn)品教程(三)

    mTouch? Framework是Microchip針對電容觸摸應(yīng)用提供的免費軟件開發(fā)包,開發(fā)者通過簡單的文件配置,就可以
    的頭像 發(fā)表于 05-23 05:47 ?3120次閱讀
    使用mTouch? Framework工具自由<b class='flag-5'>開發(fā)</b><b class='flag-5'>觸摸</b>產(chǎn)品教程(三)

    CapTIvate電容觸摸解決方案(3

    TI MSP430 CapTIvate Lite: 成本優(yōu)化的電容觸摸微控制器 (3)
    的頭像 發(fā)表于 08-06 00:19 ?3675次閱讀
    CapTIvate<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b>解決方案(<b class='flag-5'>3</b>)

    配置多個電容觸摸傳感按鈕

    本應(yīng)用筆記將說明在使用超過 4 個電容觸摸傳感按鈕時,如何掃描和檢測按鈕是否按下。本應(yīng)用筆記針對PIC16F616系列、PIC16F690系列以及PIC16F887系列單片機(jī)。建議在閱讀本應(yīng)用筆記之前先了解電容
    發(fā)表于 04-20 10:17 ?5次下載

    電容觸摸按鍵實驗”實例解析

    目錄電容觸摸按鍵實驗電容觸摸按鍵的基本原理(原理圖層面)新電容的產(chǎn)生與作用充放電性能的變化脈沖如何被捕獲原理圖層面的連接硬件
    發(fā)表于 11-30 11:36 ?15次下載
    “<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b>按鍵實驗”實例解析

    QE和FSP開發(fā)電容觸摸應(yīng)用指南

    QE和FSP開發(fā)電容觸摸應(yīng)用指南
    發(fā)表于 11-07 19:50 ?2次下載
    QE和FSP<b class='flag-5'>開發(fā)電容</b><b class='flag-5'>觸摸</b>應(yīng)用指南

    ST首款MEMS防水/防液絕對壓力傳感器,賦能工業(yè)物聯(lián)網(wǎng)

    意法半導(dǎo)體新推出的ILPS28QSW傳感器采用密封的圓柱形表面貼裝封裝。該封裝采用防液體滲透性很高的陶瓷基板和堅固的車用灌封膠保護(hù)內(nèi)部電路。
    發(fā)表于 06-15 11:45 ?424次閱讀
    ST首款MEMS防水/防液絕對壓力傳感器,賦能工業(yè)物聯(lián)網(wǎng)

    Qvar感應(yīng)通道的配置和操作指南

    AN5755 ?Qvar 是意法半導(dǎo)體推出的一款靜電傳感器,適用于人體存在檢測和運(yùn)動檢測、觸摸檢測和用戶界面 (UI) 應(yīng)用。本應(yīng)用筆記涵蓋 Qvar 感應(yīng)通道的配置和操作指南。在塑料
    發(fā)表于 09-12 09:35 ?0次下載

    水壓計ILPS28QSW開發(fā)(2)----水壓檢測

    本文將介紹如何使用 ILPS28QSW 傳感器來讀取的壓強(qiáng)數(shù)據(jù),來估算水下深度,可以利用液體靜壓的原理。對于水平地面的固體對地面產(chǎn)生的壓強(qiáng),由于壓力大小等于重力,計算固體壓力時一般都會先計算壓力后計
    的頭像 發(fā)表于 07-21 17:05 ?345次閱讀
    <b class='flag-5'>水壓計</b><b class='flag-5'>ILPS28QSW</b><b class='flag-5'>開發(fā)</b>(2)----<b class='flag-5'>水壓</b>檢測