×

推杆速度追踪器开源分享

消耗积分:0 | 格式:zip | 大小:0.30 MB | 2023-06-29

李杰

分享资料个

描述

动机:

所有高尔夫球手都知道练习推杆会有点无聊,而且很容易失去注意力。

 

此外,如果用户按下面包板上的绿色按钮,LCD 屏幕将显示推杆速度历史记录,第一个推杆记录为列表中的 #1。

 

按 PocketBeagle 上的电源按钮关闭设备。

设置/构建过程:

声音的:

我尝试处理的第一个程序功能是音频。我决定使用 aplay,一个用于 ALSA 声卡驱动程序的音频文件播放器。我用下面的代码下载了播放器。

pip3 install aplay

我使用了一个通用的在线 .wav 文件记录器来记录我想要集成到项目中的各种音频文件。我只是将这些文件下载到 PocketBeagle 的文件目录中。需要稍微修改 .asoundrc 文件和 asound.conf 文件以使 aplay 功能正常工作。必须通过将以下代码粘贴到两个文件中来更改默认扬声器系统。

pcm.!default {
        type hw
        card 1
}

ctl.!default {
        type hw
        card 0
}

我不得不在 asound.conf 文件中注释掉原来的默认值。为了在程序中启动这些音频文件,必须导入和使用 os 函数。其格式如下所示。

import os
os.system("aplay ")

扬声器通过 USB1 引脚中的 miscroUSB 适配器连接到 PocketBeagle。microUSB 转 USB 适配器连接到第一个适配器。然后,将 USB 到辅助适配器连接到第二个适配器。然后扬声器连接到辅助插孔。此设置如下所示。

poYBAGN3KYWAYypAABPu3HwK0eo953.png
 

传感器:

我完成的项目的下一部分是接线并确认 2 个红外距离传感器的功能。两个传感器均提供 5V 电源并作为 GPIO 输入运行。第一个传感器连接到引脚 P2_04 (gpio58),第二个传感器连接到引脚 P2_06 (gpio57)。我首先通过检查它们的输入值来测试它们的功能,确保在每个传感器前面放置一些东西时它们从 0 变为 1。然后我决定了我希望传感器彼此之间的距离为 17.75 厘米,这样我就可以在代码中完成速度计算。记录第一个传感器被激活的时间,然后记录第二个传感器被激活的时间。

为了将传感器固定在适当的位置,我决定将它们安装在一块木头上。我首先将这块木头喷漆成绿色,并标记了需要安装传感器的位置。

pYYBAGN3KY2AF1LpAA9ydIXirew617.png
 

然后我用小木螺钉将传感器固定到位。然后传感器就准备好了!

poYBAGN3KZOABGIEAArRCVwUZwM759.png
 

液晶显示器:

完成传感器设置后,我决定研究设备的显示功能。我决定将 I2C 焊接到 20x4 字符 LCD 显示器上以简化接线。

poYBAGN3KZiAAUt_AAiV8CyC70Q048.png
 

然后我将跳线插入 I2C 背包的接地、电源、DAT 和 CLK 引脚,并将它们连接到面包板。

纽扣:

完成推杆速度跟踪装置组装的最后一步是集成四个按钮。所有四个按钮都作为 GPIO 输入连接到 PocketBeagle,并具有连接到 3.3V 电源的 1k 欧姆上拉电阻。我添加到面包板上的第一个按钮是启动设备记录功能的黄色按钮。此按钮连接到引脚 P2_02 (gpio59)。然后我添加了将设备模式切换到历史显示的绿色按钮。此按钮连接到引脚 P2_08 (gpio60)。此按钮还会触发宣布模式更改的音频剪辑。接下来,我连接了红色和蓝色按钮,这些切换按钮允许用户在速度历史显示中上下滚动。蓝色按钮向下滚动推杆速度列表,红色按钮向上滚动列表。红色按钮连接到引脚 P2_10 (gpio52),蓝色按钮连接到引脚 P2_19 (gpio27)。下图显示了四个按钮的设置。

poYBAGN3KZ-AAOoBAAvAuR-PBRE890.png
 

代码:

该代码由三个文件组成:主代码、运行脚本和配置引脚文件。主程序定义了三个功能:记录功能、打印历史功能和切换历史功能。这些函数由 while 循环组成,其中包含许多等待某些事件的 if 语句,即。按钮按下或传感器激活。程序最终进入一个主while循环,再次等待按下某些按钮以调用各种功能,按下黄色按钮以启动记录功能,按下绿色按钮以显示历史记录。

结束语

这个项目制作起来非常有趣!代码非常简单明了,设备运行良好。我期待着玩弄音频文件,也许让扬声器根据推杆的速度来开一些笑话。感谢威尔士教授一路帮助我,向我展示了 Python 和嵌入式系统是多么有趣!我期待在课堂之外继续使用 Python 并从事类似的项目。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !