Arduino用美咲フォントライブラリを作成しました(2)
先日作成したライブラリを、以前試してみたTV出力(TVoutLibrary使用)で利用してみました。
TVout Library の入手先等の情報
・The Arduino Playground - TVout Libraty http://playground.arduino.cc/Main/TVout
・GitHub Arduino-TVout - https://github.com/Avamander/arduino-tvout
・arduino-tvout - https://code.google.com/archive/p/arduino-tvout
スケッチは表示する文字列を直接指定出来ます。
(スケッチはライブラリのサンプルスケッチとして添付しています)

使用する部品は抵抗2本とAV端子のみです。お手軽に表示出来ます。
(下記の写真のブレッドボード上の黒いのは別目的で利用している圧電スピーカーです)

画面解像度は120x96ドットです。
やはり8x8ドット フォントは文字が少々粗いですね。表示は鮮明で綺麗です。

このTVout、RAMを結構消費します(120x96ドットで1,440バイト使います)。
シリアルライブラリ(Serial)を使おうとすると、メモリが足らないようで実行できませんでした。
フォントライブラリもちょっとダイエット(RAMの消費を抑える)しないとダメそうです。
ちょっと処理を見直したいと思います。
スケッチ(プログラムソース) 2016/07/10 修正しました
#include <misakiUTF16.h> #include <TVout.h> TVout TV; // 指定位置に1文字表示 void mputc(uint8_t x, uint8_t y, uint16_t code) { int16_t pos; // フォントデータテーブルコード if ( (pos = findcode(code)) < 0) return; TV.bitmap(x,y, getFontTableAddress()+pos*8 ,0,8,8); } // 指定位置に文字列表示 void mprint(uint8_t x, uint8_t y, char* str) { uint16_t utf16; int8_t len; while(1) { len = charUFT8toUTF16(str, &utf16); // 先頭文字のutf16コードの取得 if (!len) break; // コードエラー mputc(x, y, utf16); // 1文字表示 x+=8; if (x >= 120) { x = 0; y+=8; } str+=len; if (!*str) break; // 文末に達した } } void setup() { TV.begin(NTSC, 120, 96); mprint(0,0,"【みさきフォント表示テスト】"); mprint(15,14,"今日は3月16日です。"); mprint(5,30,"ねこにコ・ン・バ・ン・ワ"); mprint(0,45,"ArduinoでTV出力です。"); mprint(0,60,"TVOUTライブラリ使用です。"); mprint(0,75,"そこそこ読めますね!"); } void loop() { }
TVout libraryのフォントとして組み込みこもうとも思ったのですが、標準フォントは
の文字コードが1バイトなので無理っぽいです。
« Arduino用美咲フォントライブラリを作成しました | トップページ | Arduino - TV出力(TVoutLibrary使用)で漢字表示 »
「arduino」カテゴリの記事
- Freenove Mecanum ホイール カー キットを購入しました(2025.05.28)
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Zorin OSでArduino Uno互換機(CH340)が認識しない(2025.01.19)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- Arduino用 SKK日本語変換ライブラリの開発 その1(2024.12.28)
« Arduino用美咲フォントライブラリを作成しました | トップページ | Arduino - TV出力(TVoutLibrary使用)で漢字表示 »

コメント