如何制作自行车速度计

DOIT SUPER
转载
发布时间: 2025-06-14 16:46:07 | 阅读数 0收藏数 0评论数 0
封面
我使用Raspberry Pi和Arduino为我的自行车制作了一个速度表和跟踪器,称为“自行车仪表板”,它可以在OLED显示屏上显示速度,日期和时间,还可以跟踪自行车的路线。以下是有关如何制作自己的“自行车仪表板”的教程。本教程并不意味着完全遵循,我们鼓励您进行自己的更改,以便它最适合您!

准备工作:

材料:


材料名称

数量

型号/说明/备注

LCD

1

Arduino nano

1

树莓派Zero W

1

Neo-6M GPS 模块

1

128x64 SSD1306 OLED 显示屏

1

轻触按钮开关

跳线

穿孔板或条板

10k 欧姆电阻器

220–330 欧姆电阻器

2个

热胶、热胶枪、大猩猩胶

220V

22 个 LED:20 个白色、1 个红色、1 个绿色

视频观看链接:https://www.youtube.com/embed/PFwmq1frFkM?feature=oembed&autoplay=1

工具:


工具名称

数量

型号/说明/备注

螺丝刀

1

Arduino IDE

1

软件

X-acto刀

锋利

螺丝

1

棍子

1

斜嘴钳

1

5寸

1

3D打印

我使用 Arduino Nano、LCD 屏幕和 GPS 制作了一个“自行车仪表板”(Github Repo)。我这样做是为了在骑自行车时可以更安全地查看时间,并且我还想在没有手机的情况下跟踪我骑自行车的路线。我以为把自行车停下来检查我的手机既不方便又危险。除此之外,我还对骑自行车时查看速度感兴趣。然而,这种设计有很多问题:我不能给它放那么多功能,因为Arduino Nano没有太多内存。LCD 上的速度更新得很慢。液晶屏非常大,引起了人们的注意。即使它可以跟踪,我也无法在地图上看到它。由于这些问题,我想要一个新的设计。这种设计这款自行车仪表板的特点是将Raspberry Pi Zero W连接到Arduino。速度、日期和时间显示在 OLED 和 LED 面板上。Raspberry Pi 可以更快地获取数据,它还可以托管一个本地网站,在地图上显示您跟踪的路线。我之前的设计没有自行车仪表板的外壳,但这个设计包括一个基本的木箱。但是,您不必用木头制作它,我鼓励您为箱子想出自己的设计。自行车仪表板分为两部分:中央部分和把手部分。中心部分是 Raspberry Pi 和 GPS 所在的位置,它处理大部分操作。这件作品和电池安装在自行车的中心。手柄是显示器和开始跟踪的按钮所在的位置。这件作品安装在自行车的右把手上,在那里我可以很容易地看到屏幕并按下按钮。我为自行车仪表板添加了一个 LED 面板,以另一种方式显示速度,我计划用它实现其他功能。

如果您不想焊接,可以使用面包板。

我没有设计定制的PCB,而是将所有这些组件焊接到原型PCB上。我以后可能会设计一个定制的PCB。焊接 LED 面板是可选的,因为那里显示的所有信息都将显示在 OLED 上。

2

外壳和安装

本节仅显示我为外壳和安装所做的工作。您可能需要自己设计,因为我们的自行车是不同的。

对于中央部件和支架,我切割了 6 块木头,以便它可以包围中央部件电子设备和 PCB,并在木头上切孔,以便端口暴露在外,电线(USB 到 Arduino、USB 到移动电源和 I2C 到 OLED)可以从电子设备中出来。

“盒子”被设计成两部分,所以我可以把它们拆开:平底件将连接到自行车上,顶部部分(其他 5 件粘在一起)将充当包围电子设备的盖子。它们被拧在一起。

对于支架,我砍了 3 块木头,这些木头可以绕着自行车的顶管,然后将它们粘在一起。然后,我拿了两个螺丝和两个螺母,将“盒子”的底部连接到支架上。

手柄的工艺大致相同。我切了 5 块,将电子设备包裹在手柄上,但我没有制作第 6 块放在上面,而是在上面切割并粘上一张透明的活页夹,这样我就可以看到显示器。

为了安装它,我把它粘在前自行车反射器的支架上。我不能为中央部分这样做,因为顶管比手柄大得多,形状也不同。

3

软件安装

安装过程分为两个步骤:配置 Raspberry Pi 以使软件正常运行,以及安装软件。在此之前,请执行以下操作:

如果您尚未安装 Raspberry Pi OS,请按照以下说明操作。请确保安装“Raspberry Pi OS(32 位)”,而不是任何其他操作系统,因为它们可能不附带 Python、cURL 或 git。

设置 Raspberry Pi

设置无头树莓派

如果你还没有安装 Python,请安装:

sudo apt 更新
sudo apt 安装 python3 idle3

如果您尚未安装 cURL,请安装:

sudo apt 更新
sudo apt 安装 curl

如果您尚未安装 Git,请安装:

sudo apt 更新
sudo apt 安装 git

