女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

采用Arduino開發(fā)板和ADXL33的簡易計步器設(shè)計

454398 ? 來源:一板網(wǎng) ? 作者:王香盤 ? 2020-10-24 11:23 ? 次閱讀

目前,健身手環(huán)在人們的日常生活中變得越來越流行,它不僅可以計算人行走的步數(shù),而且還可以記錄您燃燒的卡路里、顯示心跳、顯示時間等等。通常這些物聯(lián)網(wǎng)設(shè)備已與云平臺連接同步,因此您可以在智能手機上輕松獲取所有身體活動量的歷史記錄。在前面的文章中,我們還制作了一個基于物聯(lián)網(wǎng)的患者監(jiān)護系統(tǒng),其重要數(shù)據(jù)發(fā)送到ThingSpeak云平臺,用戶可以從任何地方進行查看。

計步器(Pedometer)是一種用來計算人走路步數(shù)的設(shè)備。在本篇文章中,我們將使用Arduino開發(fā)板和加速度計ADXL335制作一個簡單又便宜的計步器。該計步器計算走路步數(shù),然后將計算結(jié)果顯示在LCD1602顯示屏上。

所需的組件

● Arduino Nano開發(fā)板

● ADXL335加速度計

● LCD1602液晶顯示屏模塊

● 電池

ADXL335加速度計介紹

ADXL335是一款小尺寸、完整的三軸加速度計,基于電容式感應(yīng)原理。它是一個小尺寸、薄型、低功耗的模塊,帶有一個經(jīng)過多晶硅表面微機械加工的傳感器信號調(diào)理電路。 ADXL335加速度計可以測量靜態(tài)和動態(tài)加速度。在本文中,ADXL335加速度計用作計步器傳感器。

加速度計是一種可以將任意方向上的加速度轉(zhuǎn)換為其相應(yīng)的可變電壓的設(shè)備。該設(shè)備通過使用電容器來實現(xiàn)的,隨著加速度移動,位于其內(nèi)部的電容器也將根據(jù)該運動而發(fā)生變化,由于電容是變化的,因此可以獲得可變電壓。

下面是加速度計模塊的正視圖和底視圖:

電路連接圖

Arduino和加速度計組成的計步器電路圖如下所示。

在此電路中,我們將ADXL335加速度計連接到Arduino Nano開發(fā)板。加速度計的X、Y和Z引腳與Arduino Nano的模擬引腳(A1、A2和A3)連接。我們使用了一個I2C模塊將LCD1602顯示屏連接到Arduino開發(fā)板。 I2C模塊的SCL和SDA引腳分別連接到Arduino Nano的A5和A4引腳。

我們按照上面所示的電路圖在面包板上連接計步器的各個組件:

計步器是如何工作的?

計步器使用向前、垂直和側(cè)面的三個運動分量來計算一個人行走的總步數(shù)。計步器使用加速度計來獲取這些值。每次取樣后,加速度計都會不斷更新3軸加速度的最大值和最小值。這些3軸(Max + Min)/ 2的平均值稱為動態(tài)閾值水平,該閾值用于確定是否應(yīng)該記錄該步數(shù)。

計步器在運行時可以處于任何方向,因此計步器使用加速度變化最大的軸來計算步數(shù)。

現(xiàn)在,我們快速了解一下Arduino計步器的工作原理

1. 首先,計步器上電后開始校準。

2. 然后在void loop函數(shù)中,連續(xù)獲取從X、Y和Z軸的數(shù)據(jù)。

3. 然后,從起點算出總加速度矢量。

4. 加速度矢量是X、Y和Z軸值的平方根(x ^ 2 + y ^ 2 + z ^ 2)。

5. 然后將平均加速度值與閾值進行比較,以計算步數(shù)。

6. 如果加速度矢量超過閾值,則增加步數(shù);否則,認為是無效的振動,丟棄該數(shù)據(jù)。

編程Arduino計步器

在本文的末尾處提供了完整的Arduino計步器代碼。在這里,我們對一些重要代碼片段進行說明。

首先在代碼中包含所有必需的庫。 ADXL335加速度計輸出模擬輸出信號,因此不需要任何庫。

#include 《LiquidCrystal_I2C.h》

復(fù)制代碼

之后,定義加速度計連接的Arduino引腳。

const int xpin = A1;

const int ypin = A2;

const int zpin = A3;

復(fù)制代碼

定義加速度計的閾值。將該閾值與加速度矢量進行比較,以計算步數(shù)。

float threshold = 6;

復(fù)制代碼

