[中級の電子工作テスト]
CANONデジ一で遊ぶ
PIC24F RTCCでカレンダー
PICで赤外線通信
PICでシリアル通信
FT232RL変換モジュール
K型熱電対 AD595CQ
K型熱電対のテスト MAX6675
連枝でラダープログラム
連枝でステッピングモータ
各種デバイスのテスト
[シーケンス回路テスト]
リレーシーケンス
[車載用電子工作テスト]
電源の取り方
[PCBCAD]
EAGLE CAD
[掲示板]
電子工作のテスト工場BBS
[リンク]
工作お役立ちリンク集
[電子工作のテスト工場]
表紙[TOP]へ戻る
[電子工作系]
Sivanyan_Radioのブログ
(↑↑管理人のブログです)
GAMEってたのすぃー
電子回路実験教材の部屋 RLC
電子マスカット 必見[MP3]!
kunioのホームページ AVR+MP3
なひたふ電子
ワタヤンの日記
BLUE's electronics room
isi's 趣味の電子工作
獣医さんの電子工作とパソコン研究室
電子用語集Web
YS電子工作ラボ
(↑↑管理人のブログです)
[プログラム系]
信彦の家
[SNS]
電子工作の広場SNS
[写真]
シャッターを押した瞬間
VFDは蛍光表示管の事です。 昔の電卓っぽいものを想像して頂ければわかるかと思います。 そんなVFDを表示器として使おうというのが目的です。 VFDを使うメリットは「綺麗」の一言かも知れません。しかも「目立つ」のは間違いありません。 また、フォントで漢字を搭載したものは左の写真のように漢字表示も可能です。 いままで使っていたキャラクタタイプの表示器よりも確実に印象に残る工作が出来るはずです。 マイコンとの通信はパラレルタイプとシリアルタイプがあります。 ノリタケ伊勢電子株式会社 SCK-3000シリーズ SCK256X128C-3100-A メーカーサイトからインターネットで注文できます。評価キットになっているので一通りのものは揃います。 スタンドが欲しかったのでキットを購入しました。ネットでの単品購入が可能になれば有難いのですけどね。 SCK256X128C-3100-AとPIC18F452をシリアルで繋いで制御してみたいと思います。マイコンのターゲット基板との 接続ケーブルはないので自作しないといけません。自作したケーブルが右の写真です。 |
ハードウェア仕様書に書かれているコネクタ(CN1)の信号は上記の表の通りです。確実に繋ぐ必要があるのが送受信の端子と電源の端子です。 READY信号は必要な時に繋ぐとして、今回は使用せずに行います。使用しない場合でもオープンだとVFDの動作に影響を与えるので DTRとDSRを短絡して常にREADYという事にして使用します。 |
VFDとPICマイコンのインターフェース接続は送信・受信信号のみで制御が出来るはずです。
しかし、VFDはパソコンとのやりとりも出来るようになっている為TTLレベルではありません。
よってマイコンと接続する場合はレベル変換が必要になります。 回路の途中に入ってるCP3232がレベル変換用のICです。232C用のICは他にも沢山の種類があり 各メーカーが販売しています。どこのパーツ屋さんでも手に入ると思いますのでこの品番に拘る必要はありません。 しかし、ICによって周辺の回路(コンデンサの容量)が変わるので注意が必要です。 レベル変換のICを一つ通す事になりますが、それ以外は通常のシリアル通信と変わらないので接続も同じです。 VFDへの電源接続を間違えないようにする事と、パスコンを入れるのを忘れないように気をつけましょう。 |
VFDに関わらず、各モジュールは初期が必要な場合が多々あります。 VFDの初期化はまず画面をクリアしてから全てのコマンドの初期化(イニシャライズ)を行います。 初期化とは異なりますが、フォントサイズやモードの選択も最初に一度設定しておきます。 プログラムを考える段階で「初期化が要るんだよねぇ」程度で流しておいて下さい。 |
表示のさせ方がわかったので今度はデータを表示してみましょう。 PIC18F452のアナログポートに可変抵抗を繋いでA/D変換を行い、そのデータをVFDに順次表示させる事を考えました。 今回からプログラムが間延びしないようにサブルーチンを用いて少しプログラムを短くする事を心がけようと思います。 メイン部はこの用になっています。カーソルの位置決めとフォントの大きさを決めるサブルーチンを設けて、今後はデータを渡すだけという事にしました。 サブルーチンはこのようになりました。あまりプログラムが得意ではないので変な感じかも知れませんが、これが精一杯。 ライブラリとか作ってみたいのですが、なかなか実力が伴いません。 500msの間隔でA/D変換を行いシリアルでデータを送信するだけというプログラムです。 カーソル位置を毎回設定しないと表示が後ろへ後ろへ行ってしまうのでデータを表示する前に必ずカーソル位置を決めるサブルーチンを呼び出しています。 文字の大きさは今回は最大の大きさを使用してみました。何だが小さい感じがしますがどうなんでしょうか? 500msの間隔をあけているのと、手でボリュームを回してる下限で数値が飛んでますがきちんと表示されました。 今回わかったのはデータを表示する場合は文字を書きたい位置へカーソルを毎回設定するという事です。 キャラクタLCDでも同じ事なのですけどね。 |
A/D変換の値を表示する事をしましたが、今回は値と一緒にバーグラフを表示しようと思います。
256x128のVFDなのでA/D変換の「00−FF」で端から端までグラフが伸びる予定です。
前回のプログラムからバーグラフ用のBOXを表示するプログラムとその周辺の編集を行っただけです。
バーグラフはボックスをどこまで表示するかを決めているだけです。 今回は端から端までとA/DのMIN・MAXが同じため、細工せずにそのままの値を代入しています。 「表示する前に消す」という作業が必要な為、毎回バーグラフを全消灯してから必要な分だけ表示させています。 これだとちらつくので実際には必要のない部分だけを消灯するというプログラムに変更する必要があります。 動かしてみまいた。やっぱりちらつきがあります。今回はテストなのでこのあたりで終了します。 |
Copyright (c) 2007-2022 amahime All Rights Reserved.