带 Arduino 的健身车监视器

今日头条

1100人已加入

描述

市场上的所有健身车都有一个小型车载计算机,通过它可以检测有关性能的一些重要信息,例如当前速度、行驶公里数和许多其他类型的数据。借助这个简单的附加设备,可以为我们的健身车添加更多统计数据,这些数据将在 Arduino 的帮助下显示在小型 LCD 显示屏 (20 × 4) 上。显然可以尽可能地自定义设备的操作,以获得培训所需的信息。这正是系统的强大之处。根据运动需求,程序员可以实现基于训练的任何信息。

我们将要构建的简单系统不会修改我们的健身车。电子和机械部件均不涉及任何物理变化,因此保持完好。电气连接只需将踏板传感器(已经是工具的一部分)直接连接到 Arduino 端口即可。该电路非常简单,可以在几分钟内完成。固件稍微复杂一些,设计时需要小心。通过构建此应用程序,您可以增加健身车的小型车载计算机通常提供的信息。固件会在您骑行时计算并显示各种信息。在自制设备上观察运动表现数据会带来很大的满足感。

健身车上的踩踏检测器
因为自行车已经配备了有用且精确的传感器,设计师的工作时间被减少到最低限度。已经实现的踩踏传感器提供可变的时基,具体取决于踩踏速度本身。在健身车内部,有一个簧片触点,每转动一次踏板就会激活片刻(见图 1)。两个端子连接到单声道插头。使用处于欧姆位置的测试仪,可以验证其“数字”操作,充当开/关开关并在其端子上显示以下两个值:

踏板转动约 20°(打开)时电阻 <2 Ω

踏板转动约 340° 时有无限阻力(关闭)

Arduino

图 1:簧片触点检测踏板的位置。

系统
该系统的操作非常简单。来自健身车的插头会在踏板每转一圈时产生一个开/关脉冲。在大部分踏板行程中,两个电触点是打开的,但在一小部分踏板转动中,它们是短路的。这个脉冲对于 MCU 做出适当的决定很有用,用于数据处理。该触点(有时打开,有时关闭)可以与任何 MCU 或 CPU 系统一起使用,从而为可能的应用打开了一个非常广阔的全景。一个 Arduino 端口被配置为数字输入,通过检测踩踏的脉冲,它可以执行所有必要的计算。幸运的是,这种应用程序仅在开/关模式下使用自行车传感器,而不通过通信协议发送任何串行数据。

接线图
原理图很简单(见图2)。系统的核心显然由 Arduino UNO 代表,但任何其他平台也可以。Hitachi 兼容的 LCD 显示器连接到端口 12、11、5、4、3 和 2。它必须有 20 列和 4 行。尽管未显示,但必须将显示器连接到可变电阻分压器(电位计)才能改变屏幕的对比度。Arduino 的端口 8 是数字输入,在静止状态下,通过 3.3-kΩ 下拉电阻接地。如果踩踏板未激活触点,则此门处于低逻辑电平。它被编程为用作数字输入。关闭健身车的触点允许接收高 5V 逻辑脉冲,固件将对其进行适当处理。

Arduino

图 2:Arduino UNO 的接线图

电气连接
电气连接也减少到最低限度,系统的接线非常简单。有必要截取来自健身车的插头并将其连接到 Arduino UNO。电路图开关,实际上是不存在的;它只是虚拟的,不能添加。它代表连接到运动器材插头的触点。需要存在下拉电阻。一个端子连接到地面,另一个端子连接到 Arduino 的端口 8。电线的方向并不重要,因为健身车的电线仅打开和关闭电触点,没有任何极性。如果一切正常,初次踩踏时,显示屏应显示锻炼的第一个数据。因为健身车的接触传感器是被动使用的,它甚至不必由电力驱动。唯一需要供电的设备是 Arduino。

固件
使用 Arduino IDE,您需要编写和编译附加的程序。它是管理与健身车的连接以及显示屏上数据的计算和显示的软件。该程序与任何类型的健身车兼容,每次踏板行程的行驶距离必须正确初始化,以米为单位。事实上,这些数据根据所使用的健身车类型变化很大。要测量踏板行程所覆盖的距离,只需使用带有本机计算机的健身车,重置所有数据,执行 100 次骑行,然后将行驶距离除以 100。结果对应于单次踏板行程所覆盖的距离,单位为米。清单非常简单。源代码的第一部分专用于变量的声明,包括 LCD 显示器的库、其初始化和 I/O 端口的配置。另一方面,loop() 函数是可操作的。它执行检测自行车传感器逻辑状态的所有动作。软件类型的防弹跳程序起到了关键作用,它确保了干净的开/关脉冲:

而(数字读取(8)==低)

延迟(10);

而(数字读取(8)==高)

延迟(10);

各种简单的数学计算涉及骑行次数、行驶的虚拟空间、自锻炼开始以来经过的时间、平均速度和消耗的卡路里的计数和计算。然后该数据显示在四行 20 列的 LCD 显示屏上。虽然这是一个比传统图形屏幕更小的显示器,但所有信息都可以轻松包含在其中。通过适当地修改程序功能,可以使用其他类型的显示器。只需要更改程序的一行以使这些措施适应您的健身车。事实上,程序员必须将变量“nMetriUnaPedalata”设置为实际测量的值。只有这样,结果才能正确显示并适应您的工具。随着第一个踏板行程,图 3。

Arduino

图 3:液晶显示屏上显示的数据

当您想结束培训课程时,您只需关闭 Arduino。当然,数据将被重置。该软件将显示以下信息:

乘车次数

行驶的(虚拟)公里数

自锻炼开始以来经过的时间,以秒为单位

平均速度

训练消耗的卡路里

显然,可以预测和添加其他类型的附加信息,例如,以米/秒为单位的速度、训练中减轻的重量、达到的最大速度以及行驶 100 公里所需的时间。对于进行此类培训的人来说,这都是非常有用的信息。

结论

由于本文中介绍的系统是一个开放项目,因此可以实现并提供显示器上显示的任何类型的新功能或信息。屏幕的大小决定了显示的数据量。Arduino是一个价格合理的开发系统,可以用于许多不同的项目。该项目还可以应用于磁性跑步机,该跑步机使用相同的冲击方法。相反,卡路里的计算是近似的,并基于一般公式。它们不应被视为绝对数据,但可以提供一个很好的参考点。更有经验的设计师可以尝试通过构建更复杂的原型来扩展系统,并连接到更大的彩色监视器。

审核编辑 黄昊宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分