今回の実験は小型のLCD
の実験から始まりました。それ
から、どうせならDDSも作って、
それらを繋いで…、という行き
当たりばったりの展開になって
います。
 今回の実験のポイントは
・最小構成
・部品は少なく
・マイコンはAVR
・言語はBASIC(BASCOM)

--------------------
1 LCD(I2C)の実験
 最初はLCD(I2C)から。
選んだのは8×2のLCD
(AQM0802A-RN-GBW)です。
マイコンはATTINY2313Vです。
LCDの電源が3.3Vなので、
電圧を合わせました。
これが後でやっかいを起こす
のですが、この時点では部品
数が少なくなるので採用しま
した。
 LCDの回路は資料に出ている
通りです。



部品数も少なく楽勝と思った
のですが、動きません。テスタ
でLCDのデータLINEを計測
しますが、信号は出ているの
ですが表示する気配はありま
せん。
 データ回路を何度見ても、
ソフトを見ても間違いは有り
ません。早速、行き詰まって
しまいました。
 困った時はネットで検索!
調べていくうちに、ついに
見つけました。
 BASCOMの「くせ」(*1)に
I2Cのバグのことが書かれて
います。早速試すとあっさり
表示するではありませんか。
多謝多謝です。
 2行に表示させたり消したり
色々できます。楽しい。

(*1)測定用電子回路作成の
  キーポイント(細田)様

 ついでに基板の余白にキー
を追加します。



--------------------
2 DDSの実験
 続いてDDSの実験です。
ヤフオクで見つけた中華DDS
に登場してもらいました。
評判はあまり良くはないの
ですが安いので使います。
 これの回路もごく標準的
なものです。
 写真では6V(電池4本)を
3端子で5Vにしています。



 プログラムは若干悩み
ました。一見良さそうです
が発振しません。テスタ
であたってみると、信号は
出ているようです。
 タイミングチャートを見て
いてふと気付きました。
FQ-UDのトリガはONから
OFFになったタイミング。
最初がONになっていない。
プログラムの先頭でONに
しておくことで解決。判って
しまえば初歩的な事ですが
こんなものでしょう。
--------------------
3 接続にあたって
 LCDとDDSはとり合えず
動きました。2つのボード
を繋ぎたいのですが、意外
とやっかいです。
 行き当たりばったりの
つけがここら辺りから出て
きました。2つの基板の
電源電圧が違うのです。
もうひとつはメモリ容量
の問題です。
・電源電圧 5V/3.3V
・メモリ不足(通信)

電源電圧の違いはレベル
シフト回路の追加で解決
です。写真は基板に余裕
があったので4線分用意
してあります。
 実はマイコンの電圧を
合わせてLCD間の信号の
レベルシフトというやり方
もあるのです…。これだと
抵抗4本で済みます…。
基板上に追加するのが面倒
だったので…。


 通信はやっかいです。
気の利いたコマンドを使う
とメモリをやたら使います。
試しにSEROUT命令を使って
みるとメモリは上限を越え
てしまうは動きは変だし…。
テスタで測定すると、信号
は出ている様ですが、それ
以上はさっぱり判りません。
測定器が有れば…と思って
も無いものは無い。そうこう
している間に、気が付けば
数日間を浪費していました。
 メモリの大きいマイコン
に取替えようかとも考えた
のですが、悩むのも実験の
内ということで実験を継続
しました。
 だらだらしてもしょうが
ないので、自前で通信部分
を作ることに。
--------------------
4 通信の実験
 通信の実験のために基板
を作成してみました。結果
の確認手段は基板上のLEDと
アナログテスタです。信号
のインターバルを長くして
動作を確認することにしま
した。基本動作を確認して
からインターバルを徐々に
短くしていく作戦です。



テストボードで動くように
なりました。あとはLCDと
DDSのプログラムに組み込
むだけです。

--------------------
5 LCDとDDSの接続
 2つのボードを接続した
のですが、使うポートには
随分悩まされました。同一
のポートでも入出力を混在
して使えるとHELPに書いて
あるのですが、何かが違う
ようでうまくいきません。
 同じポートに入出力を定義
するとステータスが変化して
しまい、期待した動きになら
ないのです。色々と試行錯誤
してみたのですが解決出来ま
せん。
 根本的な原因は判りません
が、最終的にポートを入出力
ごとに分けて使う様に、基板
とプログラムを変更する事で
希望する動きになりました。
 最終的な回路はこの通り
です。



 ソフトはそれぞれこの通
りになりました。
・LCD:DDS_KEY_LCD.txt
・DDS:DDS_OSCGEN.txt

--------------------
6 最後に
 とりあえず動く物が出来
たのですが、KEYの反応が
ぎごちないです。ソフトに
手を入れるよりメモリの大
きなマイコンに集約する方
が実用的だと思うのでこれ
で実験終了とします。
 部品点数が少なくても、
実際に作ってみるとそれ
なりのノウハウが必要だと
実感しました。