2016年06月22日 | 公開。 |
ArduinoでグラフィックLCDを動かす(AQM1248A編)(5)の図32および図33に示した、74AHC244を用いたレベル変換回路、およびAQM1248Aとリセット用のタクトスイッチを搭載したシールドを製作しました。
製作したシールドの回路図を図2に、部品表を表5に示します。
部品番号 | 数量 | 品名 | 型番/仕様 | 備考 |
---|---|---|---|---|
C1 | 1 | セラミックコンデンサ | 0.1μF、50V | U1の近くに配置。 |
SW1 | 1 | タクトスイッチ | 6mm角 | |
CN1、CN2 | 2 | ピンヘッダ | 2.54mmピッチ、1×6ピン | |
CN11 | 1 | ピンヘッダ | 2.54mmピッチ、1×7ピン | 1×40ピンのピンヘッダを切断して使用。このピンヘッダは、AQM1248Aの信号線をロジックアナライザで観察するために使用する。 |
CN9、CN10 | 2 | ピンヘッダ | 2.54mmピッチ、1×8ピン | 1×40ピンのピンヘッダを切断して使用。SDAとSCLの配線もする場合は、CN9に1×10ピンのピンヘッダを使用する。 |
CN5 | 1 | ピンヘッダ | 2.54mmピッチ、2×3ピン | 2×40ピンのピンヘッダを切断して使用。 |
CN3、CN4 | 2 | ピンソケット | 2.54mmピッチ、1×6ピン | |
CN7、CN8 | 2 | ピンソケット | 2.54mmピッチ、1×8ピン | SDAとSCLの配線もする場合は、CN7に1×10ピンのピンソケットを使用する。 |
CN6 | 1 | ピンソケット | 2.54mmピッチ、2×3ピン | 分割ロングピンソケット2×42を切断して使用。 |
U1 | 1 | 汎用ロジック | SN74AHC244N | ICソケットを使わずに、直接実装しても良い。 |
LCD1 | 1 | LCDモジュール | 超小型グラフィックLCDピッチ変換キット | AQM1248Aと超小型グラフィックLCD用ピッチ変換基板のセット。 |
1 | ユニバーサル基板 | Arduinoのシールド用 | CN6が正しいSPIヘッダの位置に実装できるユニバーサル基板を選ぶこと。 | |
2 | ジャンパピン | 2.54mmピッチ | CN5に挿入して使用。ハードウェアSPIとソフトウェアSPIの切り替えに用いる。 |
製作したシールドの外観を写真10~12写真に示します。
部品番号とピン番号を記入した写真を写真に示します。
CN1とCN3は回路図上では6ピンだが、実際には8ピンの部品を実装している。もちろん6ピンの部品を実装しても正しく動作する。
CN9は回路図上では8ピンだが、実際には10ピンの部品を実装している。もちろん8ピンの部品を実装しても正しく動作する
CN7とCN8は、回路図上では別々の部品だが、実際の基板では、ユニバーサル基板のパターンの関係で、連結して一つの部品としている。他のユニバーサル基板を使う場合は、別々の部品として実装するべき場合もある。
シールドは、妙楽堂で販売しているArduinoユニバーサル基板を使用しました。
前のページで作った抵抗分圧型レベル変換回路を使ったシールドでは、サンハヤト製のUB-ARD01WHというユニバーサル基板を使用しましたが、このユニバーサル基板を使うと、CN6の2×3ピンのピンソケットが正しい位置に実装できません。そのため、ArduinoのSPIヘッダ(ISCPヘッダ)と正しく嵌合しなくなります。
当方では試していませんが、おそらくスイッチサイエンスのArduino用バニラシールド基板ver.2でも正しい位置にCN6を実装できると思います。
配線は、0.4mmのすずめっき線と0.2mmのUEW(ポリウレタン線)を使いました。(写真11と写真7を参照)
ユニバーサル基板上に、回路図通り配線をしていけば、シールドが完成します。
LCD1の超小型グラフィックLCDピッチ変換キットは、ピッチ変換キットに付属のピンヘッダで、直接ユニバーサル基板にはんだ付けしました。ピッチ変換基板の左端の7ピンだけで、ピッチ変換基板を支える事になるため、秋月電子の細ピンヘッダ1×40を3ピン分切って、さらに長い方のピンをニッパで切り取り、ピッチ変換基板の右側を支えています。(写真14と写真15を参照)
U1の74AHC244は、今回はICソケットを使って実装しましたが、基板に直付けしても問題ありません。
CN1、CN2、CN9、CN10のピンヘッダと、CN6のピンソケットは、Arduinoとシールドの接続用です。基板の裏側に実装してください。
前のページで作った抵抗分圧型レベル変換回路を使ったシールドでは、リード長10mmのピンソケットを使用しましたが、このピンソケットはリードが薄くて曲がりやすいため、今回はピンソケットとピンヘッダに分けて実装する事にしました。その分、部品点数やはんだ付けの箇所が増えています。
CN7とCN8は、便宜上別の部品として書いていますが、妙楽堂のArduinoユニバーサル基板を使う場合は、1×16ピン(または1×18ピン)の1つのピンソケットを使います。また、妙楽堂の基板には、CN9にSDAとSCLのピンも付けられるようになっていますので、それらを使う場合は、CN7とCN9は、それぞれ1X10ピンのピンソケットと1X10ピンのピンヘッダにします。(今回私の作ったシールドは、CN7とCN9が1×10ピンになっています)
ArduinoとAQM1248Aを接続するためのレベル変換回路として、ArduinoでグラフィックLCDを動かす(AQM1248A編)(5)の図32および図33の回路を使っています。これらの回路は5VのArduinoにも3.3VのArduinoにも対応しています。
図32の結線にするか図33の結線にするかを選択できる様に、CN5の2×3ピンのピンヘッダを設けました。CN5にはジャンパピン(ショートソケット)を2つ接続し、その接続の仕方によって、ハードウェアSPIとソフトウェアSPIを選択します。
特にソフトウェアSPI接続でなければいけない理由がないならば、ハードウェアSPI接続にしておくといいでしょう。その方が、Arduinoの11番ピンと13番ピンが空くので、使いやすいと思います。
CN5のジャンパピンの設定方法を、表6と写真16および写真17に示します。
ジャンパピンを挿入する ピンの番号 |
SPIインターフェースの 動作モード |
---|---|
3-5、4-6 | ハードウェアSPI |
1-3、2-4 | ソフトウェアSPI |
シールドを組み立てた後に、正常にシールドが動作する事を確認するために便利な、デモ用のスケッチが、MGLCDライブラリ(およびMGLCD_SPIライブラリ)に付属しています。
ハードウェアSPI接続の場合は、Arduino IDEでファイル→スケッチの例→MGLCD_SPI→MGLCD_AQM1248A_SPI→demoメニューを選択してください。デモ用のスケッチが開きます。(図3参照)
ソフトウェアSPI接続の場合は、Arduino IDEでファイル→スケッチの例→MGLCD→MGLCD_AQM1248A_SoftwareSPI→demoメニューを選択してください。デモ用のスケッチが開きます。(図4参照)
注:前のページで説明した抵抗分圧型レベル変換回路を使ったシールドの場合は、必ずソフトウェアSPI接続になります。
デモスケッチを実行すると、写真18~写真23の様な画面が表示されます。
LCD(AQM1248A)の画面を制御するスケッチの作り方については、ArduinoでグラフィックLCDを動かす(AQM1248A編)(13)をご覧ください。
なお、2種類のシールドが使用するArduinoのピンを表7に示します。スケッチは、この表のピン接続に合わせてスケッチを作ってください。
ハードウェアSPI接続の場合 | ソフトウェアSPI接続の場合 | ||
---|---|---|---|
信号名 | Arduinoのピン | 信号名 | Arduinoのピン |
SCLK (SCK_PIN) | SPI-3 | SCLK (SCK_PIN) | 13 |
SDI (MOSI_PIN) | SPI-4 | SDI (MOSI_PIN) | 11 |
/CS (CS_PIN) | 10 | /CS (CS_PIN) | 10 |
RS (DI_PIN) | 9 | RS (DI_PIN) | 9 |
注1:前のページで説明した抵抗分圧型レベル変換回路を使ったシールドの場合は、必ずソフトウェアSPI接続になります。
注2:ハードウェアSPI接続の場合は、SCLK信号とSDI信号に割り当てるArduinoのピンを、スケッチで指定する必要はありません。
注3:Arduioのピンの配置については、ArduinoでグラフィックLCDを動かす(AQM1248A編)(3)の図4と図5を参照してください。
商品名 | 122X32モノクログラフィックLCDシールド | |
税抜き小売価格 | 3333円 | |
販売店 | スイッチサイエンス | |
サポートページ | 122X32モノクログラフィックLCDシールドサポートページ |
商品名 | GLCD学習シールドキット | |
税抜き小売価格 | 1410円 | |
販売店 | スイッチサイエンス | |
サポートページ | GLCD学習シールドキットサポートページ |