少兒程式設計之比賽計分牌

記分牌怎麼做

本節目標

先看一下比賽中計分器都是什麼樣的?

少兒程式設計之比賽計分牌

記分牌

少兒程式設計之比賽計分牌

記分牌

本節課的目標就是用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配合擴充套件版的結合使用。

數字線和時鐘線的插線方法,這個比較重要,很多感測器模組都使用這個方法。

分數邏輯的轉化,這個演算法應該是核心了。

學習程式設計學的就是邏輯思維能力和解決問題能力。