
microbitプログラミング 右ボタンにセルシウス!左ボタンにライトセンサー!センサー実装をしてみる。
microbitにはセンサーが付いています。
数センチのデバイスですが、加速度センサーや磁力センサー、温度センサー、照度センサーとたくさんのセンサーがついています。
今回は、そのセンサーを使って、左ボタンを押せば温度がわかり、右ボタンを押せば明るさがわかる計測器を作製したいと思います。
準備するもの
今回準備するものはこちらの2個だけです。
特に電子部品の組み立ての必要がないのでコードを実装するだけです。
microbit1個
microbit接続用USBケーブル1個
実装コード
今回のコードはボタンを押したらセンサーの値を取得してmicrobitのLEDに数値で出力させます。
from microbit import *
while True:
if button_a.was_pressed():
display.scroll(temperature())
if button_b.was_pressed():
display.scroll(display.read_light_level())
1行目はライブラリのインポートになります。
from microbit import *
2行目は常にボタンが押されたら処理できるようにwhileで無限ループにします。
while True:
3行目〜4行目は、ボタンAが押されたら、温度を出力させる処理になります。
buttom_a.was_pressed()でボタンAが押されたかの値を返します。
ボタンAが押されるとTRUEが帰ってくるので、その値によりif文で処理を加えていきます。
温度はtemperature()で取得できます。
display.scroll(temperature())とすることで取得した温度を出力します・
if button_a.was_pressed():
display.scroll(temperature())
同様にBボタンの処理もBボタンが押されたら明るさを取得してmicrobitのLEDで表示します。
Bボタンが押されたかは、button_b.was_pressed()で検知できます。
明るさの値は、display.read_light_level()で取得できます。
同じように出力は、display.scroll(display.read_light_level())とすれば良いわけです。
if button_b.was_pressed():
display.scroll(display.read_light_level())
結果動画
実装すると以下の動画のように動きます。
左ボタンを押すとセルシウス温度が出力されます。
右ボタンを押すと明るさが0から255の数値で出力されます。
左ボタンにセルシウス!右ボタンにライトセンサー(ネーミングセンスよ来い!!w)ができました。
発展・拡張できる点
今回のプログラムは簡単にセンサーから取得した値をmicrobitのLEDに出力させているだけです。
他のLCDディスプレイに映し出したり、取得した温度の値によって、microbitのスマイルなどのイメージを出力するなどの工夫をするとより面白いものが出来上がると思います。
いいなと思ったら応援しよう!
