micro:bitを使ったWGBT計(暑さ指数測定器)
校外での部活動の時の熱中症が心配です。
せっかくmicro:bitを授業で使っているのでうまく生かしてAGBT計を作ることができないか考えました。本来のWGBT計は乾球(気温)、湿球(湿度)、黒球(輻射熱)を測定して暑さ指数を割り出しています。
残念ながらmicro:bitを使って黒球の測定が難しいことが分かったので、乾球と湿球を使って簡易的に割り出す早見表(https://sbs-smc.or.jp/memo/detail/14)があることがわかりました。活動先はエアコンの利かない屋内なので早見表から割り出すことにしました。
温度と湿度を測定してディスプレイに暑さ指数が表示できるようにしました。そして、危険度が一目でわかるようにmicro:bitのLEDを使って光るところが多いほど危険度が高いことを示すようにしました。
使った物
micro:bit v2
TFab✖️Works TFW-EN1
micro:bit用 VIEW Graphics128 OLEDディスプレイ
https://www.switch-science.com/products/7445?srsltid=AfmBOoqYr7LAg4ckom-THTfFmQjfZeUFt1vldUzAEZCvYaDhj7hoPVz_
JavaScriptのコード
let t = 0
let h = 0
let a = 0
let W = 0
basic.forever(function () {
t = stem.getTemperature(OutputNumberFormat.INTEGER)
h = stem.getHumidity(OutputNumberFormat.INTEGER)
a = stem.getPressure()
W = 0.725 * t + 0.0368 * h + 0.00364 * t * h - 3.246
if (W >= 33) {
kitronik_VIEW128x64.show("" + t + "'C" + " " + ("" + h) + "%", 1, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("" + a + "hpa", 2, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("WGBT " + ("" + W), 3, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("FUKA ", 4, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
} else if (W >= 31) {
kitronik_VIEW128x64.show("" + t + "'C" + " " + ("" + h) + "%", 1, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("" + a + "hpa", 2, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("WGBT " + ("" + W), 3, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("KIKEN ", 4, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
basic.showLeds(`
. . . . .
# # # # #
# # # # #
# # # # #
# # # # #
`)
} else if (W >= 28) {
kitronik_VIEW128x64.show("" + t + "'C" + " " + ("" + h) + "%", 1, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("" + a + "hpa", 2, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("WGBT " + ("" + W), 3, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("GENJUKEIKAI", 4, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
basic.showLeds(`
. . . . .
. . . . .
# # # # #
# # # # #
# # # # #
`)
} else if (W >= 25) {
kitronik_VIEW128x64.show("" + t + "'C" + " " + ("" + h) + "%", 1, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("" + a + "hpa", 2, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("WGBT " + ("" + W), 3, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("KEIKAI ", 4, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
basic.showLeds(`
. . . . .
. . . . .
. . . . .
# # # # #
# # # # #
`)
} else {
kitronik_VIEW128x64.show("" + t + "'C" + " " + ("" + h) + "%", 1, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("" + a + "hpa", 2, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("WGBT " + ("" + W), 3, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
kitronik_VIEW128x64.show("TYUI ", 4, kitronik_VIEW128x64.ShowAlign.Left, kitronik_VIEW128x64.FontSelection.Big)
basic.showLeds(`
. . . . .
. . . . .
. . . . .
. . . . .
# # # # #
`)
}
})
投稿者 依田 実(千葉県)
投稿者プロフィール
最新の投稿
おもしろ教材2026年8月24日micro:bitを使ったWGBT計(暑さ指数測定器)
AI系2026年8月24日ヒューマン・インタフェース「会話(Xcratch拡張)」
AI系2026年8月16日ChatBot-edu “松竹梅”のバージョン揃う!
3D2026年8月9日かんたん3D工房「つくりん♪」