在void setup()函數(shù)中,在開發(fā)板上電時調(diào)用以下函數(shù)對其進行校準。

calibrate();

復(fù)制代碼

在void loop()函數(shù)中,將讀取100個樣本的X、Y和Z軸值。

for (int a = 0; a 《 100; a++)

{

xaccl[a] = float(analogRead(xpin) - 345);

delay(1);

yaccl[a] = float(analogRead(ypin) - 346);

delay(1);

zaccl[a] = float(analogRead(zpin) - 416);

delay(1);

復(fù)制代碼

獲得3個軸的值后,通過取X、Y和Z軸值的平方根來計算總加速度矢量。

totvect[a] = sqrt(((xaccl[a] - xavg) * (xaccl[a] - xavg)) + ((yaccl[a] - yavg) * (yaccl[a] - yavg)) + ((zval[a] - zavg) * (zval[a] - zavg)));

復(fù)制代碼

然后計算最大和最小加速度矢量值的平均值。

totave[a] = (totvect[a] + totvect[a - 1]) / 2 ;

復(fù)制代碼

接下來將加速度矢量值的平均值與閾值進行比較。如果平均值大于閾值,則增加步數(shù)并置位標(biāo)志位。

if (totave[a] 》 threshold && flag == 0)

{

steps = steps + 1;

flag = 1; }

復(fù)制代碼

如果平均值大于閾值,但標(biāo)志位置位,則什么也不做。

else if (totave[a] 》 threshold && flag == 1)

{

// Don’t Count

}

復(fù)制代碼

如果平均值小于閾值且標(biāo)志位置位,則將標(biāo)志位清零。

if (totave[a] 《 threshold && flag == 1)

{

flag = 0;

}

復(fù)制代碼

在串口監(jiān)視器和LCD顯示屏上打印輸出步數(shù)。

Serial.println(steps );

lcd.print(“Steps: ”);

lcd.print(steps);

復(fù)制代碼

測試Arduino計步器

準備好硬件和代碼后,將Arduino開發(fā)板連接到筆記本電腦并上傳代碼。現(xiàn)在,將計步器握在手中,然后一步步走路,它應(yīng)該會在LCD上顯示步數(shù)。有時,計步器非常快速或緩慢地振動時,步數(shù)也會增加。

編輯:hfy

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

    關(guān)注

    4

    文章

    76

    瀏覽量

    20229
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6492

    瀏覽量

    190106
  • ADXL335
    +關(guān)注

    關(guān)注

    1

    文章

    15

    瀏覽量

    10620
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    貝啟BQ3568HM 開發(fā)板被選用為 OpenHarmony 明星開發(fā)板

    經(jīng)開放原子開源基金會OpenHarmony社區(qū)官方測評評選,貝啟科技BQ3568HM開源鴻蒙開發(fā)板被正式選用為OpenHarmony明星開發(fā)板。BQ3568HM開源鴻蒙開發(fā)板采用
    的頭像 發(fā)表于 05-25 00:22 ?294次閱讀
    貝啟BQ3568HM <b class='flag-5'>開發(fā)板</b>被選用為 OpenHarmony 明星<b class='flag-5'>開發(fā)板</b>

    STM32開發(fā)板一般都會配置arduino接口,是不是基本上也都會支持arduino

    STM32開發(fā)板一般都會配置arduino接口,是不是基本上也都會支持arduino?這個在哪里可以查詢開發(fā)板是否支持
    發(fā)表于 03-07 06:33

    用AI人臉識別開發(fā)板BW21-CBV-Kit驅(qū)動墨水屏

    試著用BW21-CBV-Kit點亮2.9寸墨水屏,開發(fā)板例程非常豐富,在arduino開發(fā)的話上手超級容易。
    的頭像 發(fā)表于 03-04 18:24 ?987次閱讀
    用AI人臉識別<b class='flag-5'>開發(fā)板</b>BW21-CBV-Kit驅(qū)動墨水屏

    通過Arduino Nano Matter開發(fā)板構(gòu)建智能卷簾系統(tǒng)

    在本指南中,您將學(xué)習(xí)如何通過Arduino NanoMatter開發(fā)板上的Silicon Labs(芯科科技)MGM240S多協(xié)議無線模塊來構(gòu)建一個智能卷簾系統(tǒng)。該系統(tǒng)可通過 Amazon
    的頭像 發(fā)表于 02-28 09:46 ?460次閱讀
    通過<b class='flag-5'>Arduino</b> Nano Matter<b class='flag-5'>開發(fā)板</b>構(gòu)建智能卷簾系統(tǒng)

    STM32MP25x開發(fā)板Bring Up培訓(xùn)課程(中)

    STM32MP25x開發(fā)板BringUp培訓(xùn)課程(上)米爾基于STM32MP257核心開發(fā)板2.修改設(shè)備樹查看生成的Bringup工程空文件的設(shè)備樹,CA35的設(shè)備樹文件夾,其他的是M33
    的頭像 發(fā)表于 02-20 08:06 ?444次閱讀
    STM32MP25x<b class='flag-5'>開發(fā)板</b>Bring Up培訓(xùn)課程(中)

    dsPIC33C Touch-CAN-LIN Curiosity開發(fā)板用戶指南

    電子發(fā)燒友網(wǎng)站提供《dsPIC33C Touch-CAN-LIN Curiosity開發(fā)板用戶指南.pdf》資料免費下載
    發(fā)表于 01-22 16:18 ?1次下載
    dsPIC<b class='flag-5'>33</b>C Touch-CAN-LIN Curiosity<b class='flag-5'>開發(fā)板</b>用戶指南

    dsPIC33EDV64MC205電機控制開發(fā)板用戶指南

    電子發(fā)燒友網(wǎng)站提供《dsPIC33EDV64MC205電機控制開發(fā)板用戶指南.pdf》資料免費下載
    發(fā)表于 01-21 14:34 ?10次下載
    dsPIC<b class='flag-5'>33</b>EDV64MC205電機控制<b class='flag-5'>開發(fā)板</b>用戶指南

    ST NPI 新上架開發(fā)板 【NUCLEO-WL33CC1】

    配備STM32WL33 SoC的STM32 Nucleo開發(fā)板STM32WL33xx是一款高性能超低功耗無線應(yīng)用處理器、適用于sub-1 GHz頻段的無線射頻應(yīng)用Ultra-Low Power
    發(fā)表于 01-06 14:37 ?0次下載

    Arduino Nano Matter開發(fā)板正式上市

    Silicon Labs(芯科科技)和Arduino在近日共同宣布Arduino Nano Matter開發(fā)板現(xiàn)已正式上市。這是延續(xù)今年3 月芯科科技和Arduino釋出
    的頭像 發(fā)表于 12-10 13:50 ?799次閱讀

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數(shù)配置等。 一、硬件準備 Arduino開發(fā)板 :確保你有一塊Arduino
    的頭像 發(fā)表于 11-22 09:24 ?1956次閱讀

    【迅為】瑞芯微RK3588開發(fā)板RK3568開發(fā)板區(qū)別及優(yōu)勢

    RK3568開發(fā)板
    的頭像 發(fā)表于 11-18 14:19 ?1307次閱讀
    【迅為】瑞芯微RK3588<b class='flag-5'>開發(fā)板</b>RK3568<b class='flag-5'>開發(fā)板</b>區(qū)別及優(yōu)勢

    正點原子fpga開發(fā)板不同型號

    正點原子作為國內(nèi)領(lǐng)先的FPGA開發(fā)板供應(yīng)商,其產(chǎn)品線覆蓋了從入門級到高端應(yīng)用的各個領(lǐng)域。這些開發(fā)板不僅適用于學(xué)術(shù)研究,還廣泛應(yīng)用于工業(yè)控制、通信、圖像處理等多個領(lǐng)域。 1. 入門級開發(fā)板 1.1
    的頭像 發(fā)表于 11-13 09:30 ?3208次閱讀

    51開發(fā)板芯片資料

    51開發(fā)板芯片資料
    發(fā)表于 09-18 09:29 ?1次下載

    米爾基于NXP iMX.93開發(fā)板的M33處理器應(yīng)用開發(fā)筆記

    資源MYD-LMX9X開發(fā)板(米爾基于NXPiMX.93開發(fā)板)3.軟件資源Windows7及以上版本軟件:IAREmbeddedWorkbench4.板載固件調(diào)試
    的頭像 發(fā)表于 06-29 08:01 ?2007次閱讀
    米爾基于NXP iMX.93<b class='flag-5'>開發(fā)板</b>的M<b class='flag-5'>33</b>處理器應(yīng)用<b class='flag-5'>開發(fā)</b>筆記

    RISC-V有沒有類似Arduino那樣的開發(fā)板

    使用ARduino開發(fā),由于有第三方提供的庫支持,在開發(fā)上非常方便。RISC-V有沒有在Arduino IDE上可以使用的開發(fā)板
    發(fā)表于 06-23 12:32