micro:bitとGROVE Inventor Kitを使ったものづくり入門(3) 7セグディスプレイ編
この記事はmicro:bitの基本的な使い方をすでに学習した人が、GROVE Inventor Kitを使ってステップアップするためのものです。前回の記事では最初のセンサーとしてジェスチャーセンサーを紹介しました。今回は数字を表示するためのモジュールを紹介します。
前回の記事はこちらです。
(この記事はものゼミのために執筆しています。)
7セグメントディスプレイって何?
7セグメントディスプレイ(7セグ)は数字を表示するためのモジュールです。Groveキットの7セグメントディスプレイモジュールでは4桁の数字を表示することができます。また、”2桁:2桁”のように表示することもでき、時間の表示も可能です。
写真でわかるように、1つの数字につき7つの細長いLEDを光らせたり消したりして表現しています。電卓などの表示と同じですね。
7セグメントディスプレイに数字を表示してみよう
では、早速数字の表示をしてみましょう。まずはGROVEシールドと7セグメントディスプレイを接続します。今回はP0/P14, P1/P15, P2/P16のいずれかに接続します。どの接続端子につないだかを後でプログラムの中で指定します。
次に、前回と同じようにGroveの拡張機能を追加します。
プログラムの初めに、ディスプレイをどの端子に接続しているかを指定する必要があります。今回はP0/P14端子に接続しましたので、下の画像のようにDigitalPin.P0とDigitalPin.P14を指定します。1行目はdisplayというオブジェクトの型を指定しているのですが、今はおまじないだと思って大丈夫です。
次に、show( )メソッドを使って数字の表示を行います。
show( )メソッドでは4桁の数字を表示でき、桁数が4桁に足りない文についてはLEDは消灯します。
ここまで記述してmicro:bitに書き込むと、ディスプレイに数字を表示できます。
表示できたでしょうか?
もし表示されない場合は、
・オブジェクトの型を指定したか (今回は1行目)
・白い端子を接続したピンを正しく指定したか (今回は2行目)
・白い端子は奥までささっているか
・micro:bitはGROVEシールドに奥までささっているか
を確認してみましょう。
場所を指定して数字を表示する
bitメソッドを使うことで、指定した場所に数字を表示することができます。
bit(表示したい数字, 表示したい場所)というように使います。
表示したい場所は左から0番目、1番目、2番目、3番目で指定します。
コロンを表示する
コロンの表示の切り替えにはpoint()メソッドを使います。
trueにすると、真ん中に:を表示します。
消したいときはfalseを指定します。
表示をクリアする
ディスプレイの表示を全て消したいときは、clear( )メソッドを使います。
このメソッドを呼び出すと、ディスプレイのLEDが全て消灯します。
ディスプレイの明るさを調整する
数字の表示の明るさを調整することができます。
0~7の8段階で指定することができ、0が一番暗く、7が一番明るくなっています。もし数字を読み取りにくかったら明るさを調整してみましょう。
時間を表示してみよう
最後に、今まで紹介したメソッドを使って、時間の表示をしてみます。
ボタンを使って24時間表示と12時間表示の切り替えを行ってみました。
6行目と7行目で指定した時間に合わせて、それ以降で表示の切り替え処理を行っています。
このコードを動かすと、AボタンとBボタンで時刻の切り替えを行い、表示しているモードによってmicro:bitの表示文字も切り替えすることができます。
実際に時計として動かすには、リアルタイムクロックというモジュールを使ったり、PCやスマホを介して実際の時刻を取得してくる必要があります。(機会があれば紹介します。)
今回は7セグメントディスプレイの使い方の紹介をしました。
メソッドが多いですが、使いたいことに合わせて、その時必要なものを使っていけたらいいと思います。
次回は超音波距離センサーの紹介をする予定です。
この記事が気に入ったらサポートをしてみませんか?