概要
Arduino UNO R4 WiFiを入手しました。このArduinoには、8x12のLEDマトリックスが付属しています。このLEDマトリックスに、美咲フォントを表示するためのライブラリを作成しました。
美咲フォントをArduinoで利用するためのライブラリである、Arduino-misakiUTF16で取得したビットマップを、LEDマトリックスに表示します。
garretlab_LEDMatrixライブラリ
garretlab_ArduinoGraphicsとgarretlab_LEDMatrixというライブラリを作成しました。利用するには、以下のライブラリが必要です。
- Arduino_LED_Matrixライブラリ
- Arduino UNO R4 WiFiに付属しているLEDマトリックスを制御するためのライブラリです。
- ArduinoGraphicsライブラリ
- LEDマトリックスライブラリと併用すると、LEDマトリックスに、テキストを表示したり、スクロールしたりすることができます。
- ドキュメントを日本語に翻訳しました。
- Arduino-misakiUTF16
- Arduino用の美咲フォントドライバライブラリです。
今回作成したライブラリでは、Arduino-misakiUTF16ライブラリで取得したビットマップデータ(8ビットx8)を、ArduinoLEDMatrixの機能を利用して、表示しているだけです。
当初は、美咲フォントを表示するプログラムを、Arduino_LED_Matrixライブラリに追加したような形にしていました。しかし、Arduino_LED_MatrixライブラリとArduinoGrphicsライブラリの役割分担と同じように、美咲フォントをビットマップ化する部分は、garretlab_ArduinoGraphicsライブラリで実現し、ビットマップを表示する部分をgarretlab_LEDMatrixライブラリとして実現することで、他のデバイスでも美咲フォントを表示できるようにしてみました。
日本語表示以外の関数は、Arduino_LED_MatrixライブラリやArduinoGraphicsライブラリの機能をそのまま使えるはずです。
関数 | 説明 |
---|---|
garretlab_LEDMatrix() | コンストラクタ。 |
int begin() | LEDマトリックスの利用を開始する。 |
void textFont(const Font& which) | 使用するフォントを設定する。美咲フォントは、Font_Misaki です。 |
void beginText(int x = 0, y = 0) | テキストの先頭文字の表示位置を指定する。x=0, y=0が、LEDマトリックスの一番左上です。負数を指定することもできます。省略時は0です。 |
int print()/println() | LEDマトリックスに表示する文字を設定します。美咲フォントを表示するときは、println()を使っても、CR/LFは取り除きます。 |
void endText(int scrollDirection = NO_SCROLL) | LEDマトリックスにテキストを表示します。スクロールする方向は、NO_SCROLL(スクロールなし)、SCROLL_LEFT(左スクロール)、SCROLL_RIGHT(右スクロール)、SCROLL_UP(上スクロール)、SCROLL_DOWN(下スクロール)を選択することができます。省略時はNO_SCROLLです。 |
void endDraw() | LEDマトリックスに表示します。 |
void textScrollSpeed(unsigned long scrollSpeed) | テキストをスクロースするスピード(1ドットずれるまでに要する時間)を、ミリ秒単位で設定します。デフォルト値として150msを設定しています。 |
具体的な使い方は、ライブラリに付属のスケッチ例を参照してください。
コード
https://github.com/garretlab/garretlab_LEDMatrix
バージョン
Hardware: | Arduino UNO R4 WiFi |
Software: | Arduino IDE 2.2.1/Arduino UNO R4 Boards 1.0.5 |
最終更新日
August 18, 2024