その2です。
グラフィックLCDのTG12864Eを使用したアンテナアナライザーを作っていますが、グラフィックLCDに13ポート、DDSモジュールのSD9850Mに4ポート、VSWR測定と設定用VRに3ポート、SW用に1ポートの合計21ポートとなり、20ポートしかないArduinoではどうしても1ポート足りません。
122X32モノクログラフィックLCDシールドのように、MGLCDライブラリのシリアル接続機能を使用する手もありますが、Arduinoが2個必要となり複雑になるので、あと1ポート不足ということで、奥の手を使うことにしました。
Arduinoは通常16MHzのクリスタルかセラロックを使用しますが、8MHzの内部CR発振回路にすると、クリスタルを接続する端子がD20とD21として使えるので、合計22ポート使用できるようになります。
今回は、あと1ポート足りないので、この方式で試してみることにします。
8MHz内蔵OSC版のArduinoのブートローダーを書き込むこともできますが、PCとシリアル接続するためのD0ポートを使用するので、デバッグには利用できません。
ターゲットボードへ直接スケッチを書き込めるメリットはありますが、今回はグラフィックLCD表示関連のユーザインタフェースのデバッグはほぼ完了しているので、AVRの抜き差しで対応することとして、ArduinoISPを使用して直接書き込むことにしました。
回路図です。
今回は、ADコンバータのレファレンスを内部リファレンスの1.1Vに変更しました。
DDSモジュールのポートは適当に割り当ててみましたが、ポートの変更が必要になるかもしれません。
これから試作してみますが、NGならシリアル接続を検討しようと思います。
周波数設定用VRをセンスするアナログポートにSWを付けて、電圧の変化でSWが押されたかどうかを判定してもいいかもしれません。
SWの増設ならアナログポート1つあればなんとかなりますね。
グラフィックLCDのTG12864Eを使用したアンテナアナライザーを作っていますが、グラフィックLCDに13ポート、DDSモジュールのSD9850Mに4ポート、VSWR測定と設定用VRに3ポート、SW用に1ポートの合計21ポートとなり、20ポートしかないArduinoではどうしても1ポート足りません。
122X32モノクログラフィックLCDシールドのように、MGLCDライブラリのシリアル接続機能を使用する手もありますが、Arduinoが2個必要となり複雑になるので、あと1ポート不足ということで、奥の手を使うことにしました。
Arduinoは通常16MHzのクリスタルかセラロックを使用しますが、8MHzの内部CR発振回路にすると、クリスタルを接続する端子がD20とD21として使えるので、合計22ポート使用できるようになります。
今回は、あと1ポート足りないので、この方式で試してみることにします。
8MHz内蔵OSC版のArduinoのブートローダーを書き込むこともできますが、PCとシリアル接続するためのD0ポートを使用するので、デバッグには利用できません。
ターゲットボードへ直接スケッチを書き込めるメリットはありますが、今回はグラフィックLCD表示関連のユーザインタフェースのデバッグはほぼ完了しているので、AVRの抜き差しで対応することとして、ArduinoISPを使用して直接書き込むことにしました。
回路図です。
今回は、ADコンバータのレファレンスを内部リファレンスの1.1Vに変更しました。
DDSモジュールのポートは適当に割り当ててみましたが、ポートの変更が必要になるかもしれません。
これから試作してみますが、NGならシリアル接続を検討しようと思います。
周波数設定用VRをセンスするアナログポートにSWを付けて、電圧の変化でSWが押されたかどうかを判定してもいいかもしれません。
SWの増設ならアナログポート1つあればなんとかなりますね。
※コメント投稿者のブログIDはブログ作成者のみに通知されます