前の記事でMicropythonとmicrobit_ssd1306ライブラリーを使ってMicro:bitからOLED有機ELディスプレイにテキストメッセージを表示する例を紹介しました。今回は、カタカナをテキストで表示するライブラリーを追加しましたので紹介します。
当記事は、シリーズでマイクロビット(Micro:bit)のプログラミングについて紹介しています。初めての方はこちらをご覧ください。
以下の項目については前回の記事を参照してください。
・使用するOLED有機ELディスプレイについて
・Micro:bitとOLED有機ELディスプレイの接続
2021/9/15更新:当記事はMicro:bit V1.5 、Mu Editor V1.0.2 の時点でテストして問題ない事を確認していますが、最近Mu Editor V1.1.0b5 と Micro:bit V2でテストしたところ表示が崩れる事が判明しました。まだ問題判別中ですが、カタカナストリングをindexで何番目にあるか調べているのですが、2文字目にあるにも関わらず3が返されます。3文字目は6、4文字目は9、、、、です。半角英文字ストリングでは問題ないので、2byte文字の問題か私のコーディング問題の可能性があります。原因はさておき、kana_prt関数を書き直して問題なくカタカナが表示できるようになりましたので、記事を更新しました。
当記事はMicro:bit V2 と Mu V1.1.0b5で動作確認していますので他の組み合わせでは動作しない可能性があります。
1.実際にカタカナを表示してみる
Githubに私のブランチを作成しました。こちらからオリジナルのライブラリーと私の追加したライブラリーが入手できます。すでにオリジナルを入手済みの方は、以下からkana_sample.zipをダウンロードして下さい。以下の手順はすでにssd_1306のライブラリーを導入しテキストをディスプレイに表示できる方用です。まだの方は、こちらの記事を参照してください。
ssd_1306OLED用ライブラリー
1-1.ダウンロードしたkana_sample.zipを解凍してください。kana_sampleフォルダーが作成され、フォルダー内にkana1.py、kana_sample.py、kana_help.txtのファイルが解凍されますので、mu_codeフォルダーにkana1.pyとkana_sample.pyをコピーしてください。
kana1.py : ssd1306_px.pyを利用して、カタカナ文字列を表示するプログラム。
kana_sample.py:カタカナを表示するサンプルプログラム
kana_prt(keta, gyo, km )の使い方(kana_help.txtと同じ内容です)
カタカナだけであれば、4行10文字表示できます。但し、英文字は4行12文字ですので、混在させる場合は調整してください。行については英文字と合わせてあります。kmに10文字以上指定しても10文字しか表示しません。また、ketaによって自動的に表示文字数を変えています。例えば、ketaが9であればkmに何文字指定しても1文字しか表示されません。gyoも4以上指定しても3に強制的にしています。
関数の引数について
keta:1行10文字で何文字目から表示するか0~9で指定します。改行はサポートしていません。仮に9を指定した場合はkmに何文字指定しても最初の1文字のみ表示されます。
gyo:何行目に表示するか0~3で指定します。0~3以外を指定した場合は3になります。
km : Ver 1.0ではカタカナを直接指定していましたが、Ver 2.0 ではローマ字もどきの指定です。もし、以下の例にない文字を指定した場合は表示は■になります。
アイウエオ :a@i@u@e@o@
カキクケコ :kakikukeko
サシスセソ :sasisuseso
タチツテト :tatituteto
ナニヌネノ :naninuneno
ハヒフヘホ :hahihuheho
マミムメモ :mamimumemo
ヤユヨワン :yayuyowann
半濁音、濁音フォント(ガ、ポなど)はサポートしていません。半濁音は『O@』(英大文字オー@)、濁音は『’@』(シングルクォーテーション@)、長音は『-@』(ダッシュ@)。例えば、『ガッコウ』は”ka’@tukou@”、『パイプ』は”haO@iihuO@”と指定してください。
Ver 1.0から 2.0 への更新理由はMu1.1.0b5でVer 1.0は正しく表示ができなくなってしまったためです。私のコーディングの問題かもしれませんが、引数でカタカナがうまくkana_prt関数に渡せなくなってしまったためです。
1-2.Muを開始して、kana_sample.pyを開いてください。
1-3.必要なライブラリーをMicro:bitにコピーするためにをクリックすると、以下の様な画面になりMicro:bit内とコンピューター内のmu_codeフォルダーが表示されます。
1-4.必要なライブラリーをコンピューターのファイル:からドラッグして、Micro:bitのファイルにドロップしてコピーします。kana1.py、ssd1306.py、ssd1306_px.py、ssd1306_text.pyをMicro:bitにコピーします。
1-6.file操作を止めるために再度をクリックします。これをしないと転送できません。その後、転送をクリックしてプログラムをMicro:bitにコピーします。
1-7.転送が終わるとプログラムが実行され、カタカナと英文字が以下のように表示されます。
2.カタカナ表示を利用したプログラムの作成例
以下は、ブロックエディターで作成した『マジック8ボール』をカタカナ表示を利用してMicropythonで作成した例です。
Micro:bit V2でメモリーが増えたため、上のサンプルプログラムでも問題無く動きます。Magic8ballでは占い結果が20ありますので、サンプルプログラムに追加してみてください。
最後まで記事をお読みいただきありがとうございます。
記事の改善に役立てたいと思いますので、よろしければアンケートにご協力ください。
今回の記事に使用したMicro:bit以外の製品は以下になります。
コメントを書く