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

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

プログラム設計

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

・最初は、車用は」、歩行者用は「止まれ」を表示させます。

・ボタンAが押されたなら、まず、車用を」にします。
・2秒後に、車用を」にします。
・さらに2秒後に、歩行者用を「すすめ」の表示にします。
・5秒後に歩行者用の「すすめ」表示を6回点滅させます。
・歩行者用を「止まれ」の表示にします。
・1秒後に車用を」にします。


プログラムの作成

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)