本节目标
先看一下比赛中计分器都是什么样的?

记分牌

记分牌
本节课的目标就是用Microbit和四位数码管做一个简易版记分牌。
课前准备
Microbit板子
TM1637数码管
Microbit扩展版
连接线一组四根
接线

整体接线效果
要特别注意时钟线和数字线的插线方法

数字线和时钟线插在了13 14引脚

数码管的接线

代码中和硬件要保持一致
CLK、SCK一般称作为时钟线,SDA、DIO一般称作为数字线。称呼可能不同但是作用相同。
逻辑梳理和编码过程
需求
有红、蓝两个队伍,红队进球红队加一分,蓝队进球蓝队加一分。
开始模拟这个效果,按下A按钮视为红队得分,按下B按钮视为蓝得分。
编码
继续在Makecode中实现,对makecode不熟悉的可以看Micro:bit少儿编程入门第一课
对TM1637基本使用不熟悉的可以看Micro:Bit 连接TM1637数字显示屏
- 初始化工作,首先引入TM1637的扩展,初始化TM1637,

初始化TM1637
2.初始化一个分数变量。这里要详细说明,数码管最多可以显示4位数字,也就是0000~9999的范围,两队的话最多显示99:99的比分。我们这次主要使用函数是

显示数字
新建一个变量score作为比分。

在makecode菜单栏设置一个变量score
初始数字是0000四位,红队得一分应该显示为01:00,其实为0100,相当于score加上100;这时蓝队又得了一分应该显示01:01,其实为0101,相当于score加1。
就在此时红队进一球

用A按钮模拟红队进球
蓝队不甘示弱也得一分

用B按钮模拟蓝队得分
主要思路和逻辑至此已经基本完成。剩余的就是完善细节。完整代码奉上

完整代码
注意我在初始化的时候使用了:

显示:
这个函数的作用就是显示数码管中间的冒号“:”true 显示,false不显示,这样更加趋近于比分牌的样子。
看一下最终成果吧。
视频加载中...
完美达到了我们的预期成果。
课程总结
- 实践了TM1637数码管的使用。
- Microbit配合扩展版的结合使用。
- 数字线和时钟线的插线方法,这个比较重要,很多传感器模块都使用这个方法。
- 分数逻辑的转化,这个算法应该是核心了。
学习编程学的就是逻辑思维能力和解决问题能力。