DIY 自行车速度计





结构





对于这个项目来说,拥有强大而稳定的支撑非常重要。人们认为,当自行车遇到坑洞或当你决定玩得开心并骑着自行车在崎岖的道路上行驶时,自行车可能会受到很大的冲击。此外,当车轮上的磁铁穿过支架上的霍尔效应传感器时,我们的输入就会被捕获。如果所有事情同时出错,arduino 将显示高速铁路的速度。另外,你也不想让你最好的朋友 arduino 摔倒在路上,只是因为你决定偷懒并使用一些廉价的材料
因此,为了安全起见,我决定使用铝条,因为它们可以轻松切割和钻孔,防腐蚀并且价格便宜,这对于 DIY 来说总是有好处的。
我还使用了一些螺母(带垫圈)和螺栓将它们固定在框架上,因为它们必须牢固地放置在底盘上。如果您放置错误并需要重新放置它们,这也会有所帮助。
另一个重要部分是,如果电子元件像我一样由任何金属制成,则必须将其与支架正确隔离。我使用的热胶效果很好,因为它还可以吸收一些冲击力并为显示屏提供缓冲。
传感器和磁铁





项目的测量和输入部分依赖于此部分。我们的想法是在自行车车轮上放置一个磁铁,并在车架上添加一个霍尔效应传感器,这样每次磁铁穿过传感器时,arduino 就知道完成了一圈旋转,并且可以计算速度和距离。
这里使用的传感器是经典的A3144霍尔效应传感器。当特定极点朝向正确方向时,此传感器会将其输出拉低。方向非常重要,因为外极点不会影响输出。
以下是一些显示正确方向的图片。此外,霍尔效应传感器需要一个 10k 上拉电阻。在我的项目中,它被 arduino 中的 20k 上拉电阻所取代。
小心放置磁铁非常重要。放置得稍远可能会导致读数不一致或丢失转速,而放置得过近可能会导致磁铁接触传感器,这是不太理想的。
如果你仔细观察,轮子会与轴产生一些倾斜,从而导致结壳和凹槽。尝试将磁铁放入凹槽中。我个人没有花太多精力。
显示






从理论上讲,这个显示器是可选的,但你需要一些东西来实时显示速度、距离和速度。考虑使用笔记本电脑是完全荒谬的。我使用的显示器是 0.96 英寸 OLED 显示器,使用 I2C 作为从机和主机之间的通信协议。
发布的图片展示了 arduino 自动切换的三种模式。
1)左下角有小星星的是arduino刚刚启动,并且启动成功。
2) 单位为 km/hr 的是速度。此模式仅在自行车行驶时显示,自行车停止后自动关闭。
3) 最后一个以米(公制万岁)为单位的显然是自行车行驶的距离。一旦自行车停止,arudino 就会在 3 秒内切换显示距离
这个系统并不完美。即使自行车在行驶,它也会瞬间显示行驶距离。虽然这显示出不完美之处,但我觉得这个系统很可爱。
电源




这个项目有点笨重,附近不可能总是有可用的壁式插座可以充电。所以我决定偷懒,简单地使用移动电源作为电源,并使用迷你 USB 电缆将移动电源的 USB 电源连接到 arduino nano。
但你需要仔细选择移动电源。重要的是要有合适的几何形状,以便可以轻松安装。我非常喜欢我使用的移动电源,因为它有如此规则和方形的几何形状。
此外,移动电源肯定有点笨。为了节省电量,移动电源被设计为在电流消耗不超过某个阈值时关闭输出。我怀疑这个阈值至少是 200-300 mA。我们的电路的最大电流消耗不超过 20mA。因此,普通的移动电源会关闭输出。这可能会让您认为您的电路存在故障。这款移动电源的电流消耗非常小,这给了我另一个喜欢这款移动电源的理由。
刹车灯(完全可选)




作为一项附加功能,我决定添加一个刹车灯。问题是我如何才能知道我是否在刹车。事实证明,如果我刹车,自行车就会减速。这意味着,如果我计算加速度,如果结果为负数,我就可以打开刹车灯。然而,这意味着即使我停止踩踏板,灯也会亮起。
我也没有在灯上添加晶体管,这是完全推荐的。如果有人做这个项目并正确集成了这部分,我会非常高兴看到这一点并为此添加图片。
我直接从 arduino nano 的数字引脚 2 获取电流
程序

和往常一样,我在 Arduino IDE 上编写了程序。我最初的目标是将参数记录到 SD 卡上。但不幸的是,在这种情况下,我必须使用三个库,SD.h、Wire.h 和 SPI.h。这些库与核心相结合占用了 84% 的可用内存,IDE 警告我存在稳定性问题。然而,没过多久,可怜的 nano 每次都会崩溃,一段时间后一切都冻结了。重新启动导致历史重演。
所以我删除了 SD 部分并注释了与 SD 卡相关的行。如果有人能够解决这个问题,我希望看到这些变化。
另外,我在此步骤中附加了另一个 pdf 文档,其中我详细解释了代码。
如果有任何问题,请随时提问。
快乐地进行 DIY ;-)