源代码也链接在这里

4

配置

Git:

git config --global user.name "您的姓名"
git config --global user.email "your@email.com"

用您的真实姓名和电子邮件替换“您的姓名”和“your@email.com”。

配置引脚:

1. 输入“sudo raspi-config”

2. 进入“接口选项”并选择“I2C”,然后选择“是”。

3. 返回“接口选项”,选择“串行端口”。当系统询问“是否希望通过串口访问登录shell?”时,选择“否”。然后系统会询问“是否希望启用串行端口硬件?”,选择“是”。

4.单击“完成”。

5. 重启 Raspberry Pi:“sudo restart”

5

安装

安装前, 请确保所有部件都已连接到 Raspberry Pi。查看原理图部分,了解如何连接 Raspberry Pi。

运行此命令,最好在您的主文件夹(“~”或“/home/pi”)中。

curl -sO https://raw.githubusercontent.com/jonyboi396825/BikeDashboardPlus/master/install.bash

运行此命令后,您需要确定 Arduino 的串口。输入“ls -l /dev”查看所有串口。Arduino 的端口应该是“ttyUSB*”或“ttyACM*”。检查 Arduino 位于哪个端口的最佳方法是插入 Arduino,记下“ttyUSB*”或“ttyACM*”端口,然后拔下 Arduino,看看哪个端口消失了。消失的端口就是 Arduino 的端口。

获取串行端口的路径(例如“/dev/ttyUSB0”或“/dev/ttyACM0”)后,输入此命令:

bash 安装.bash /dev/port

将“/dev/port”替换为串行端口的实际路径。在 Raspberry Pi 4 上安装过程大约需要 1-2 分钟,在 Raspberry Pi Zero 上安装过程大约需要 8-10 分钟。

2.备份“/etc/rc.local”:

sudo cp /etc/rc.local /etc/rc_backup.local

3.编辑“/etc/rc.local”:

  1. 输入“sudo nano /etc/rc.local”
  2. 向下滚动。在“exit 0”前输入“su pi -c "bash /path/to/BikeDashboardPlus/run.bash" &” 。您可以输入“cat ~/BikeDashboardPlus.txt”来查看路径。 务必添加“&”符号,否则树莓派将无法启动。 此行命令将使树莓派在启动时运行该程序。“su pi -c”会以“pi”用户身份运行该程序,以便您稍后可以访问程序中的文件。
  3. 保存并退出:按 ^X (Control-X),然后按 Y,然后按 Enter。


4. 重启树莓派:“sudo restart”

从现在开始,程序应该在你启动 Raspberry Pi 后运行。


PNG
6-5.png
236.42KB
6

使用

自行车仪表盘有两种模式:自行车模式和服务器模式。自行车模式是您在骑行时设置的模式。OLED 显示屏将显示时间、速度等信息,您还可以追踪路线。服务器模式会设置一个服务器,您可以在其中配置自行车仪表盘并查看已追踪路线的地图。

要打开自行车仪表板,请打开 Raspberry Pi 并等待 30 秒到 1 分钟让其启动。

要将其关闭,请按下中央单元上的按钮 2(连接到 RPi 上的 BCM 引脚 18 的按钮)。

自行车模式

自行车仪表板启动时会自动进入自行车模式。

显示一些设置文本后,OLED 将显示您在自行车模式下会看到的内容。此图将展示 OLED 上显示的每个组件代表的含义:图6-1

LED 面板上的 LED 编号如下:图6-2

工作原理:如果配置“LED”为 0,则 当车速为n 英里/小时、公里/小时或米/秒时, 面板上的 LED n将亮起。如果配置“LED”为 1,则当车速为n英里/小时 、公里/小时或米/秒时,面板上的 LED n/2 将亮起 。

要开始追踪,请按下连接到 Arduino Nano 上 D4 引脚的按钮。Arduino 上的绿色 LED 将亮起,OLED 显示屏右下方将显示“T”,表示您正在追踪。 请注意,如果断开连接, 即红色 LED 亮起或 OLED 显示屏上显示“M:D”,则无法追踪。

一旦开始追踪,它会立即写入一个新的追踪文件。如果您不小心启动了追踪,不用担心,您可以稍后删除它。

要暂停追踪,请按下连接到 Arduino 上 D5 引脚的按钮。暂停的指示是绿色 LED 闪烁(而不是常亮),并且 OLED 屏幕右下角显示“P”。要恢复追踪,请按下同一按钮。

要结束追踪,请按下开始追踪时按下的按钮。绿色 LED 将熄灭,OLED 屏幕右下角将不显示任何内容。

服务器模式

要从自行车模式进入服务器模式,您需要将其关闭并重新打开。为此,请按下中央单元上的按钮 2(连接到树莓派上 BCM 引脚 18 的按钮)。

当 OLED 屏幕上显示“设置”屏幕时,按住中央单元(连接到树莓派 BCM 引脚 17 的那个)上的按钮 1。当“服务器模式”屏幕显示时,您已处于服务器模式,树莓派正在您的网络上托管一个网站。请注意,如果没有互联网连接,服务器模式将失败,树莓派将进入自行车模式。

