查看: 1936|回復: 0
打印 上一主題 下一主題

【瘋殼·智能穿戴開(kāi)發(fā)教程8】開(kāi)源藍牙心率防水運動(dòng)手環(huán)-三軸計步伐

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2022-8-26 16:13:17 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
開(kāi)源藍牙心率防水運動(dòng)手環(huán)
——瘋殼·智能穿戴開(kāi)發(fā)系列
三軸計步伐





    三軸記步
    1相關(guān)簡(jiǎn)介

    本次,我們將使用 DA14580 的硬件 I2C 讀取三軸傳感器的步數。

    I2C 總線(xiàn)是一個(gè)為系統中電路通信提供支持的可編程控制總線(xiàn),它是一個(gè)軟件定義的兩線(xiàn)通信協(xié)議。
    兩線(xiàn) I2C 串行接口包括一個(gè)串行數據線(xiàn)(SDA)和一個(gè)串行時(shí)鐘線(xiàn)(SCL);
    支持兩種通行速率,標準模式(0~100Kb/s)和快速模式(小于等于 400Kb/s);
    時(shí)鐘同步;
    32 字節的發(fā)送接收 FIFO;
     主機發(fā)送與接收操作;
    7 或 10 位地址,7 或 10 位混合格式發(fā)送;
    塊發(fā)送模式;
    默認從地址為 0x055;
    中斷或者輪詢(xún)操作模式;
    可編程的數據線(xiàn)保持時(shí)間;

    本次使用的三軸傳感器是 LIS2DS12。LIS2DS12 是一種超低功率高性能三軸線(xiàn)性加速度計,具有用戶(hù)可選擇的尺寸 2G/4G/8G/16G,能夠測量輸出數據速率從1Hz 到 6400Hz 的加速度。并且具有集成的 256 級先入先出(FIFO)緩沖器,讓用戶(hù)在存儲數據時(shí),限制主機處理器的干預。LIS2DS12 支持 SPI 和 I2C 兩種接口, 我們這里采用的 I2C 接口。


    2硬件設計

    LIS2DS12 一共有 12 引腳。1 腳 SCL 是時(shí)鐘信號。2 腳 CS 是 SPI/I2C 使能引腳。第 3 引腳是 SPI 的數據輸出,由于這里用的 I2C,這個(gè)引腳空余。引腳 SDA 是 I2C 用來(lái)傳送數據的。還有兩個(gè)中斷腳 INT1、INT2,打開(kāi)之后,當 LIS2DS12 檢測到步數,能產(chǎn)生中斷電平。

  
    圖 1


    3軟件設計

    首先,完成系統初始化,調用 system_init(),可以參考前面的電量檢測。接 下 來(lái) 就 是 I2C 的 使 用 了 。 第 一 步 我 們 配 置 I2C 的 相 關(guān) 引 腳 。

    GPIO_ConfigurePin(I2C_GPIO_PORT, I2C_SCL_PIN, INPUT, PID_I2C_SCL, false);
     GPIO_ConfigurePin(I2C_GPIO_PORT, I2C_SDA_PIN, INPUT, PID_I2C_SDA, false);

    第二步,就是通過(guò)下面函數初始化 I2C。

   
    代碼1

    完成 I2C 的初始化之后, 我們就可以通過(guò) i2c_eeprom_read_byte(uint32_taddress,        uint8_t        *byte)        對        LIS2DS12        進(jìn)        行        讀        操        作        ,        通        過(guò)

    i2c_eeprom_write_byte(uint32_t address, uint8_t byte)對 LIS2DS12 進(jìn)行寫(xiě)操作。
    通過(guò) I2C 的讀寫(xiě)函數,對 LIS2DS12 寄存器進(jìn)行讀寫(xiě),就能使用 LIS2DS12。詳細資料可以查詢(xún) LIS2DS12 的 datasheet。
    首先,我們是調用函數 status_t LIS2DS12_ACC_R_WHO_AM_I_BIT(u8_t *value) 讀 取 設 備 ID , 判 定 是 否 為 正 確 的 設 備 。 然 后 , 我 們 調 用LIS2DS12_ACC_W_SOFT_RESET(LIS2DS12_ACC_SOFT_RESET_t newValue),軟件初始化 LIS2DS12 設備。如果讀取設備錯誤或者軟件初始化不成功,DA14580 會(huì )進(jìn)入一個(gè)空的死循環(huán)。最后,我們會(huì )進(jìn)入 Loop_Test_Pedometer(),記步測試。

   
    代碼2


    4  實(shí)驗現象

    首先,插好 Jlink 和 USB 轉串口,然后打開(kāi)打開(kāi)串口調試助手。

    (1)選擇串口號,我們圖中是 COM1,這個(gè)根據實(shí)際情況選擇。

    (2)配置串口參數,波特率為 115200,數據位 8,停止位 1,沒(méi)有校驗位和控制流,與下圖一致。


    (3)點(diǎn)擊打開(kāi)串口。

   
    圖 2
    配置完串口之后,打開(kāi)我們提供的代碼。

    (1)點(diǎn)擊仿真按鍵。

   
    圖 3
    (2)點(diǎn)擊運行代碼。

         
    圖 4

    完成上述操作,就會(huì )看到串口調試助手區域 4 中會(huì )顯示出步數,我們搖晃單片機,會(huì )發(fā)現串口調試助手打印出新的步數,并且步數在增加。

  
    圖 5



文件下載請點(diǎn)擊: 6_(100%開(kāi)源)藍牙心率防水運動(dòng)手環(huán)_三軸計步伐.pdf (612.82 KB)



您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页