【Gravity】Mind+掌控板进阶教程-项目一 投篮机

2019-07-093.7万
精华项目
AI 快速预览详细 收起
本教程介绍了如何使用掌控板和超声波传感器制作一款投篮机。首先,通过头脑风暴环节探讨游戏设计的反馈机制和成就感,然后详细介绍掌控扩展板的功能和使用方法。接着,讲解超声波传感器的工作原理及其在投篮机中的应用。最后,提供了详细的连线图和编程示例,帮助读者实现投篮机的基本功能。
项目一 投篮机


你最喜欢玩的游戏是什么?

相信每个人都有自己的答案,不管是小时候和大人去赶集玩过的套环、飞镖射气球,还是学生时代的篮球、足球,又或者是现在风靡的各类电子游戏、电玩城游戏。在玩游戏的时候,时间总是过得那么快,又那么快乐。

你有没有想过:你为什么会觉得这个游戏好玩?如果让你设计一款游戏,你要如何让它变得好玩呢?

其实游戏设计的秘诀主要有两点:
1、简单的反馈机制:玩家行为可以快速获得反馈。
2、成就感:设定目标,玩家在达成目标时会获得成就感、满足感。

比如扔沙包游戏,扔中敌方就是进攻成功,接到敌方的沙包就是防守成功,这就是最简单的反馈;躲过敌方的沙包攻击或者用沙包打中敌方,都会获得成功的快乐,这就是成就感。

从这两点出发,思考一下你喜欢玩的游戏在这两个特征上是不是有特别的优势呢?尝试将它总结出来。

在这个项目中,我们将从上面两点秘诀去理解游戏设计,并设计一款好玩的投篮机。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图1

头脑风暴:如何构建一台好玩的投篮机?

问题清单
1、投篮机是怎么玩的?
2、投篮机好玩的点在哪里?尝试从反馈机制和成就感两个方向各举例说明。
3、关于投篮机,你还有更好玩的想法吗?
4、你的想法具备可实现性吗?需要哪些传感器或执行器?
5、你的投篮机有怎样的外观?

核心知识点

一、掌控扩展板

掌控扩展板完全兼容掌控板和microbit主板。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图2

使用方法:
【Gravity】Mind+掌控板进阶教程-项目一 投篮机图3
功能介绍:

10路3Pin IO口、两路IIC口(可外接颜色传感器等)、一路UART口(可外接MP3模块等)
分别兼容掌控板金手指和microbit金手指;
板载两路电机接口,且不占用额外引脚;
板载PH2.0及microUSB两种供电口,既可以通过usb线供电,也可以通过电池盒或者锂电池,供电电压3.5-5V,板载电源开关,可以打开或关闭供电电源;
板载一个带有开关的高品质蜂鸣器,使用掌控板的时候,不支持扩展板蜂鸣器,请将蜂鸣器关闭,此时可正常使用P0口。;
兼容乐高孔径,可以与乐高积木拼插结合。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图4

供电方式:

主板直接供电: 使用主板USB供电。此时,可以使用扩展板的各种扩展口及蜂鸣器。因主板驱动电流有限,无法使用电机驱动。

扩展板USB供电口供电: 使用电脑USB口或充电宝、手机充电头供电。此时,扩展板的所有功能均可使用。

扩展板外接电池盒:使用PH2.0接口的3节干电池盒或3.7V锂电池供电,输入电压为3.5~5V。此时,扩展板的所有功能均可使用。

引脚说明:

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图5

二、超声波传感器

什么是超声波?(结合物理学科)

物理课堂上讲过声音是由物体振动产生的。比如说话时声带会动,打鼓时鼓面在振动。发声物体在一秒钟之内振动的次数叫做声音的频率,单位是赫兹(Hz)。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图6

声音作为一种波,人耳可以听到频率为20HZ-20KHZ,超过20KHZ称为超声波,低于20HZ的称为次声波。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图7

超声波的折射与反射:

超声波可以在气体、液体及固体中传播,传播速度依次加快。超声波有折射和反射现象,并且在传播过程中有衰减。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图8

超声波优点:

■ 频率高、波长短、绕射现象小;
■ 方向性好、能够定向传播;
■ 碰到杂质或分界面会产生显著反射、形成反射波的特点。

超声波传感器

利用超声波的优点,可做成各种超声传感器,在通迅、医疗、家电等领域得到广泛应用。
超声波传感器一般由发送传感器(或称波发送器)、接收传感器(或称波接收器)、控制部分与电源部分组成,有的超声波传感器既作发送、也能作接收。
超声波测距工作原理:发射器发出的超声波,遇到障碍物发生反射,接收器接收到反射波,从而使传感器检测到障碍物。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图9【Gravity】Mind+掌控板进阶教程-项目一 投篮机图10         

Urm10超声波

在掌控板入门套件中,我们使用了Urm10超声波,探测距离为5cm-300cm。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图11

通过此模块,可以获得在探测范围内的确切的障碍物的距离。

引脚定义:
+5V:电源引脚
GND:接地                                         
ECHO:接收引脚
TRIG: 发送引脚
【Gravity】Mind+掌控板进阶教程-项目一 投篮机图12