前往 OLED 上显示的网站。网址应该是“http://{your.pi.IP}:7123”。

在主页上,您应该看到以下内容(版本号会有所不同):图6-3

这里有 3 个选项:配置页面、地图页面和合并页面。我将逐一介绍每个页面的功能。

配置

配置页面应如下所示:图6-4

它是一个表格,显示了所有配置、它们的含义以及需要输入的值。您需要将该值输入到表格右侧的文本框中。

对于时区,您应该从链接中的列表中复制并粘贴,而不是直接输入,因为您必须按照表中的方式准确输入。

最后点击提交。

地图

如果您没有任何轨迹文件,地图页面上应该看不到任何内容。如果有轨迹文件,链接名称将类似于:

开始跟踪时间:<date> <time> UTC

当你点击它时,它应该看起来像这样:图6-5

(别担心,我不住在这里。)

如果您看到一条消息建议您删除该文件,则说明写入/读取跟踪文件时出现了一些错误,您应该将其删除。

由于数据是从谷歌地图复制而来的,因此数据不应该像上面显示的那样精确。

您应该能够在地图上看到您的路线。地图上有一个起点标记、一个终点标记,以及多个暂停/继续标记(具体取决于您暂停的位置)。

在地图底部,您可以根据“UNT”配置看到您已经行驶了多远。

  1. 如果“UNT”为 0(英里/小时),则以英里和英尺显示
  2. 如果“UNT”为1(km/h)或2(m/s),则以公里和米为单位

如果您意外开始跟踪并想要删除该文件,请按页面底部的“删除此文件”。

7

故障排除

如果我的程序总是退出怎么办?

如果程序在进入自行车模式之前退出,并且您的 OLED 和 Arduino 都已连接,则可能是“port”文件中到 Arduino 的端口是错误的。

如果发生这种情况,请通过 SSH 连接到你的 Pi,然后 转到此处 ,在“安装”下找到你的 Arduino 连接到哪个串口。之后,输入

纳米树莓派/端口

然后将文件中的端口更改为Arduino的新端口。然后保存并关闭文件(按^X,然后按Y,然后按回车键)。

如果我的 Arduino 或 OLED 断开连接怎么办?

如果您的 Arduino 断开连接,OLED 应该会显示以“Oh no!”开头的内容。

重新连接 Arduino,等待约 5 秒,然后按下按钮 1(连接到树莓派 BCM 引脚 17 的按钮)。如果仍然显示“Oh no!”,请尝试断开 Arduino 连接并重新连接,等待约 15 秒,然后按下按钮 1。如果问题仍然存在,请尝试关闭并重新启动 Arduino,并确保 Arduino 已连接。如果问题 仍然 存在,请转至“如果我的程序总是退出怎么办?”。

如果您的 OLED 断开连接,它应该是一个空白屏幕,或者 OLED 上的时间与实际时间不匹配,并且 Arduino 上的 TX 和 RX LED 没有快速闪烁。

尝试按下按钮 1 重启 OLED。如果再次快速断开连接,请尝试拔下 OLED 电源,然后重新插入。如果问题仍然存在,请重启 Pi,并确保 OLED 已连接。

合并跟踪文件

如果您的 GPS 在追踪过程中断开连接,而您不得不重新启动追踪,导致生成两个或更多个独立的追踪文件,您可以在“合并”页面中将它们合并。但是,地图上会显示您在一个追踪文件的末尾暂停,并在下一个追踪​​文件的开头恢复,而不是在两个文件之间绘制一条连续的线。

请注意,合并文件后无法将其拆分。

按照您想要合并文件的顺序点击复选框。您将在下方看到文件编号的顺序,以便确认您的选择。

单击“提交”以合并文件。

关闭

按下连接到 BCM 引脚 18 的按钮即可关闭 Pi。

8

结论

如果您想从 Raspberry Pi 中禁用或卸载 BikeDashboard:

禁用

这会阻止程序在您启动 Raspberry Pi 时运行。

  1. 输入 sudo nano /etc/rc.local
  2. 删除安装时添加的行(如上图所示)。
  3. 保存并退出:按 ^X (Control-X),然后按 Y,然后按 Enter。
  4. 重新启动 Pi:sudo restart。

要重新启用它,只需在 /etc/rc.local 的同一位置输入该行即可。

卸载

  1. 禁用该程序(请参阅“禁用”)
  2. cd 进入安装 BikeDashboardPlus 的目录。
  3. 您可以通过输入 cat ~/BikeDashboardPlus.txt 进行检查。

3. 输入 rm -rf BikeDashboardPlus 删除该文件夹及其所有内容。

4. 输入 rm ~/BikeDashboardPlus.txt

5. 重启树莓派:sudo restart

结束语

您不必完全按照本教程操作,因为这只是重复了对我有用的方法。我鼓励您修改代码,找到适合自己的方法,制作适合您的外壳和支架。

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载