micro:bitで電灯消し忘れ通知システムを作ってみた

きっかけ

昼夜問わず洗面所の電灯の消し忘れが目立つようになったので、micro:bitを使って消し忘れを通知するシステムを作りました。

仕組み

micro:bitを2台用意し、1台目は洗面台の明るさを感知してから消灯までのカウントを行い、2台目はリビングに置いてスピーカーから通知音を鳴らします。micro:bit同士は無線で接続し、1台目のカウントを2台目に送信し、2台目で180カウント(約3分)を超えたら音を鳴らすようにしています。

ソースコード

1台目(明るさ感知)

input.onButtonPressed(Button.A, function () {
    basic.showNumber(input.lightLevel())
    basic.clearScreen()
})
input.onButtonPressed(Button.B, function () {
    basic.showNumber(カウント)
    basic.clearScreen()
})
let カウント = 0
radio.setGroup(1)
basic.forever(function () {
    if (input.lightLevel() > 10) {
        カウント += 1
    } else {
        カウント = 0
    }
    radio.sendNumber(カウント)
    basic.pause(1000)
})

2台目(通知音)

input.onButtonPressed(Button.B, function () {
    basic.showNumber(カウント)
    basic.clearScreen()
})
radio.onReceivedNumber(function (receivedNumber) {
    カウント = receivedNumber
})
let カウント = 0
radio.setGroup(1)
basic.forever(function () {
    if (カウント > 180) {
        music.playTone(262, music.beat(BeatFraction.Whole))
    }
    basic.pause(1000)
})

結果

手洗いから戻った人が通知音で消し忘れに気づくことができ、消灯のために戻るような習慣ができました。皆が消し忘れを無くすよう意識するになって満足しています。