tkmiumのブログ

tkmium-note

プログラミング中に気づいたことや日々の記録を書いていきます。情報関係基礎の解説記事等も作成します。

micro:bit(マイクロビット)でプログラミング(3 : 光センサーの利用)

こんにちは。

今回は光センサーを使ってみようと思います。

光センサーはどこにある?

f:id:tkmium:20190106121424j:plain

マイクロビットには25個のLEDが搭載されていますが、これを光センサーとしても用いることができます。

 

光センサーサンプルプログラム

プログラムはGitHubで公開しています。必要な方はダウンロードしてお使いください。Clone or download -> Download ZIP でダウンロードできます。

github.com

 

光の強さをグラフで表示

今回は、光の強さによって、LEDが光る数が変化するようなプログラムを作ります。

f:id:tkmium:20190106140649p:plain

JSだと以下

f:id:tkmium:20190106140727p:plain

 

簡単ですね。

シミュレーターで確認してみます。

f:id:tkmium:20190106140823g:plain

光入力の最大値は255なので、そのように設定しています。

 

明るくなると、光るLEDの数が増えていきます。

 

いざ、実装!

マイクロビットをUSBで繋げて、.hexファイルを転送します。

f:id:tkmium:20190106141038g:plain

見にくいですが、手で覆うと点灯するLEDの数が減り、明るくなると点灯するLEDの数が増えます。

 

一定の明るさで外部LEDを点灯

せっかくなので、マイクロビットの端子を使って明るさによって外部LEDを点灯するようなプログラムを作ってみましょう。

 

今回は、LEDや抵抗、ジャンプワイヤーが必要です。

私はArduinoに付属していたものを使いました。

 

プログラムはこのようにしました。明るさ(255が最大)が128以上になったら、LEDが点灯、128未満の場合は消灯します。

f:id:tkmium:20190106145343p:plain

JSだと以下

f:id:tkmium:20190106145557p:plain

 

回路はこのようにしました。

f:id:tkmium:20190106145924p:plain

 

実装!マイクロビットをUSBで繋げて、.hexファイルを転送します。

f:id:tkmium:20190106150529g:plain

一定の明るさ以上で青色LEDが点灯するのが確認できました!

 

感想

外部LEDのプログラムは、片付けてから気づいたのですが暗くなったら点灯、明るくなったら消灯にすればよかったなと思いました。

「明るさ >= 128」を「明るさ < 128」にするか、出力する0と1の値を逆にすればOKです。

 

外部回路を使えたりするところに無限の可能性を感じました。

 

次は何をしようかなあ。

 

www.tkmium.tech