少兒程式設計之比賽計分牌
記分牌怎麼做
本節目標
先看一下比賽中計分器都是什麼樣的?
記分牌
記分牌
本節課的目標就是用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配合擴充套件版的結合使用。
數字線和時鐘線的插線方法,這個比較重要,很多感測器模組都使用這個方法。
分數邏輯的轉化,這個演算法應該是核心了。
學習程式設計學的就是邏輯思維能力和解決問題能力。