使用Arduino和加速度计自制计步器
目前,健身手环在人们的日常生活中变得越来越流行,它不仅可以计算人行走的步数,而且还可以记录您燃烧的卡路里、显示心跳、显示时间等等。通常这些物联网设备已与云平台连接同步,因此您可以在智能手机上轻松获取所有身体活动量的历史记录。在前面的文章中,我们还制作了一个基于物联网的患者监护系统,其重要数据发送到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. 如果加速度矢量超过阈值,则增加步数;否则,认为是无效的振动,丢弃该数据。