Arduino 读取并数码显示车速传感器数

材料

介绍

7 段显示器上的背板允许它使用 I2C 协议(也称为两线接口)由 Arduino 控制。 如果没有 I2C 背板,您将必须直接控制每个数字的所有八个部分,这将耗尽 Arduino 上的所有引脚,或者您必须找出其他一些可能最终与 Adafruit 所做的非常相似的方法。 每个 Arduino 型号都有用于 I2C 的特定引脚。

车速传感器

自 1990 年代后期以来,大多数现代计算机控制的汽车都有一个称为 VSS 或车速传感器的传感器。传感器的位置各不相同,但它们都做同样的事情,即计算传动系统某些部分旋转的次数。在我的车上,VSS 在变速器中。 VSS 的输出是 5 伏直流方波信号中,每英里一定数量的脉冲。

本项目的第一步是找出每英里,我的 VSS 发出多少脉冲。这个数字因汽车制造商而异,有时因车型而异。我找到了一家制造售后巡航控制系统的公司,他们的安装手册包含每英里汽车和 VSS 脉冲的列表。每英里脉冲值的范围可以从 2000 一直到 38600。我汽车上的 VSS 输出 4000 ppm,这似乎是一个常见值,但您必须为您的特定车辆找出正确的值,否则读数将不正确。您还可以查阅他们的安装手册以了解 VSS 信号线的位置。注意的是您只能接入 VSS 线而不是完全中断它。发动机和变速箱计算机也使用此信号。

计算公式

现在,我知道我的 VSS 每英里输出 4000 个脉冲。 接下来,我需要弄清楚如何将其转换为每小时英里数。 在查看了一些关于如何测量脉冲的示例代码后,我决定对 VSS 脉冲计数一秒钟。 有了这些信息,我就可以将脉冲计数转换为 mph。 首先,我将一小时(每小时英里数)转换为 3600 秒。然后将每英里脉冲数除以秒数(4000/3600)。然后将传感器上计数的脉冲数除以该值。这是我的最终公式。

原型构建

我从 Arduino Uno 和 Adafruit Protosheild 开始。 我剪了一根旧的 USB 电缆,连接 7 段显示器。 USB 电缆非常适合此操作。 两条线用于 I2C 和两条较大规格的线用于电源和接地。 我剪了 USB 电缆的末端并剥去了每根电线。 我用焊锡给电线镀锡,这样我就可以将它们直接插入面包板,并添加一些热缩管以消除应变。 这是接线的Fritzing图:

这是接线的样子:

我为 7 段显示器制作了一个快速的小纸板外壳,以保护它免受阳光照射。

在晚上测试后,我决定添加一个光电池(光敏电阻)来控制显示器的亮度。 需要进行一些调整才能使亮度变化恰到好处。 最初,显示器的亮度随着我经过的每个路灯而波动。 我更改了代码,使用平均 30 个光级读数。 这样亮度会慢慢变化。

这是白天在我车里的样子。

晚上的样子,

代码

详情参阅 - 亚图跨际

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值