资料介绍
描述
介绍
使用 Raspberry Pi 和 Arduino,我为我的自行车制作了一个速度计和跟踪器,称为“Bike Dashboard”,它在 OLED 显示屏上显示速度、日期和时间,还可以跟踪自行车的路线。以下是有关如何制作自己的“自行车仪表板”的教程。本教程并不意味着完全遵循,我们鼓励您进行自己的更改,以便它最适合您!!!
通过报告错误和建议升级来帮助改进项目。浏览源代码并在此处做出贡献。
背景
在 2021 年 4 月的春假期间,我使用 Arduino Nano、LCD 屏幕和 GPS制作了一个“自行车仪表板”(项目描述,Github Repo) 。我这样做是为了在骑车时更安全地查看时间,而且我还想跟踪我在没有手机的情况下骑车的路线。我认为把我的自行车停下来检查我的手机时间是不方便和危险的。除此之外,我还对骑自行车时查看速度感兴趣。
然而,这种设计有很多问题:
- 因为 Arduino Nano 没有太多内存,所以我无法在上面添加那么多功能。
- LCD 上的速度更新非常缓慢。
- 液晶屏幕非常大,引起了人们的注意。
- 即使它可以跟踪,我也无法在地图上查看它。由于这些问题,我想要一个新的设计。
这种设计
此自行车仪表板具有连接到 Arduino 的 Raspberry Pi Zero W。速度、日期和时间显示在 OLED 和 LED 面板上。Raspberry Pi 可以更快地获取数据,它还可以托管一个本地网站,在地图上显示您跟踪的路线。
我之前的设计没有用于 Bike Dashboard 的外壳,但这个设计包括一个基本的木箱。但是,您不必用木头制作,我鼓励您自己设计一个案例。
自行车仪表板分为 2 部分:中央部分和把手部分。中心部分是 Raspberry Pi 和 GPS 所在的位置,它处理大部分操作。这件和电池安装在自行车的中心。手柄是显示器和开始跟踪的按钮所在的位置。这块安装在自行车的右把手上,在那里我可以很容易地看到屏幕并按下按钮。
我为 Bike Dashboard 添加了一个 LED 面板,以另一种方式显示速度,我计划用它实现其他功能。
?

如何制作自行车仪表板
所需零件
这些是您制作此项目可能需要购买的零件。根据您制作此项目的方式,您可以省略一些部分或获取其他部分。
电子产品
- Raspberry Pi Zero W (此链接到套件)
- 面包板(如果您不想焊接,建议在焊接前进行测试)
硬件
这些是我使用的:
原理图
如果您不想焊接,可以使用面包板。
我没有设计定制 PCB,而是将所有这些组件焊接到原型 PCB 上。我以后可能会设计一个定制的PCB。焊接 LED 面板是可选的,因为那里显示的所有信息都将显示在 OLED 上。
外壳和安装
本节仅显示我为案例和安装所做的工作。由于我们的自行车不同,您可能必须自己设计。
对于中心件和底座,我切割了 6 块木头,这样它就可以包围中心件电子设备和 PCB,我在木头上切了一些孔,以便暴露端口和电线(USB 到 Arduino,USB 到移动电源,和 I2C 到 OLED)可能来自电子产品。
“盒子”被设计成两部分,所以我可以把它们拆开:平底部分将连接到自行车上,顶部部分(其他 5 个部分粘在一起)将充当封闭电子设备的盖子. 他们被拧在一起了。
对于支架,我切割了 3 块木头,它们会绕在自行车的上管上,然后将它们粘在一起。然后,我拿了两个螺丝和两个螺母,将“盒子”的底部连接到支架上。
手柄的过程大致相同。我剪了 5 块来封装手柄的电子设备,但我没有制作第 6 块放在上面,而是剪了一张透明的活页纸并将其粘在上面,这样我就可以看到显示器了。
为了安装它,我将它粘在前自行车反射器的安装座上。我无法为中央部分执行此操作,因为上管比手柄大得多并且形状不同。


软件安装
安装过程中有两个步骤:配置您的 Raspberry Pi 以使该软件能够正常工作,以及安装该软件。但是,在此之前:
如果您尚未安装 Raspberry Pi 操作系统,请按照以下说明进行操作。确保安装“Raspberry Pi OS(32 位)”而不是任何其他操作系统,因为它们可能不附带 Python、cURL 或 git。
如果没有安装 Python 安装:
sudo apt update
sudo apt install python3 idle3
如果您没有安装 cURL 安装:
sudo apt update
sudo apt install curl
如果没有安装 Git 安装:
sudo apt update
sudo apt install git
配置
吉特:
git config --global user.name "Your name"
git config --global user.email "your@email.com"
将“Your name”和“your@email.com”替换为您的实际姓名和电子邮件。
配置引脚:
1. 输入sudo raspi-config
2. 进入“接口选项”并选择I2C
,然后选择是。
3. 返回“界面选项”并选择Serial Port
。当它询问时Would you like a login shell to be accessible over serial?
,选择否。然后它会询问,Would you like the serial port hardware to be enabled?
然后选择是。
4. 单击完成。
5. 重启树莓派:sudo reboot
安装
在安装之前,确保所有东西都连接到 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 install.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
:
-
类型
sudo nano /etc/rc.local
-
向下滚动。在.
su pi -c "bash /path/to/BikeDashboardPlus/run.bash" &
之前输入exit 0
。您可以通过键入来查看路径是什么cat ~/BikeDashboardPlus.txt
。确保添加 & 符号,否则 Pi 将无法启动。此行将使 Raspberry Pi 在启动时运行程序。以用户su pi -c
身份运行程序,pi
以便您稍后可以访问程序中的文件。
- 保存并退出:按 ^X (Control-X),然后按 Y,然后输入。