思考一下:利用超声波可以实现投篮机的什么功能呢?

规划方案

功能分解:
【Gravity】Mind+掌控板进阶教程-项目一 投篮机图13
【Gravity】Mind+掌控板进阶教程-项目一 投篮机图14


构思外观:

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图15

问题记录:

在后面项目实现过程中,可能会遇到各种各样的困难,尝试在下表中记录你遇到的问题和解决办法,便于以后出现类似问题时能更好的面对。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图16

功能实现

功能1:超声波判断篮球是否投中

连线说明:扩展板上的10路IO口分为黑、红、绿3种颜色,功能如下表。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图17

* 所有GND引脚或电源引脚可互相通用,信号引脚与标注的IO号一一对应。

超声波连线图:TRIG→P1、ECHO→P2、+5V→电源引脚、GND→GND引脚

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图18

* 这里要将掌控板插入扩展板中(带有OLED屏的一面,朝向扩展板上掌控图标),为了便于看清连线,在图中画未出掌控板。后面连线图都默认连接掌控板,不再重复说明。

Mind+软件设置

1、打开Mind+软件(1.5.5及以上版本),选择“上传模式”。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图19

2、打开“扩展”,在“主控板”下选择“掌控板”。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图20
3、再次打开“扩展”,在“扩展板”下选择“掌控扩展板”。如果没有用到电机,这里可以不选择扩展板,用到电机的项目再选择即可。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图21


* 每次编程时都要先完成以上软件设置,后面项目不再重复。

测试程序:串口读取超声波距离
* 编程前先要点击Mind+中“扩展",在“传感器”下选择“超声波测距传感器”。
【Gravity】Mind+掌控板进阶教程-项目一 投篮机图22

功能程序:超声波每次检测到障碍物,算作进球一次,将得分实时显示在屏幕上

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图23

功能2:按下按钮,开始或结束游戏

这里以按钮为例,作为游戏开关。
连线图:按钮→P8

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图24

按钮作为数字传感器,按下为1、松开为0,将按钮作为游戏开关时,需每按下一次按钮就切换游戏开始或结束的状态。如何实现呢?

根据掌控板裸板课程项目五 心情灯的学习,我们知道只需要在编程时加入一个变量记录按钮按下的次数即可,按下次数为奇数表示游戏开始,为偶数表示游戏结束。对奇数和偶数的判断可以通过将该数除以2求取余数的办法,余数为1则为奇数,余数为0则为偶数。

流程图分析:
【Gravity】Mind+掌控板进阶教程-项目一 投篮机图25

功能程序:

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图26

构造外观

示例图:

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图27

更多创意

通过上面两个案例,只是实现投篮机的基本功能,如果你有更多的创意,赶紧动手尝试吧!
在前面提到的“倒计时闯关功能,在规定时间内,投中数量要达到最低要求,才能继续游戏”也是一个不错的想法,实现程序可以参考掌控板裸板课程项目十二 电子秒表,通过获得系统时间进行倒计时判断。

评价与反思

与人分享快乐,能产生更多快乐,尝试与身边的人一起分享你的投篮机吧!你还可以在DF创客社区中分享作品,听听更多人的建议!社区网址:www.dfrobot.com.cn

问卷调查:

尝试让玩过你投篮机的人做下面的问卷表,看看在别人眼中这个作品的闪光点与不足。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图28

自我反思:

梳理自己设计项目的思维逻辑、项目在执行层面的问题和经验等等,可以帮助我们形成学习的闭环,加深在项目进行的过程中对知识点和内容的理解,找到可以改进和提高的地方。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图29

附件-完整参考程序

在上面项目中未实现投篮机中屏幕文字提示部分,比如游戏开始、游戏结束等。
完整参考程序如下。

【Gravity】Mind+掌控板进阶教程-项目一 投篮机图30
【Gravity】Mind+掌控板进阶教程-项目一 投篮机图31

课程目录

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(16)
帘点
帘点
为什么我做了之后,用球投篮却感应不到,好像是球的速度太快了,超声波传感器都没感应到。用手拿着慢慢放下模拟就没问题,所以程序就是没问题的,请问那有什么办法解决吗?
三春牛-创客
三春牛-创客
谢谢分享!挺好玩的
三春牛-创客
三春牛-创客
教程不错,学习了
zerotwox
zerotwox
项目式学习,赞啊。
开心西奈
开心西奈
课程太优秀了
huahua_
huahua_
哈哈哈哈,很好的作品
GD
GD
我是一名创客老师,很喜欢您的分享,多向您学习请教,可以邀请您到我的微信吗?(abcdffsm)
Iron鸿蒙
Iron鸿蒙
很赞
pATAq
pATAq
很有创意哇
LeSoleil
LeSoleil
太好了!
Mandy
Mandy
很赞!
gada888
gada888
great idea
gray6666
gray6666
有意思。。。。。
rzyzzxw
rzyzzxw
项目式学习,赞啊。
铁熊
铁熊
创意好赞啊,学习一下!
rzegkly
rzegkly
很棒的想法
- 没有更多了 -