WRX micro:bitを車両で使う その18 LEDのフォントとスクロールスピードを変える
micro:bitではLEDにアイコンや文字(半角アルファベット、半角数字など)の表示が可能ですが、特に文字の場合は表示のスクロール速度が一定なので、ある程度の文字数になると内容の確認に煩わしさを感じてしまいます。また日本語では「半角カタカナ」を表示させる事も出来るので、今回はこれらの機能を試してみます。
デフォルトで扱える文字
micro:bitがデフォルトで表示出来る文字は「ASCII文字コード32〜126」となっています。ASCII文字コードとは文字等を固有の識別番号で表した物ですが、micro:bitの場合は10進数で「32~126」の範囲の文字等が表示出来ます。
拡張機能で利用できるフォント
Prop.Font
Prop.Fontはmicro:bitのデフォルトフォントよりも横幅が狭くなっていて、より効率的に表示出来るフォントになっています。またスクロール速度(LED1列分の移動速度)の設定や、表示したい文字や数値の全体長さ(LEDの列数)を計算出来るので、スクロールに掛かる時間も細かく調整出来ます。
Microsot MakeCodeの拡張機能から検索欄に「Font」と入力して検索すると、「proportional-font」が表示されるのでこれを選択します。
選択するとブロックのメニューに「Prop.Font」が追加されます。このブロックで「show number」と「show string」の使用方法自体はmicro:bitの「数」と「文字列」を表示させるブロックと同じです。スピードに関してはスクロール時にLEDを「1列」移動するのに掛かる時間です。スピードを「1000(1秒)」にすると1秒ごとに文字がLEDの1列分スクロールします。
「show space cols」は指定する数だけLEDの列数としてスペースを作ります。ただし「show number」や「show string」内で指定されている文字や数の間には1列分のスペースがあり、「show space cols」は繰り返しの表示や「show number」や「show string」を繋いで表示する場合のスペースです。「show space cols」を使用しないと例えば数「123」と文字列「ABC」を繋いで表示させると、「1 2 3A B C」の様に3とAが付いてしまいます。
上記の様に数と文字列の後にそれぞれ「show space cols」でスペースを入れると、指定した分のスペースが出来ます。
「get Width of」のそれぞれ数と文字列は入力した数、文字列全てを表示させる為に必要なLEDの列数(ピクセル数)を計算します。この列数にスピード(時間)を掛ける事で数、文字列全体の表示に掛かる時間が算出出来ます。上記では文字「ABC」の表示に必要なLEDの列数を表示しています。文字A、B、Cとも3列で表示され、AとB、BとCの間に1列のスペースがあるので、3×3+2で11となります。
WhaleySans Font
WhaleySans Fontは「00~99」までの数値をmicro:bitのLEDに同時に表示出来るフォントです。2桁までの数値をスクロールせずに表示する事が可能ですが「0」は「00」です。また1桁をLED2列分で表現しているので、初めて見る場合は戸惑うかもしれません。
「Prop.Font」と同様に拡張機能から「Font」で検索すると「WhaleySans Font」も表示されます。
メニューに「WhaleySans Font」が追加されますが、ブロックは1つしかありません。
数値は0~99までの指定になっています。
上記の様なプログラムで9.9~0.0秒のカウントダウンになります。「0.0(表示は00ですが)」で0.5秒間停止します。くり返しの中のタイマーを「1000」にすれば99~00秒のカウントダウンにもなりますが、実際はmicro:bitの処理速度もあるので正確ではないと思います。
katakana(カタカナ)
katakanaはその名の通りmicro:bitにカタカナを表示します。拡張機能から「カタカナ」で検索すると表示されるので選択して追加します。
メニューに「カタカナ」が追加され、「文字列を表示」と「スクロール時間を設定」のブロックがあります。
注意点としてkatakanaでは「半角」のカタカナや数字、記号などが表示出来ますが、アルファベットについては大文字のみになっています。半角でも小文字のアルファベットは表示出来ません。表示出来る文字については拡張機能の詳細ページで確認出来ます。
ブロックへの入力も「半角」で行います。「スクロール時間を設定」ブロックは先の「Prop.Font」と同様で、スクロール時にLEDを「1列」移動するのに掛かる時間を設定します。特に指定しない(ブロックを使用しない)場合のデフォルト値は500msとなっています。
その他
ただし表示したい内容が僅かな場合は、「LED画面に表示」や高度なブロック内にある「画像」を利用して自分で作ってしまった方が早い場合もあります。「画像」のブロックでも表示速度の設定も可能です。
micro:bit 新バージョン「2.0」について
2020年11月25日より、Micro:bit本体の新バージョン「2.0」が発売になっています。従ってこれまでの古いmicro:bitを使用した記事(~その24)と新しいmicro:bitでは記事内容に相違がある場合があります。ただしこれまでのプログラムは基本的には新しいmicro:bitでも動作し、古いmicro:bitも引き続き使用する事が可能です(ハード的に新たに追加された機能は、拡張ボード等が必要ですが)。
なお新しいmicro:bitについては実際に1つ購入し、micro:bit関連記事「その25」から扱っています。
2022年4月追記
2021年12月にmicro:bit本体のバージョンが「2.2」になるとのアナウンスがありましたが、「2.0」との機能上の違いは無いとされています。
「micro:bit」関連記事
以下は「micro:bit」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。「その24」までの記事ではmicro:bit本体のバージョン「1.5」を使用しています。
クリックで開きます
- WRX micro:bitを車両で使う その1 micro:bitの購入
- WRX micro:bitを車両で使う その2 Microsot MakeCodeとスマホ用アプリ
- WRX micro:bitを車両で使う その3 micro:bitの仕様と購入したブレイクアウトボード
- WRX micro:bitを車両で使う その4 本体ファームウェアの更新とWebUSB
- WRX micro:bitを車両で使う その5 無線機能の利用
- WRX micro:bitを車両で使う その6 方位センサーの利用
- WRX micro:bitを車両で使う その7 加速度センサーの利用
- WRX micro:bitを車両で使う その8 micro:bitからSIドライブのモード切替
- WRX micro:bitを車両で使う その9 サーボモーターの利用(準備編)
- WRX micro:bitを車両で使う その10 サーボモーターの利用(動作編)
- WRX micro:bitを車両で使う その11 可動式雲台を作る(2軸編)
- WRX micro:bitを車両で使う その12 可動式雲台を作る(1軸編)
- WRX micro:bitを車両で使う その13 連続回転サーボモーターの利用
- WRX micro:bitを車両で使う その14 Bluetoothでスマホから操作(データ受信)を行う
- WRX micro:bitを車両で使う その15 LCDパネル(I2C LCD1602・2004)の利用
- WRX micro:bitを車両で使う その16 シリアル通信(RS232C)を行う
- WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用
- WRX micro:bitを車両で使う その18 LEDのフォントとスクロールスピードを変える
- WRX micro:bitを車両で使う その19 ELM327の車両との通信を確認する
- WRX micro:bitを車両で使う その20 アスキーコード16進数から数値10進数への変換
- WRX micro:bitを車両で使う その21 車両からエンジン回転数を得る
- WRX micro:bitを車両で使う その22 7セグメントLEDの利用(TM1637ドライバ)
- WRX micro:bitを車両で使う その23 DCモーターを制御する(TB6612FNG・DRV8833)
- WRX micro:bitを車両で使う その24 ステッピングモーターを制御する(ULN2003ドライバ)
- WRX micro:bitを車両で使う その25 micro:bit バージョン2.0を購入(2021年12月 v2.2アナウンスあり)
- WRX micro:bitを車両で使う その26 バージョン2.0で追加されたMakeCodeブロック
- WRX micro:bitを車両で使う その27 バージョン2.0の初期状態と追加された機能
- WRX micro:bitを車両で使う その28 新バージョン(v2.0)のI2C通信
- WRX micro:bitを車両で使う その29 環境モニターを作る(気温・気圧・湿度編)
- WRX micro:bitを車両で使う その30 環境モニターを作る(二酸化炭素・有機化合物編)
- WRX micro:bitを車両で使う その31 環境モニターを作る(LCD表示・動作確認編)
- WRX micro:bitを車両で使う その32 環境モニターを作る(RTCモジュール追加編)
- WRX micro:bitを車両で使う その33 環境モニターを作る(ロギングモジュール追加編)
- WRX micro:bitを車両で使う その34 環境モニターを作る(ログデータ記録編)
- WRX micro:bitを車両で使う その35 車内のCO2濃度と換気について
- WRX micro:bitを車両で使う その36 新バージョン(v2.0)でのI2C通信の問題解決
- WRX micro:bitを車両で使う その37 Microsoft MakeCodeの新バージョン(v4)と新機能データロガー
- WRX micro:bitを車両で使う その38 mp3音声ファイルの再生(DFPlayer Mini)
- WRX micro:bitを車両で使う その39 車速パルス信号から速度を計算する
- WRX micro:bitを車両で使う その40 フルカラーLED(WS2812B)でメーターを作る
- WRX micro:bitを車両で使う その41 フルカラーLEDマトリックス(WS2812B)で時計を作る
- WRX micro:bitを車両で使う その42 フルカラーLEDマトリックス(WS2812B)でピクセルアートアニメーションを作る
「micro:bit+プラレール」も始めました。
その他
FA用PLCとELM327を使用した「OBD2」関連の記事は以下の記事から始まります。
注記
-
- このブログ内で書いている内容はあくまで私の利用する製品(アプリ含む)や機器での場合です。他メーカーの製品や機器をはじめ、同じメーカーの製品・機器であってもバージョン違い等の場合もあるので、記事内容の保証や責任を負う事は出来ません。
- 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で仕様等を確認し、自己判断と自己責任の下で利用して下さい。
- 記事内で公開しているmicro:bit用プログラムは自由に利用・改変して頂いて構いません。ただし不具合やバグもありますので、プログラムを利用した際の故障や事故等についての保証や責任を負う事は出来ません。自己判断と自己責任の下で利用して下さい。
- micro:bit製品やプログラミング、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
- BBC micro:bitは、micro:bit教育財団の登録商標です。その他のブランド名または製品名は各所有者の商標です。