
■ Tektronix 4010(4014) グラフィック・ターミナルへ描画 ■ |
ミニコン(ミニ・コンピュータ)が活躍していた1970年代に、英数字とグラフィックが表示できるディスプレイ・ターミナル「Tektronix 4010(4014)」がありました。
このターミナルにシリアル回線で送るコマンドが標準となり、ターミナル・エミュレータ・ソフトの「Tera Term」にも、このTEK4010(4014)端末エミュレーション機能が搭載されています。
実際にはRS-232Cなどのシリアル回線でキャラクター文字と制御コードを送って、文字列やグラフを描画させています。
よって、AVRなどのマイコンとの接続も、マイコンに内蔵されているUARTを使って「RS-232C」や「USB-シリアル変換」を経由し、「Tera
Term」をインストールしたパソコンに接続するだけです。
Arduinoボードには「USB-シリアル変換」機能も付いているので、ボード単体でパソコン画面にグラフを表示させる事もできます。
AVRに接続する小型のLCDよりも遙かに大きく高解像度な画面と、その画面を簡単に印刷する機能を得る事ができます。

「Tera Term」のグラフィック表示画面
(AVRからデータを送った、パソコンの画面) |

印 刷 (ハードコピー) A4の紙 横置き
(パソコンに接続された任意のプリンターにて) |
環境の準備 |
1.AVR回路
・UART(USART)を搭載したAVRマイコン回路に、「RS-232Cインターフェース」や
「USB-シリアル変換モジュール」を経由して、パソコンに接続します。
参考回路
FT232RL USBシリアル変換モジュール[AE-UM232R]使用 パソコン通信 テスト
グラフィックLCDで、RS-232Cターミナルの製作
・USBドライバーのインストールと、デバイスマネージャー画面で表示されるCOM番号を控えておいて
下さい。
・UARTを内蔵していないAVRでも、任意のポートを使用したソフトウェアUARTを使用して接続する
事ができます。
(後に記載する組み込みプログラムとライブラリーの一部を変更する必要がります。)
・Arduinoボードには「USB-シリアル変換」が搭載されているので、追加のハードウェアの必要がなく、
即座に描画をさせる事ができます。
|
2.ターミナル・エミュレーター・ソフト 「Tera Term」のインストール
・Tera Termの最新版をダウンロードしてインストールします。
[teraterm-4.84.exe](記事作成時の最新版)を実行します。
・インストールは標準でOKです。
詳細は「Tera Term インストール」で検索してみて下さい。
|
3.「Tera Term」の設定
・「RS-232Cインターフェース」や「USB-シリアル変換モジュール」は、パソコンに接続して
動作状態にしておいて下さい。
・「Tera Term」を起動します。
 |
○接続の設定。
・「Tera Term: 新しい接続」ウィンドウで、シリアル(E)に
チェックを付けます。
・パソコンに接続したシリアル・インターフェースの
ポートCOM番号を選択します。
・[OK]をクリックします。
|
 |
○ボー・レートの設定。
・メニューバーから 設定(S) → シリアルポート(E) と進み
「Tera Term: シリアルポート 設定」ウィンドウを開き
ます。
・ボー・レート(B)欄で、通信をする速度を選択します。
(Arduinoは、モデルによってボー・レートが違います)
・[OK]をクリックします。
|
 |
○TEK4010モードへ自動切り替えの設定。
・メニューバーから 設定(S) → 端末(T) と進み、
「Tera Term: 端末の設定」ウィンドウを開きます。
・自動切り替え(VT<->TEK)(U)にチェックを付けます。
・[OK]をクリックします。
|
 |
○グラフィック画面の設定。
・メニューバーから コントロール(O) → TEKウィンドウを
開く(O) と進み、「Tera Term VT TEK」ウィンドウを
開きます。
・メニューバーから 設定(S) → フォント(F) と進み、
「フォント」ウィンドウを開きます。
・フォントのサイズを変更する事で、グラフィック画面の
大きさが変わりますから、パソコンの画面サイズに
合わせて調整して下さい。
※この設定では、サイズを16に変更してあります。
・[OK]をクリックします。
|
 |
