利用 micro:bit 控制三色 LED 燈的開關控制。
所需材料: micro:bit、Super:bit、LED 交通燈、母母杜邦線四條。
G <=> P3
Y <=> P2
R <=> P1
GND <=> GND
打開 makecode 網址
建立新專案
輸入「LED」
在類別「進階」> 「引腳」
選取「數位信號寫入引腳 P0 數字 0」
更改引腳為 P1、P2、P3 及其數字 1 (高電位) - 開啟
更改引腳為 P1、P2、P3 及其數字 0 (低電位) - 關閉
把紅燈每隔一秒閃動開關。
把紅、黃、綠燈輪流開關。
基本 > 暫停 ( ) 毫秒
進階 > 引腳 > 數位信號寫入 引腳 ( ) 數字 ( )
使用重複無限次迴圈
留意輸入引腳的次序
同一時間 : 關閉之前開的燈、開啟另一燈
每隔 2000 毫秒 即是 2 秒
任務二程式解說
basic.forever(function () {
pins.digitalWritePin(DigitalPin.P2, 0)
pins.digitalWritePin(DigitalPin.P3, 1)
basic.pause(2000)
pins.digitalWritePin(DigitalPin.P3, 0)
pins.digitalWritePin(DigitalPin.P1, 1)
basic.pause(2000)
pins.digitalWritePin(DigitalPin.P1, 0)
pins.digitalWritePin(DigitalPin.P2, 1)
basic.pause(2000)
})
以上程式可按上方 Javascript 按鈕
不斷循環
於 P2 引腳設定為 0 (低電位)
於 P3 引腳設定為 1 (高電位)
等待 2 秒
於 P3 引腳設定為 0 (低電位)
於 P1 引腳設定為 1 (高電位)
等待 2 秒
於 P1 引腳設定為 0 (低電位)
於 P2 引腳設定為 1 (高電位)
等待 2 秒
模擬真實紅黃綠燈的狀態,如下圖。在夜間,綠燈 [3] 長著讓汽車行走,直至有行人按制,才由綠燈轉為黃燈[4]。
P3 : 綠燈 P2: 黃燈 P1: 紅燈
狀態 1 : 只亮紅燈
等待 1 秒
狀態 2 : 亮紅黃燈
等待 1 秒
狀態 3 : 只亮綠燈
等待按制 [A] 或 [B]
狀態 4 : 只亮黃燈
等待 1 秒
循環
怎樣做到等待一件事件發生才做下一步呢?首先要設定迴圈部份,若果不滿足某條件,便不斷在迴圈內重覆。
若按 「A」制才做下一步,我們必須使用 [迴圈] > [重複判斷] 積木。
並且使用 [邏輯] > [不成立] 積木 及 [輸入] > 按鈕A被按下?作為條件
即若果沒有按下 [A] 制,只會在迴圈內不斷重覆顯示 [站立] 圖案。若A制被按下,便會離開迴圈,做下一步指令。