1
使用 Raspberry Pi 和 Arduino,我为我的自行车制作了一个速度计和跟踪器,称为“Bike Dashboard”,它在 OLED 显示屏上显示速度、日期和时间,还可以跟踪自行车的路线。以下是有关如何制作自己的“自行车仪表板”的教程。本教程并不意味着完全遵循,我们鼓励您进行自己的更改,以便它最适合您!!!
通过报告错误和建议升级来帮助改进项目。浏览源代码并在此处做出贡献。
在 2021 年 4 月的春假期间,我使用 Arduino Nano、LCD 屏幕和 GPS制作了一个“自行车仪表板”(项目描述,Github Repo) 。我这样做是为了在骑车时更安全地查看时间,而且我还想跟踪我在没有手机的情况下骑车的路线。我认为把我的自行车停下来检查我的手机时间是不方便和危险的。除此之外,我还对骑自行车时查看速度感兴趣。
然而,这种设计有很多问题:
此自行车仪表板具有连接到 Arduino 的 Raspberry Pi Zero W。速度、日期和时间显示在 OLED 和 LED 面板上。Raspberry Pi 可以更快地获取数据,它还可以托管一个本地网站,在地图上显示您跟踪的路线。
我之前的设计没有用于 Bike Dashboard 的外壳,但这个设计包括一个基本的木箱。但是,您不必用木头制作,我鼓励您自己设计一个案例。
自行车仪表板分为 2 部分:中央部分和把手部分。中心部分是 Raspberry Pi 和 GPS 所在的位置,它处理大部分操作。这件和电池安装在自行车的中心。手柄是显示器和开始跟踪的按钮所在的位置。这块安装在自行车的右把手上,在那里我可以很容易地看到屏幕并按下按钮。
我为 Bike Dashboard 添加了一个 LED 面板,以另一种方式显示速度,我计划用它实现其他功能。
这些是您制作此项目可能需要购买的零件。根据您制作此项目的方式,您可以省略一些部分或获取其他部分。
这些是我使用的:
可以在此处找到有关接线的信息。
如果您不想焊接,可以使用面包板。
我没有设计定制 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
以便您稍后可以访问程序中的文件。
不要键入“ vvvv Add here vvvvv"
. 那只是为了显示在哪里添加行。
4. 重启 pi:sudo reboot
从现在开始,该程序应该在您启动 Raspberry Pi 后运行。
这可以防止程序在您启动 Raspberry Pi 时运行。
sudo nano /etc/rc.local
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”配置。
如果您不小心开始跟踪并且想要删除文件,请按页面底部的“删除此文件”。
如果程序在进入自行车模式之前退出,并且您的 OLED 和 Arduino 都已连接,则可能是port
文件中 Arduino 的端口错误。
如果发生这种情况,ssh
请进入您的 Pi,然后转到此处并在“安装”下查看您的 Arduino 连接到哪个串行端口。之后,输入
nano raspberrypi/port
然后将文件中的端口更改为Arduino的新端口。然后保存并关闭文件(按 ^X,然后按 Y,然后输入)。
如果您的 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。
您不必完全按照本教程进行操作,因为这只涵盖了对我有用的内容。我鼓励您修改代码并找到自己的方式来制作和安装外壳,以便它适合您。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !