目前,健身手環在人們的日常生活中變得越來越流行,它不僅可以計算人行走的步數,而且還可以記錄您燃燒的卡路里、顯示心跳、顯示時間等等。通常這些物聯網設備已與雲平台連接同步,因此您可以在智能手機上輕松獲取所有身體活動量的歷史記錄。在前面的文章中,我們還制作了一個基於物聯網的患者監護系統,其重要數據發送到ThingSpeak雲平台,用戶可以從任何地方進行查看。
計步器(Pedometer)是一種用來計算人走路步數的設備。在本篇文章中,我們將使用Arduino開發板和加速度計ADXL335制作一個簡單又便宜的計步器。該計步器計算走路步數,然后將計算結果顯示在LCD1602顯示屏上。
所需的組件
● Arduino Nano開發板
● ADXL335加速度計
● LCD1602液晶顯示屏模塊
● 電池
ADXL335加速度計介紹
ADXL335是一款小尺寸、完整的三軸加速度計,基於電容式感應原理。它是一個小尺寸、薄型、低功耗的模塊,帶有一個經過多晶硅表面微機械加工的傳感器和信號調理電路。 ADXL335加速度計可以測量靜態和動態加速度。在本文中,ADXL335加速度計用作計步器傳感器。
加速度計是一種可以將任意方向上的加速度轉換為其相應的可變電壓的設備。該設備通過使用電容器來實現的,隨着加速度移動,位於其內部的電容器也將根據該運動而發生變化,由於電容是變化的,因此可以獲得可變電壓。
下面是加速度計模塊的正視圖和底視圖:
電路連接圖
Arduino和加速度計組成的計步器電路圖如下所示。
在此電路中,我們將ADXL335加速度計連接到Arduino Nano開發板。加速度計的X、Y和Z引腳與Arduino Nano的模擬引腳(A1、A2和A3)連接。我們使用了一個I2C模塊將LCD1602顯示屏連接到Arduino開發板。 I2C模塊的SCL和SDA引腳分別連接到Arduino Nano的A5和A4引腳。
我們按照上面所示的電路圖在面包板上連接計步器的各個組件:
計步器是如何工作的?
計步器使用向前、垂直和側面的三個運動分量來計算一個人行走的總步數。計步器使用加速度計來獲取這些值。每次取樣后,加速度計都會不斷更新3軸加速度的最大值和最小值。這些3軸(Max + Min)/ 2的平均值稱為動態閾值水平,該閾值用於確定是否應該記錄該步數。
計步器在運行時可以處於任何方向,因此計步器使用加速度變化最大的軸來計算步數。
現在,我們快速了解一下Arduino計步器的工作原理:
1. 首先,計步器上電后開始校准。
2. 然后在void loop函數中,連續獲取從X、Y和Z軸的數據。
3. 然后,從起點算出總加速度矢量。
4. 加速度矢量是X、Y和Z軸值的平方根(x ^ 2 + y ^ 2 + z ^ 2)。
5. 然后將平均加速度值與閾值進行比較,以計算步數。
6. 如果加速度矢量超過閾值,則增加步數;否則,認為是無效的振動,丟棄該數據。