こんばんは
今日の電子工作
昨日の8桁7セグメントLEDを4桁に縮小して、気象データを測るセンサーを追加
データの確認用に小さいLCDユニットも追加して、これら2つをI2Cインターフェースでmicro:bitに接続
接続方法もプログラムも以前やっているので簡単にできるかと思っていたら、ほとんど忘れていて過去の記事や本を見ながら少し苦闘した
気圧の表示
1002hPa(ヘクトパスカル)
正しいかどうかは確かめようがないが、天気図などからおそらくこんなもんだろうと言うことで納得
ちなみに、4時間ほど経ってからもう一度測ると
今度は 1004hPaで変化しているのでセンサーも正常に機能しているに違いない
ちょっと気になったのは気象センサーの測定値はどれほどの精度つまり桁数を持っているのかと言うこと
そこで測定値をセンサーのライブラリーで表示したものと、一旦文字列に変換したものを表示して見た
そのまま表示すると100485、つまりパスカルの単位
次にこれを100で割って単純にToStringメソッドで文字列に変換して表示してみると、なんと小数点以下ずいぶん持っている
この文字列から左側の4桁を切り取って表示するとちょうど気圧の単位ヘクトパスカルになる
文字列に変換したのは左から1桁ずつ取り出しやすいからである
しかしまてよ・・・
1000を切ると単純に左から4桁とると4桁目は小数点になり対応するセグメントデータに変換しにくくなる
まあいいか
あとはプログラミングの世界だけだからどうにでもなる
ソフトを考えるよりゴチャゴチャとハードをイジっていた方が楽しい
と言うことで一通り満足のいく結果になったと思っている
さて、次はどんな課題を設定しようか・・・
その前にとりあえずこんなことをして見た
大きなブレッドボードにmicro:bitを載せるようにした
半田付けの練習をしていた基盤を小さく切って穴を開けて、それにmicro:bitのアダプターをねじ止めした
その基盤にピンを半田付けしてそのピンをブレッドボードにさして固定している
板の空いたところに電源回路を面ファスナーでセットしてある
プラスとマイナスのラインをジャンパーピンでつないで、28ピンと18ピンのソケットを配置した
28ピンは16bitのI/Oエキスパンダの代わりでこれから色々と配線をしてみる
あれ?よくみると小さい方の18ピンと思っていたのが16ピンになっていますね
よく似ているので間違いやすいので注意
そうですね次のお題は、16bitのI/Oエキスパンダを使って4桁7セグメントLEDを表示してみること
その次は8X8ドットマトリクスLEDの表示ですね
16bitのI/Oエキスパンダは今まで使った8bitのものが一つの筐体に2つ入っている感じで8bitずつバンクに分かれていて、そのバンクをうまく使い分ける感じですね
バンクごとに設定があったり、設定によっては16bitを一つのバンクとして使うこともできるようです
データシートが全部英語なので解読するのが少し大変ですが、8bitの延長として考えればなんとかなるでしょう
とりあえず一つの8X8ドットマトリクスLEDの表示ができるまで頑張って見ましょう
これがmicro:bitの限界になりそうです