レトロでハードな物語

レトロなゲーム機・マイコン・中古デバイスなどをArduinoやAVRで再活用する方法を模索しています。

AVR向けの汎用ディスプレイ装置をつくる

2019年08月17日 | 電子工作

ATmega328PやATtiny13AのようなAVRのスケッチ作成時に、デバッグ出力用のデバイスはどうしても必要になってきます。ATmega328Pはシリアル入出力端子があるので、PCとのシリアル接続や以前に作成したPro Miniベースのデバッグ装置などとつないで簡単に表示が行なえますが、ATtiny13Aにはそのような端子はありません。ソフトウェアによるシリアル通信も行えなくないのですが、ただでさえ少ないメモリをかなり消費してしまうので使いたくないのです。

そこでこれまでは数行のスケッチで簡単に接続できるゲームボーイをディスプレイとして利用していました。でもゲームボーイは意外に大きくて、ブレッドボードやなんやらと一緒にキーボードのそばに置いておくと邪魔なんですよねぇ。
それに手持ちの接続ケーブルにはゲームボーイの電源端子が配線されていないので、AVRに別途電源が必要になるのもちょっとマイナスです。

そこでATtiny13Aからでも簡単に利用できるディスプレイ装置を作ってみることにしました。ついでに以前に作成したATtiny13Aの電圧計のディスプレイに出来るような仕組みもつけましょう。それとAVRの電源にもなるようにバッテリーも搭載しようと思います。

使用するバッテリーはこれ。

(接点がむき出しになっているのでテープを巻いてあります)

大昔に壊れたWindowsCE機から取り出したリチウムイオンポリマーバッテリーです。これが2個入っていました。
実は2個のうち1個は、昔作ったArduboy互換機に内蔵してあります。



充電用の端子も付けたので、完全にモバイルゲーム機となりました。たいした容量のバッテリーではありませんが、Arduboy(Pro Micro)を何時間でも動作させることが出来ます。(時々遊んでいるのですがまだバッテリーを使い切っていないのです)

さて製作するデバイスのディスプレイですが、昔にAmazonで購入したI2C接続の0.96"128×64 OLED LCDを使います。外見は上記ArduboyのSPI接続LCDと同じです。
ディスプレイの制御には前に秋月電子で購入したATmega328Pを使い、外部に8MHzのクリスタルをつけ3.3Vで動作させます。電源は上記バッテリー(や他の電源含め)を、これも秋月電子で購入した三端子レギュレーター(TA48033S)で3.3Vに降圧したものを利用します。

配線は基本的にArduinoのサイトの図のままで、これにリセットスイッチとLCDをつなげます。三端子レギュレーター含め最終的に基板に組んだものはこのようになりました。



電源ラインには0.1μFのパスコンを入れてあります。また、今のところアナログ入力は使う予定はないのですが、もし使うならAREFとGNDの間にもコンデンサーを入れたほうがいいとの情報もあったので、ここにも0.1μFのコンデンサーを入れました。

ディスプレイ装置だけでなく色々活用できるように、ATmega328Pの使えるピンは全てピンソケットにつないであります。
ここで使ったピンソケットは好きなサイズにカットして使える便利なもので、ソケットの間に切れ込みがあって手で折り取ることもでき、折った部分に軽くヤスリがけするだけで使えます。これも秋月電子で購入しました。
ピンの抜き差しでピンソケットには力がかかることが多いので、いつものように100円ショップのグルーガンの樹脂で固定しておきました。

スケッチの書き換えにはLeonardoを使っているので、書き換えに必要なICSP端子6ピンを別途ピンソケットに引き出し、書き換えが簡単に出来るようにしてあります。

LCDはブレッドボードで利用することもあるので基板にはんだ付けせず、ピンソケットに挿して使用することにしました。

ハードの方は以上で完成です。
次はスケッチですが、説明が長くなりそうなのでまた後日に。



最新の画像もっと見る

コメントを投稿