n:bit信号機(歩行者信号つき)

n:nitを接続して信号機をつくりましょう。
n:bitのLEDは車用、micro:bitのLEDは歩行者用の信号にします。
信号機の設計図はIchigoJam信号機(こちら参照)と同様にしました。

プログラム設計

n:bitのLED(緑、黄、赤)は車用、micro:bitのLED(5×5dot)は歩行者用として使用します。

・最初は、車用LEDは「青色」、歩行者用は「止まれ」表示します。

・Aボタンが押したら、歩行者が渡れるよう信号を切り換えます。
・車用LEDを「黄色」にします。
・2秒後に車用LEDを「赤色」にします。
・さらに2秒後に歩行者用表示を「すすめ」にします。
・5秒後に歩行者表示を6回点滅させます。
・歩行者用表示を「止まれ」にします。
・1秒後に車用LEDを「緑色」にします。


プログラムの作成

input.onButtonPressed(Button.A, function () {
pins.digitalWritePin(DigitalPin.P0, 0)
pins.digitalWritePin(DigitalPin.P1, 1)
basic.pause(2000)
pins.digitalWritePin(DigitalPin.P1, 0)
pins.digitalWritePin(DigitalPin.P2, 1)
basic.pause(2000)
images.createBigImage(
. . . . . # . # . .
. . . . . . # # # .
. . . . . . . # . #
. . . . . . # # . .
. . . . . # . . # #
).scrollImage(1, 200)
basic.pause(5000)
for (let index = 0; index < 6; index++) {
led.setBrightness(0)
basic.pause(200)
led.setBrightness(255)
basic.pause(500)
}
images.createImage(
. . # . .
. # # # .
. . # .
. # # # .
. # . # .
).showImage(0)
basic.pause(1000)
pins.digitalWritePin(DigitalPin.P2, 0)
pins.digitalWritePin(DigitalPin.P0, 1)
})
pins.digitalWritePin(DigitalPin.P0, 1)
images.createImage(
. . # . .
. # # # .
. . # . .
. # # # .
. # . # .
).showImage(0)