アクティブマトリクス蛍光表示管の実験用表示モジュールの試用 (2)
間が空きましたが、
アクティブマトリクス蛍光表示管(CL-VFD) MW25616L 実験用表示モジュールの試用の続きです。
前回の続きからは方向を変え、
「豊四季タイニーBASICを乗せて制御すれば面白いのでは?」と思い、やってみました。
モジュール的にはArduino互換なので、先日メモリー節約したバージョンに
micro:bit版の機能を一部を結合して実装しました。
micro:bit版の流用で2、3日くらいで実装できました。
下記のサイトにてとりあえず公開いたします。
興味のある方は参照願います。
・豊四季タイニーBASIC for MW25616L実験用表示モジュール
https://github.com/Tamakichi/ttbasic_MW25616L
リファレンス・マニュアルも付けました。
文法やコマンド等の詳細については、リファレンス・マニュアルを参照して下さい。
作成には、豊四季タイニーBASICのオリジナル版を利用しています。
また、VFDの制御には、「VFDふぁん」さんが公開している参考プログラムを利用しています。
さて、このバージョンで、どんなことが出来るかというと、
シリアル接続して、直接コマンドを打って、
VFDにメッセージ文の表示が可能です。全角文字もそのまま入力出来ます。
コマンドで簡単に表示できるのは、やはり良いです!
従来(micro:bit版)のコマンドにVDF制御のために、以下の専用コマンドを用意しました。
専用コマンド一覧
VBRIGHT :輝度を0(0%)~255(100%)の範囲で設定します。
例:VBRIGHT 100
VDISPLAY :表示のオン・オフを設定します。
例:VDISPLAY OFF
VMSG :指定したメッセージ文を指定速度でスクロール表示します。
例:VMSG 10,"日本語のメッセージ表示テスト"
VSCROLL :指定長の空白を指定速度でスクロール表示します。
例:VSCROLL 256,10
VPUT :表示バイトデータを指定速度で直接指定します。
例:VPUT MEM,16,10
逆に、メモリ的制約からいくつかのコマンドを削除しています。
プログラム例
コマンドを使ったプログラム作成して、ちょっとした動きのある表示も出来ます。
プログラム作成はシリアル接続のスクリーンエディタにて入力出来ます。
10 'VDF表示サンプル 20 TONE 440,100:TONE 880,100 30 @(0)="熱いぞ!埼玉!" 40 @(1)="豊四季タイニーBASIC" 50 @(2)="VFD対応バージョン" 60 @(3)="只今開発中!" 70 @(4)="ちょっとメモリー的に厳しい.." 80 VBRIGHT 255 90 FOR S=0 TO 4 100 VCLS:VMSG 10,STR$(@(S)) 110 FOR I=0 TO 255 STEP 15 120 VBRIGHT 255-I:WAIT 40 130 NEXT I 140 WAIT 500 150 VBRIGHT 255:WAIT 500 160 VSCROLL 256,3 170 WAIT 500 180 NEXT S 190 GOTO 80
(2018/08/06 修正:10行のVBRIGHT 100をVBRIGHT 255の修正)
10 VCLS:VBRIGHT 255 20 @(0)="時","分","秒" 30 M=ARRAY+6:POKE M,0 40 R=I2CR($68,M,1,M+1,7) 50 VMSG -1,"現在の時刻は" 60 FOR I=0 TO 2 70 VMSG -1,HEX$(PEEK(M+3-I),2);STR$(@(I)) 80 NEXT I 90 VMSG 0,"です" 100 WAIT 1000 110 VSCROLL 256,-1 120 GOTO 40
スライド抵抗器でVFD上に表示しているバーをドット単位で左右に動かすプログラム
10 @(0)=$FFFF 20 A=ANA(20)>>2:IF A=0 A=1 30 VPUT ARRAY,2,-1 40 VSCROLL A,0 50 VSCROLL 256,-1 60 WAIT 20 70 GOTO 20
色々と機能てんこ盛りの結果、フラッシュメモリの利用率は99%!
メモリ容量的に、micro:bit版と比べると色々と制約が発生しました。
・プログラムサイズは 512バイトまで
・内部EEPROMに保存できるプログラムは2本まで
・スクリーンエディタの画面サイズは 横48文字x縦8行 固定
他に色々と制約があります。
暫く、動作確認をして修正を行っていきます。
スケッチは一部を修正すれば、Arduino UNOでも利用出ます。
参考サイト
追記 2017/02/15(夜)
メモリーの制約からフルスクリーンエディタの画面サイズが横48文字x縦8行はとなり、
長い行のプログラムの作成においては、視野の狭い範囲でのスクロール編集となり、
ちょっと使いづらいです。
そこで、フルスクリーンエディタを有効・無効設定するコマンドを追加しました。
これはこれで良いかも。
無効にすると、逆スクロール編集、任意の位置にカーソルを移動しての編集、
画面制御を行うコマンド(LOCATE等)が機能しなくなりますが、
スクリーンエディタ機能を臨機応変に切り替えて利用することで、
とりあえずは実用としてしのげそうです。
« 豊四季Tiny BASIC for ArduinoのSRAM消費軽減対応 | トップページ | Arduino Unoの内部EEPROMの利用(書込みの高速化)に関するメモ »
「arduino」カテゴリの記事
- 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)
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
「表示器制御関連」カテゴリの記事
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
- Arduino用 美咲フォントライブラリを更新しました(2024.03.21)
- Raspberry Pi Pico(MicroPython)でLEDドットマトリックスを使ってみる(2024.03.14)
- Raspberry Pi Pico MicroPython用のマルチフォントライブラリ(2023.02.09)
- MicroPython(Raspberry Pi pico)で8x8ドットNeoPixcel文字表示(2023.02.08)
「VFDモジュール」カテゴリの記事
- アクティブマトリクス蛍光表示管の実験用表示モジュールの試用 (3)(2018.08.06)
- アクティブマトリクス蛍光表示管の実験用表示モジュールver.2の動作確認(2018.07.28)
- 豊四季タイニーBASIC for Arduino機能拡張版 作成しました(2018.03.18)
- アクティブマトリクス蛍光表示管の実験用表示モジュールの試用 (2)(2018.02.15)
- アクティブマトリクス蛍光表示管の実験用表示モジュールの試用(2016.07.23)
« 豊四季Tiny BASIC for ArduinoのSRAM消費軽減対応 | トップページ | Arduino Unoの内部EEPROMの利用(書込みの高速化)に関するメモ »
コメント