○画面色の設定。
・メニューバーから 設定(S) → ウィンドウ(W) と進み、
「Tera Term: ウィンドウの設定」ウィンドウを開きます。
・カラーエミュレーション(C): にチックを付けます。
・初期値では背景色が[白]ですが、[反転(E)] をクリック
すると、背景色を[黒]に変えることができます。
・カラーエミュレーション(C): にチックを付けて、背景色が
[黒]の場合は、印刷時も背景が黒になりますから
用途に合わせて使い分けて下さい。
・[OK]をクリックします。
|
 |
○変更した設定の保存。
・メニューバーの VT-ウィンドウ(O) をクリックします。
・メニューバーから 設定(S) → 設定の保存(S) と進み、
「Tera Term: 設定の保存」ウィンドウを開きます。
・保存(S)をクリックします。
|
・次回「Tera Term」起動時からも、保存した設定で動作します。
|
プログラムの使い方 |
・BASCOM-AVRをインストールしておいて下さい。 BASCOM-AVR (DEMO) のインストール
● 専用ライブラリの保存。
・BASCOM-AVRで制御する際には、専用のライブラリを組み込む必要があります。
・以下のライブラリ「TEK4010emu.lib」を、
C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\ に保存して下さい。
● グラフィック画面の描画テスト。
・以下の描画テストプログラム「TEK401x-TestJP.bas」を、任意のフォルダーにダウンロードして下さい。
・BASCOM-AVRを起動して、保存した「TEK401x-TestJP.bas」を開き、コンパイルした後にAVRに
書き込むと、「Tera Term」のグラフィック・ウィンドウに、冒頭に掲載した画面が表示されます。
● グラフィック画面の印刷。 (ハードコピー)
・グラフィックを表示した「Tera Term VT TEK」ウィンドウのメニューバーから ファイル(F) → 印刷(P) と
進み、「印刷」ウィンドウでプリンターの選択と設定を行い、印刷(P)をクリックして印刷します。
・印刷時の大きさもフォント・サイズに影響されますから、用紙のサイズや用紙方向によって
フォント・サイズで画面の大きさを調節して下さい。
・カラーエミュレーション(C): にチックを付けて背景色が[黒]の場合は、印刷時も背景が黒で印刷
されますから、用途に合わせて背景の設定を変えて下さい。
|
● Arduinoボードへの書き込み
・Arduinoボードの場合もBASCOM-AVRをインストールして、BASCOM-AVRから描画プログラムの
書き込みが出来ます。
プログラム制作環境の準備 (BASCOM-AVR)
・前記のライブラリも、同様に組み込んで下さい。
$regfile = "m328pdef.dat" Arduinoボードに搭載されているAVRチップに合わせます。
$baud = 115200 Arduinoボードのモデルによって、ボー・レートが違います。
|
● 描画テストプログラムの解説。
$regfile = "m88pdef.dat" 任意のAVRを選択して、対応するレジ ファイルを指定します。
$crystal = 16000000 AVRの動作周波数を設定します。
$hwstack = 64 変更の必要がなければ、このまま記述して下さい。
$swstack = 32 変更の必要がなければ、このまま記述して下さい。
$framesize = 24 変更の必要がなければ、このまま記述して下さい。
$baud = 9600 ターミナルのボーレートを設定します。
※以下の点線部分は、各自のプログラムの冒頭に必ず記述(コピー)して下さい。
'--------- Include a control instruction of TEK4010. ---------
Dim _temptx As Byte 'Internal variables of the library.
〜 〜 中略 〜 〜
' Tekalpha <ターミナルをキャラクターモードに戻します。>
'-------------------------------------------------------------
※これ以降に、各自のプログラム および TEK4010(4014)用のグラフィック描画命令を記述します。
|
● ソフトウェアUARTを使用する場合。
・UARTを内蔵していないAVRでも、任意のポートを使用したソフトウェアUARTを使用して接続する
事ができます。
・ソフトウェアUARTの宣言をします。
$baud = 9600 の代わりに、
Open "comd.3:9600,8,N,1" For Output As #1 詳細はOPEN命令を参照。
・組み込みプログラムの下記の部分を変更して下さい。
変更前 _temptx = &H1F : Printbin _temptx '[US] Changes Terminal to Alpha Mode.
変更後 _temptx = &H1F : Printbin #1 , _temptx '[US] Changes Terminal to Alpha Mode.
・ライブラリ「TEK4010emu.lib」をメモ帳などのテキストエディタで開き、下記の部分を変更して下さい。
変更前 25行目 *BASIC: Printbin _temptx
変更後 25行目 *BASIC: Printbin #1 , _temptx
|
● 描画命令の解説。
・キャラクター画面とグラフィック画面を消去します。
・キャラクターとグラフィックの描画色を設定します。
Tekcolor Color |
0 = Black, 1 = Red, 2 = Green, 3 = Yellow, 4 = Blue, 5 = Magenta, 6 =
Cyan, 7 = White |
・直線を引きます。 (X = 0〜1023 , Y = 0〜778 , Vector-Type = 0〜23)
Tekline X(start) , Y(start) , X(end) , Y(end) , Vector-Type |
X(start) , Y(start) : XとYの始点座標 , X(end) , Y(end) : XとYの終点座標
Vector-Type : 0: 直線 , 1: 点線 , 2: 一点鎖線 , 3: 短い破線 , 4: 長い破線 注. |
・ボックスを描画します。 (X = 0〜1023 , Y = 0〜778 , Vector-Type = 0〜23)
Tekbox X(left corner) , Y(top position) , X(right corner) , Y(bottom position) , Vector-Type |
X(left corner) , Y(top position) : 箱のX,Y左上座標
X(right corner) , Y(bottom position) : 箱のX,Y右下座標
Vector-Type : 0: 直線 , 1: 点線 , 2: 一点鎖線 , 3: 短い破線 , 4: 長い破線 注. |
・1ドットの点を描画します。 (X = 0〜1023 , Y = 0〜778)
Tekpset X(location) , Y(location) |
X(location) , Y(location) : 点のX,Y座標 |
・文字の描画位置を指定します。 (X = 0〜1023 , Y = 0〜778)
Teklocate X(location) , Y(location) |
X(location) , Y(location) : 文字のX,Y座標 |
※ 指定する文字の座標は、文字を形成するキャラクタードットの左下の位置です。 ※ この後に送る文字列の位置を指定する命令なので、この命令だけでは何も描画されません。
注.Vector-Typeは、マニュアルと実際の描画に違いがあるようです。
0: 直線 , 1: 点線 , 2: 一点鎖線 , 3: 長い破線 , 4: 長い破線 , 5: 二点鎖線
・ターミナルをグラフモードにして、線種を指定します。 (Vector-Type = 0〜23)
Tekgraph Vector-Type |
Vector-Type : 0: 直線 , 1: 点線 , 2: 一点鎖線 , 3: 短い破線 , 4: 長い破線 注. |
※ 連続した折れ線グラフを書く際に、Tekplot命令に先立ち記述します。
・グラフの線分を描画します。 (X = 0〜1023 , Y = 0〜778)
Tekplot X(location) , Y(location) |
X(location) , Y(location) : 線分のX,Y座標 |
※ 連続した折れ線グラフを書く際に、Tekgraph命令を記述した後に使用します。
※ Tekgraph命令でグラフモードに入った後の一番始めの座標は開始点となり、描画はされません。
※ 二番目以降のTekplot命令が終点となり、線分間の線が描画されます。
※ その後に送られる座標はすべて終点となり、線分間の線が連続して描画されます。
・ターミナルをキャラクターモード(Alpha)に戻します。
※ Tekplot命令でのグラフ描画が終了した際には、必ずこの命令を記述して下さい。
|
|