2013年08月08日追記:従来「グラフィックLCDシールド」と呼んでいたシールドを、「122X32モノクログラフィックLCDシールド」と改称させていただきました。これは、現在他の解像度のグラフィックLCDシールドを開発する計画をしているからです。本文中は従来どおり「グラフィックLCDシールド」との表記になっていますが、「122X32モノクログラフィックLCDシールド」とお読み替えください。また、このシールドの改良版は、下記の通り販売しております。
商品名 | 122X32モノクログラフィックLCDシールド | |
税抜き小売価格 | 3333円 | |
販売店 | スイッチサイエンス | |
サポートページ | 122X32モノクログラフィックLCDシールドサポートページ |
I/Oピンが不足しがちで、どのようにピンをやりくりしようか頭を悩ませているArduinoユーザーに使ってもらおうと、I/Oピンを2本しか使わないグラフィックLCDシールドの開発を始めました。
最初の基板(Rev.A)は配線ミスがあり、残念ながら量産して皆さんに提供できるものではありませんでした。しかしながら、Rev.A基板を使って、MGLCDというグラフィックライブラリの開発が進められました。また、Rev.A基板を数枚希望者に無償頒布したところ、ユーザーの方々から貴重なフィードバックも返ってきました。
この記事は、「今度こそは配線ミスを」なくすぞと意気込んで製作したRev.B基板の製作記録です。Rev.A基板から変わったところにフォーカスして記事を書いているので、Rev.A基板の記事も合わせてご覧ください。
基板を改版するにあたって、次の様なことを目標にしました。
以上のような目標でRev.B基板を作ったため、ICSP端子を新設した以外は、Rev.A基板と回路構成が同じです。また、ファームウェアやライブラリについてはRev.A基板と完全互換なので、ソフト面で新たに解説するところはありません。
次に、Rev.B基板の回路図を示します。
また、EAGLE 6.4.0のプロジェクトは、次のリンクをクリックするとダウンロードできます。
上の回路図をRev.A基板の回路図と比較すると、変更点は次の通りです。
全てマイナーな変更で、基本的には同じ回路です。マイコンも表面実装品にしようか迷ったのですが、リフローでの半田付けにもう一つ自信がなかったのと、ICSP端子がうまく働かなかったらどうしようかと思っていたので、今回もDIP品にしました。
ICSP端子は、マイコンにブートローダを書き込むときに使う端子で、この端子を使うと、ブートローダを書き込んでいないマイコンを基板に半田付けした後に、ブートローダが書き込めます。表面実装品のマイコンを使うと、基板に半田付けする前にブートローダを書き込むのは非常に困難なので、ICSP端子が必須になります。
Rev.B基板を設計していた時は、ICSP端子経由でブートローダを書き込んだ実績がなかったので、書き込みがうまくいかなかった場合の逃げ道として、マイコンをDIP品にしたのでした。(結局は、Rev.B基板でICSP端子経由のブートローダの書き込みがうまくいったので、杞憂でした)
回路図にあまり変更はなかったのですが、アートワークは色々変わりました。
下の写真は、LCDを外したRev.A基板とRev.B基板を、それぞれArduinoに装着した状態で比較したものです。左がRev.A基板、右がRev.B基板です。
ボタン(タクトスイッチ)を右手で操作できるように、ほぼ左右対称のレイアウトになっています。ちなみに、バランスの問題で、ボタンはArduinoのUSBコネクタやDCジャックが付いている側に付ける必要があります。Rev.A基板のレイアウトをほとんど変更せずに、ボタンだけを反対側(つまりUSBコネクタから遠い側、言い換えれば上の写真の場合だと、右側)に移動すると、ボタンを押した瞬間に基板がひっくり返ります。Rev.A基板を装着する場合、Arduinoは正当な向き(USBコネクタが左側)を向きますが、Rev.B基板の場合、Arduino基板が普通とは逆向き(USBコネクタが右側)になります。
さらに詳しく見ると、Rev.B基板の方が、若干スリムになっています。Rev.A基板は長辺100mm×短辺73.34mmでしたが、Rev.B基板は長辺100mm×短辺68.58mmと、短辺が4.76mmだけスリムになっています。
また、下の写真でUSBコネクタ付近を拡大して見ると、Rev.A基板ではUSBコネクタと基板が干渉していないのに対して、Rev.B基板では1mm程度干渉しています。(1mm程度、基板とUSBコネクタが重なります) 基板とUSBコネクタを意図的に干渉させることで、シールドをArduinoに装着した状態での寸法を小さくしています。
USBコネクタと干渉する部分は、基板の裏側からベタ面を取ったり、配線を通さないようにして、基板とコネクタが接触しても電気的な問題が発生しないように工夫しています。下の写真は、基板裏面の拡大写真です。左側がRev.A基板、右側がRev.B基板です。
左側のRev.A基板では、タクトスイッチにリード品を使ったために、基板裏面にリードが突き出ています。そのため、もしUSBコネクタと基板とを干渉させると、タクトスイッチのリードがUSBコネクタの金属ケースとショートしてしまうことが分かります。これが、Rev.A基板では基板とUSBコネクタの干渉を避けた理由です。
また、右側のRev.B基板では、Rev.A基板にはない直径3.5mmの穴があることが分かります。これは、後述するように、基板をシールドとしてではなく、独立したシリアルLCDモジュールとして使えるようにするための物です。
次の写真は、基板の裏面の全体写真です。左側がRev.A基板、右側がRev.B基板です。
Rev.B基板になって、パターンカットやジャンパ線がなくなりました。また、のロゴも入れてみました。
次のページでは、ATmega328Pにブートローダを書き込みます。
商品名 | 122X32モノクログラフィックLCDシールド | |
税抜き小売価格 | 3333円 | |
販売店 | スイッチサイエンス | |
サポートページ | 122X32モノクログラフィックLCDシールドサポートページ |