Arduino用122X32モノクログラフィックLCDシールド(Rev.B)の製作(1)

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (1) (2) (3) (4) 次のページへ
122X32モノクログラフィックLCDシールド(Rev.B)
122X32モノクログラフィックLCDシールド(Rev.B)

2013年08月08日追記:従来「グラフィックLCDシールド」と呼んでいたシールドを、「122X32モノクログラフィックLCDシールド」と改称させていただきました。これは、現在他の解像度のグラフィックLCDシールドを開発する計画をしているからです。本文中は従来どおり「グラフィックLCDシールド」との表記になっていますが、「122X32モノクログラフィックLCDシールド」とお読み替えください。また、このシールドの改良版は、下記の通り販売しております。

122X32モノクログラフィックLCDシールド 商品名 122X32モノクログラフィックLCDシールド
税抜き小売価格 3333円
販売店 スイッチサイエンス
サポートページ

目次

1. はじめに … 1ページ
2. 改版の目標 … 1ページ
3. 回路図について … 1ページ
4. アートワーク(部品配置と配線)について … 1ページ
5. ICSP端子を使ってブートローダを書き込む … 2ページ
6. ファームウェアを書き込む … 3ページ
7. 問題発生 … 3ページ
8. Rev.A基板との操作上の相違点 … 4ページ
9. グラフィックLCD基板を独立して使う … 4ページ
10. グラフィックLCD基板をパソコンにつなぐ … 4ページ

1.はじめに

I/Oピンが不足しがちで、どのようにピンをやりくりしようか頭を悩ませているArduinoユーザーに使ってもらおうと、I/Oピンを2本しか使わないグラフィックLCDシールドの開発を始めました。

最初の基板(Rev.A)は配線ミスがあり、残念ながら量産して皆さんに提供できるものではありませんでした。しかしながら、Rev.A基板を使って、MGLCDというグラフィックライブラリの開発が進められました。また、Rev.A基板を数枚希望者に無償頒布したところ、ユーザーの方々から貴重なフィードバックも返ってきました。

この記事は、「今度こそは配線ミスを」なくすぞと意気込んで製作したRev.B基板の製作記録です。Rev.A基板から変わったところにフォーカスして記事を書いているので、Rev.A基板の記事も合わせてご覧ください。

2.改版の目標

基板を改版するにあたって、次の様なことを目標にしました。

以上のような目標でRev.B基板を作ったため、ICSP端子を新設した以外は、Rev.A基板と回路構成が同じです。また、ファームウェアやライブラリについてはRev.A基板と完全互換なので、ソフト面で新たに解説するところはありません。

3.回路図について

次に、Rev.B基板の回路図を示します。

図1、Rev.B基板の回路図
↑ 画像をクリックするとPDFファイルで表示
図1、Rev.B基板の回路図

また、EAGLE 6.4.0のプロジェクトは、次のリンクをクリックするとダウンロードできます。

122x32 グラフィックLCDシールド(Rev.B) EAGLE 6.4.0 ZIP書庫ファイル S12232ZA_ATMEGA328P_B.zip (30kB)

上の回路図をRev.A基板の回路図と比較すると、変更点は次の通りです。

全てマイナーな変更で、基本的には同じ回路です。マイコンも表面実装品にしようか迷ったのですが、リフローでの半田付けにもう一つ自信がなかったのと、ICSP端子がうまく働かなかったらどうしようかと思っていたので、今回もDIP品にしました。

ICSP端子は、マイコンにブートローダを書き込むときに使う端子で、この端子を使うと、ブートローダを書き込んでいないマイコンを基板に半田付けした後に、ブートローダが書き込めます。表面実装品のマイコンを使うと、基板に半田付けする前にブートローダを書き込むのは非常に困難なので、ICSP端子が必須になります。

Rev.B基板を設計していた時は、ICSP端子経由でブートローダを書き込んだ実績がなかったので、書き込みがうまくいかなかった場合の逃げ道として、マイコンをDIP品にしたのでした。(結局は、Rev.B基板でICSP端子経由のブートローダの書き込みがうまくいったので、杞憂でした)

4.アートワーク(部品配置と配線)について

回路図にあまり変更はなかったのですが、アートワークは色々変わりました。

下の写真は、LCDを外したRev.A基板とRev.B基板を、それぞれArduinoに装着した状態で比較したものです。左がRev.A基板、右がRev.B基板です。

写真1、Rev.A基板(左)とRev.B基板(右)
↑ 画像をクリックすると拡大
写真1、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に装着した状態での寸法を小さくしています。

写真2、USBコネクタとの干渉
↑ 画像をクリックすると拡大
写真2、USBコネクタとの干渉

USBコネクタと干渉する部分は、基板の裏側からベタ面を取ったり、配線を通さないようにして、基板とコネクタが接触しても電気的な問題が発生しないように工夫しています。下の写真は、基板裏面の拡大写真です。左側がRev.A基板、右側がRev.B基板です。

写真3、USBコネクタ干渉部の部品実装
↑ 画像をクリックすると拡大
写真3、USBコネクタ干渉部の部品実装

左側のRev.A基板では、タクトスイッチにリード品を使ったために、基板裏面にリードが突き出ています。そのため、もしUSBコネクタと基板とを干渉させると、タクトスイッチのリードがUSBコネクタの金属ケースとショートしてしまうことが分かります。これが、Rev.A基板では基板とUSBコネクタの干渉を避けた理由です。

また、右側のRev.B基板では、Rev.A基板にはない直径3.5mmの穴があることが分かります。これは、後述するように、基板をシールドとしてではなく、独立したシリアルLCDモジュールとして使えるようにするための物です。

次の写真は、基板の裏面の全体写真です。左側がRev.A基板、右側がRev.B基板です。

写真4、ジャンパ線のなくなったRev.B基板(右)
↑ 画像をクリックすると拡大
写真4、ジャンパ線のなくなったRev.B基板(右)

Rev.B基板になって、パターンカットやジャンパ線がなくなりました。また、京都のロゴのロゴも入れてみました。

次のページでは、ATmega328Pにブートローダを書き込みます。

目次へ  前のページへ (1) (2) (3) (4) 次のページへ

このページで使われている用語の解説

関連ページ

関連製品

122X32モノクログラフィックLCDシールド 商品名 122X32モノクログラフィックLCDシールド
税抜き小売価格 3333円
販売店 スイッチサイエンス
サポートページ
Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。