所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开

挑战自我,改进投篮计数器

珠韵 珠韵 2021-01-20 20:31:17
projectImage

在2021年1月份的时候,我搞了投篮计数器,就叫V1.0版本吧。项目完成后,发现还有一些地方可以升级,因此打算给装置升级,升级后的版本就是V2.0了!这次升级,有哪些更新呢?

1.新增这是第几个球的功能。

2.新增花球功能,花球3倍计分。(第5球为花球)

3.新增投篮数据一键下载功能。发送给Easyiot,这样可以课后下载数据。方面进行教学分析。

4.增加音效功能!使得训练更有趣味性。

上一个版本V1.0版的网址链接是https://makelog.dfrobot.com.cn/article-309679.html。建议阅读下面内容之前,先阅读V1.0版本的文章。由于V2版本是在前一个版本的基础上进行更新,所以大部分的内容是相同的,本文就重点介绍改进部分的设计。

下面是新增的器材

材料清单 材料清单
1x
Gravity: UART MP3语音模块
1x
巡线模块
1x
无源音箱小喇叭 (8Ω3W)
步骤1 步骤1
安装球数检测装置

在原来的球车前端,打孔,安装了巡线模块,当模块前方没有球贴近的时候,计数1次,这样用于检测当前拿走的球是第几个球。当拿走的球是第5个球时,这个球的分值是3分,也就是第5个球投进是3倍计分。

projectImage
步骤2 步骤2
录制语音

由于手头没有文字转语音模块,我就用mind+,设计了一语音播报程序,在电脑上运行,把声音录下来,剪辑成了若干个MP3,还从网上下载了一个欢呼的音乐,当进球的时候播放。

再把mp3音乐文件名编号,从01~10,并且复制到MP3模块中。


projectImage
步骤3 步骤3
接新增的模块

把MP3模块接到P0和P8口,用软串口功能。这里会提示和wifi有干扰可能会出错,不过我测试中没有发生干扰。

把巡线模块接在P2。

projectImage
步骤4 步骤4
程序设计

1.新增变量,程序新增了几个变量:

qiushu:记录当前是第几个篮球

fenzhi:记录当前这个球投进得几分

3fenzhi:用于记录当前球是不是3分的球

2.新增了一个函数,用于播放相应的语音。

3.程序的开始,是初始化设置,如下图。

projectImage

4.设计两个函数,“显示”函数用于点阵屏显示(安装在篮板顶端),“播放”函数用于播放相应的Mp3。

projectImage

5.当二哈模块人脸识别成功后,将ID号赋值给学号,从而确定了当前投篮选手的学号。并对一系列变量进行初始化,语音提示“请开始投篮”。

projectImage

6.设计P1引脚(红外避障传感器)的程序,P1用于检测球是否从篮筐落下。每进一个球,更新一系列的数据,并语音播报。

每次进球,把学号和成绩的数据发送到tinywebdb数据库中。老师可以用手机端读取,关于手机端程序,可以阅读V1.0的文章。

projectImage

7.设计球车上的巡线传感器的程序。

每当巡线传感器检测不到障碍的时候,变量qiushu增加1.

当qiushu为5的时候,fenzhi为3,并且语音提示。

projectImage

8.设计一键发送数据到EASYIOT的程序。

projectImage

9.投篮训练结束后,老师可以登录easyiot,下载数据(XLS格式),并进行整理。(数据整理请观看视频的末尾部分。)

projectImage
projectImage

项目基本完工了,最后来看一下视频吧,由于是一个手拿手机拍摄,一个手投篮操作,所以画面不是很稳定。

本项目源码已经上传到码云

https://gitee.com/zslqg/ck2021

Makelog作者原创文章,未经授权禁止转载。
3
1
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
|
[[c.comment_content]]