LoginSignup
5
7

More than 3 years have passed since last update.

micro:bit+電流センサで電気調理器具のON→OFFを可視化する

Last updated at Posted at 2019-06-02

概要

電気調理器具がON→OFFになった時に通知する仕組みを作る

背景

調理器具のタイマーのアラーム(例:電子レンジの「チン」音)は聴覚障害者は気づくことが出来ないため、視覚的に通知する仕組みを作りました。

処理の流れ

1.電流がON→OFFになる
2.micro:bitが上記を検知して、アニメーションで表示

動画

調理器具の
 電源ON:音符マーク♪
 電源ON→OFF:ハートマークのアニメーション
  完了に気付いてBボタンを押すまで点滅


主要部品

回路

下記を参考にさせてもらいました。
YHDC SCT-013-000 CT とArduinoで家庭内の電流を測定す

コード

■MakeCode
https://makecode.microbit.org/_hCz5T7DFsX7w

■javascript版

vChecker.js
let StateOFF: number[] = []
let DMY = 0
let IsON = 0
let tempV = 0
let TimeList: number[] = []
let count3 = 0
let AveV = 0
input.onButtonPressed(Button.A, function () {
    FuncIsONAve()
    basic.showNumber(AveV)
    basic.pause(1000)
})
function FuncIsONAve() {
    AveV = 0
    for (let i = 0; i < 3; i++) {
        tempV = Math.round(Math.map(pins.analogReadPin(AnalogPin.P0), 0, 1023, 0, 3300))
        AveV = AveV + tempV
        basic.pause(100)
    }
    AveV = AveV / 3
    if (AveV < 1600 || AveV > 1700) {
        IsON = 1
    } else {
        IsON = 0
    }
}
AveV = 0
count3 = 0
TimeList = [0, 0, 0]
StateOFF = [0, 0, 0]
IsON = 0
basic.showIcon(IconNames.Yes)
basic.forever(function () {
    FuncIsONAve()
    if (IsON == 1) {
        basic.showIcon(IconNames.EigthNote)
    }
    TimeList.push(IsON)
    DMY = TimeList.shift()
    basic.pause(2000)
    if (100 == TimeList[0] * 100 + TimeList[1] * 10 + TimeList[2] * 1) {
        while (!(input.buttonIsPressed(Button.B))) {
            basic.showIcon(IconNames.Heart)
            basic.pause(500)
            basic.showIcon(IconNames.SmallHeart)
        }
        basic.showIcon(IconNames.Yes)
    }
})

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7