不要键入“ vvvv Add here vvvvv"
. 那只是为了显示在哪里添加行。
4. 重启 pi:sudo reboot
从现在开始,该程序应该在您启动 Raspberry Pi 后运行。
禁用
这可以防止程序在您启动 Raspberry Pi 时运行。
-
类型
sudo nano /etc/rc.local
- 删除安装时添加的行(如上图所示)。
- 保存并退出:按 ^X (Control-X),然后按 Y,然后输入。
-
重启树莓派:
sudo reboot
。
要重新启用它,只需/etc/rc.local
在同一位置键入该行。
卸载
- 禁用程序(参见“禁用”)
-
cd
进入您安装 BikeDashboardPlus 的目录。
-
您可以通过键入检查
cat ~/BikeDashboardPlus.txt
3. 键入rm -rf BikeDashboardPlus
以删除文件夹及其所有内容。
4.类型rm ~/BikeDashboardPlus.txt
5.重启树莓派:sudo reboot
用法
自行车仪表板有 2 种模式:自行车模式和服务器模式。自行车模式是您在骑自行车时设置的模式。OLED显示屏将显示时间、速度等,您可以跟踪您的路线。服务器模式设置服务器,您可以在其中配置自行车仪表板并查看跟踪路线的地图。
要打开 Bike Dashboard,请打开 Raspberry Pi 电源并等待 30 秒到 1 分钟以使其启动。
要关闭它,请按下中央单元上的按钮 2(连接到 RPi 上 BCM 引脚 18 的按钮)。
自行车模式
自行车仪表板在启动时会自动进入自行车模式。
显示一些设置文本后,OLED 将显示您将在自行车模式下看到的内容。此图将显示 OLED 上显示的每个组件所代表的内容:

这是 LED 面板上 LED 的编号方式:

工作原理:如果配置“LED”为 0,则 LED n (在面板上)会在您行驶n mph、km/h 或 m/s 时亮起。如果“LED”设置为 1,则当您以n mph、km/h 或 m/s 行驶时, LED n/2将亮起。
要开始跟踪,请按下连接到 Arduino Nano 上引脚 D4 的按钮。Arduino 上的绿色 LED 会亮起,并且 OLED 显示屏的右下角会出现一个“T”,表示您当前正在跟踪。请注意,如果您断开连接,即红色 LED 亮起或 OLED 上显示“M:D”,则无法进行跟踪。
一旦您开始跟踪,它将立即写入一个新的跟踪文件。如果您不小心开始了此操作,请不要担心,您可以稍后将其删除。
要暂停跟踪,请按下连接到 Arduino 上引脚 D5 的按钮。您已暂停的指示灯是绿色 LED 闪烁而不是一直亮着,并且 OLED 在右下角显示“P”。要恢复,请按相同的按钮。
要结束跟踪,请按与开始跟踪时按下的按钮相同的按钮。绿色 LED 将关闭,并且 OLED 的右下角应该没有任何显示。
服务器模式
要从自行车模式进入服务器模式,您需要将其关闭并重新打开。为此,请按下中央单元上的按钮 2(连接到 RPi 上 BCM 引脚 18 的按钮)。
当“设置”屏幕出现在 OLED 上时,按住中央单元上的按钮 1(连接到 RPi 上 BCM 引脚 17 的那个)。当“服务器模式”屏幕出现时,您处于服务器模式,并且 Raspberry Pi 正在您的网络上托管一个网站。请注意,如果没有互联网连接,服务器模式将失败并进入自行车模式。
转到 OLED 上显示的网站。
在主页上,您应该会看到这个(版本号会有所不同):

有3个选项:配置页面、地图页面和组合页面。我将介绍每个人所做的事情。
配置
配置页面应如下所示:

它是一个表格,显示了所有配置、它们的含义以及您必须输入的值。您必须将该值输入到表格右列的文本框中。
对于时区,您应该从链接中的列表中复制和粘贴,而不是输入它,因为您必须像在表格中一样输入它。
最后点击提交。
地图
如果您没有任何轨迹文件,您应该无法在地图页面上看到任何内容。如果这样做,链接名称将类似于:
Started tracking at:
当你点击它时,它应该是这样的:

(别担心,我不住在这里。)
如果您看到一条建议您删除文件的消息,则说明在写入/读取跟踪文件时出现了一些错误,您应该将其删除。
数据不应该像从谷歌地图复制的那样精确。
在地图上,您应该能够看到您的路线。有一个开始标记、一个结束标记和多个暂停/恢复标记,具体取决于您暂停的位置。
在地图的底部,您应该会看到您已经走了多远,具体取决于您的“UNT”配置。
- 如果“UNT”为 0 (mph),则以英里和英尺显示
- 如果“UNT”为 1 (km/h) 或 2 (m/s),则以公里和米为单位显示
如果您不小心开始跟踪并且想要删除文件,请按页面底部的“删除此文件”。
故障排除
如果我的程序总是退出怎么办?
如果程序在进入自行车模式之前退出,并且您的 OLED 和 Arduino 都已连接,则可能是port
文件中 Arduino 的端口错误。
如果发生这种情况,ssh
请进入您的 Pi,然后转到此处并在“安装”下查看您的 Arduino 连接到哪个串行端口。之后,输入
nano raspberrypi/port
然后将文件中的端口更改为Arduino的新端口。然后保存并关闭文件(按 ^X,然后按 Y,然后输入)。
如果我的 Arduino 或 OLED 断开连接怎么办?
如果您的 Arduino 断开连接,OLED 应显示以“哦,不!”开头的内容。
重新连接您的 Arduino,等待约 5 秒,然后按下按钮 1(连接到 RPi 上 BCM 引脚 17 的按钮)。如果仍然显示“Oh no!”,则尝试断开 Arduino 并重新连接,等待约 15 秒,然后按下按钮 1。如果问题仍然存在,请尝试将其关闭并重新启动,确保Arduino 已连接。如果它仍然发生,请转到“如果我的程序总是退出怎么办?”。
如果您的 OLED 断开连接,它应该是一个空白屏幕,或者 OLED 上的时间与实际时间不匹配,并且 Arduino 上的 TX 和 RX LED 没有快速闪烁。
尝试按下按钮 1 重新启动您的 OLED。如果它再次快速断开连接,请尝试拔下 OLED 并重新插入。如果问题仍然存在,请重新启动您的 Pi 并确保 OLED 已连接。
结合
如果您的 GPS 在跟踪时断开连接,而您不得不重新开始跟踪,导致 2 个或更多单独的跟踪文件,您可以在“合并”页面中将它们合并。但是,在地图上,它将指示您在一个跟踪文件的末尾暂停并在下一个跟踪文件的开头恢复,而不是在两者之间绘制一条连续的线。
请注意,您不能在合并文件后将它们分开。
按要合并文件的顺序单击复选框。您将在下面看到文件编号的顺序,以便您确认您的选择。
单击提交以合并文件。
关机
按下连接到 BCM 引脚 18 的按钮以关闭 Pi。
结论
您不必完全按照本教程进行操作,因为这只涵盖了对我有用的内容。我鼓励您修改代码并找到自己的方式来制作和安装外壳,以便它适合您。
- 基于Arduino UNO的自行车里程表和车速表 1次下载
- 使用粒子光子跟踪自行车运动
- 使用簧片开关确定自行车速度的项目
- PCB制作的自行车交通转向灯
- 电动自行车充电桩介绍 14次下载
- 高配版自平衡自行车原理图下载 0次下载
- 电动自行车通用智能充电器的设计.
- 锂离子电池在电动自行车上的应用 20次下载
- 基于单片机的自行车测速系统仿真 80次下载
- 51单片机测量自行车速度 19次下载
- 电动自行车电路图
- APPLICATIONS电动自行车
- 电动自行车解决方案
- 自行车仿真器力反馈技术的研究
- 数字式自行车车速表电路及制作
- 电动自行车电路降压方案 389次阅读
- 关于电动自行车易着火 455次阅读
- 自动自行车灯电路原理图讲解 2337次阅读
- MPF42791 在电动自行车中的应用 959次阅读
- 为电动自行车设计高效的动力系统 1705次阅读
- 使用廉价组件的电子自行车定向灯电路 1618次阅读
- 电动自行车控制器的分类及失效原因分析 6885次阅读
- 自给自足!如何制作一个自发电的自行车灯? 2w次阅读
- 如何制作一个自行车轮胎的防滑装置? 7975次阅读
- 锂电池电动自行车有什么优缺点_锂电池电动自行车价格多少 6.6w次阅读
- 电动自行车锂电池组保护电路设计 7197次阅读
- 自制电动自行车快速充电器 1w次阅读
- 单片机设计:简易的自行车里程表 6262次阅读
- 电动自行车控制器的技术原理解析 3169次阅读
- 自行车回安全光栅电路-Bicycle back Safety 4199次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论