Arduino用ヘッダシールドの製作(1)

このページをスマートフォンなどでご覧になる場合は、画面を横長にする方が読みやすくなる事があります。
目次へ  前のページへ (1) (2) (3) (4) 次のページへ
2013年08月19日 公開。
ヘッダシールドの外観
↑ 画像をクリックすると拡大
ヘッダシールドの外観

目次

1. はじめに … 1ページ
2. 動作原理・作り方 … 1ページ
3. 使用例(オシロスコープで信号を観察する場合) … 1ページ
4. 使用例(Arduinoの取り替えに使う場合) … 1ページ
5. 使用例(ロジックアナライザで信号観察する場合) … 2ページ
5-1. ロジックアナライザとは … 2ページ
5-2. 今回使うロジックアナライザ … 2ページ
5-3. 小型グラフィックLCDモジュール、AQM1248Aの動作テスト回路 … 3ページ
5-3-1. AQM1248Aの信号線について … 3ページ
5-3-2. グラフィック表示のテストに用いたビットパターン … 3ページ
5-3-3. LCD動作テスト回路の回路図について … 3ページ
5-3-4. LCD動作テスト回路の配線とヘッダシールドの利用 … 3ページ
5-3-5. LCDの動作テストに使ったスケッチ … 3ページ
5-4. ロジックアナライザを使ったLCDの制御信号の観察 … 4ページ
5-4-1. 初期化信号を観察する … 4ページ
5-4-2. SPI信号について … 4ページ
5-4-3. 初期化信号を解読する … 4ページ
5-5. ロジックアナライザを用いた信号観察のまとめ … 4ページ

1.はじめに

Arduinoで色々な周辺機器を制御している時に、ロジックアナライザオシロスコープで信号を観察したいことがよくあります。その際にいつも困るのが信号の取り方です。特にたくさんの信号線をロジックアナライザで観察する時は、プローブをどのように取り付けるかに困ってしまいます。今回はそのような時に役に立つ、電圧観察用のヘッダを備えたシールドを製作しました。

2.動作原理・作り方

下の写真で分かるように、リードの長いピンソケットでArduinoの信号をシールド裏面から表面に中継し、ピンソケットの近くに配置したピンヘッダに信号を分岐させることで、ピンヘッダにロジックアナライザやオシロスコープのプローブを取り付けられるようにしただけの物です。あまりにも回路構成が自明なので、今回は回路図は省略します。

写真1、表面の写真
↑ 画像をクリックすると拡大
写真1、表面の写真
写真2、裏面の写真
↑ 画像をクリックすると拡大
写真2、裏面の写真

部品表を次に示します。

表1、ヘッダシールドの部品表
数量 品名 型番/仕様 備考 参考単価
1 ユニバーサル基板 MK-88 (70mmX50mm) 販売:マルツ 47円
1 ピンソケット 8P FH105-1x8SG/RH リードが長いもの 販売:秋月電子 40円
2 ピンソケット 6P FH105-1x6SG/RH リードが長いもの 販売:秋月電子 30円
1 ピンソケット 8P Arduino用ズレてるピンソケット 販売:スイッチサイエンス 137円
1 ピンヘッダ 40P 2.54mmピッチ、1×40 必要なピン数にカットして使用 販売:秋月電子 40円
1 テストピン SST-1-1 販売:マルツ 16円

作り方については、写真の通り、ピンソケットの信号を、ロジックアナライザなどで観察できるように、内側の列のピンヘッダに引き出すだけです。金色の2本のテストピンは、オシロスコープで波形を見るときに使うGND端子です。

とても直感的で作りやすい基板なのですが、8~13番のピン、GNDピン、およびAREFピンが出ている8ピンのピンソケットにスイッチサイエンスで販売しているArduino用ズレてるピンソケットを使う事に注意が必要です。

次にArduino用ズレてるピンソケットの写真を示します。足のピンが曲がっている様子が分かると思います。

写真3、Arduino用ズレてるピンソケット
↑ 画像をクリックすると拡大
写真3、Arduino用ズレてるピンソケット

これは有名な話なので、ご存知の方も多いでしょうが、Arduinoのピンソケットの配置が、0.1インチ(2.54mm)のグリッド(格子)に乗っていない部分があるので、0.1インチの格子状に穴の空いたユニバーサル基板に単純に足の長いピンソケットを実装したのでは、Arduinoのソケットに刺さらないんですね。その対策として、上の写真のような、へんてこなピンソケットが販売されているんです。

ここで、Arduino Unoのピンソケットの配置を確認してみましょう。

図1、Arduino Unoのピンソケットの配置
図1、Arduino Unoのピンソケットの配置

上の図のように、左上のピンヘッダが0.1インチ間隔の格子から0.04インチずれているのが分かります。

ところで、なぜピンヘッダが一つだけ格子から0.04インチずれているかの理由なんですが、「誤ってシールドを反対方向に挿入するのを防ぐため」とか、「設計時のミス」とか色々言われています。真相はどうであれ、このズレが、ユニバーサル基板で工作する人たちを苦しめてきた事は確かです。

広告

3.使用例(オシロスコープで信号を観察する場合)

ヘッダシールドとオシロスコープで、Arduinoのピンの電圧波形を観察する方法を、簡単な例を挙げて説明します。

1kΩの抵抗と直径3mmの赤色LEDをそれぞれ2個ずつ用意し、下の図のように結線すると、2つのLEDをArduinoの3番ピンと5番ピンで制御できるようになります。(ピンをHIGHにすると対応するLEDが点灯し、ピンをLOWにすると対応するLEDが消灯する) なお、この回路は、電源電圧が5VのArduino(Uno、Mega 2560、Leonardo)などを前提に抵抗値を決めてあります。

図2、LED点滅回路
図2、LED点滅回路

もし、Arduinoに次の様なスケッチを書き込むと、2つのLEDが共に1Hzで点滅します。また2つのLEDの点滅には90度の位相ずれ(タイミングのずれ)があります。

void setup()
{
  pinMode(3,OUTPUT);
  pinMode(5,OUTPUT);
}

void loop()
{
  digitalWrite(3,HIGH);
  delay(250);
  digitalWrite(5,HIGH);
  delay(250);
  digitalWrite(3,LOW );
  delay(250);
  digitalWrite(5,LOW );
  delay(250);  
}

点滅の周波数を1Hzと低く設定しているため、2つのLEDの点滅のタイミングがずれていることが目でも確かめられますが、オシロスコープで3番ピンと5番ピンの電圧波形を観察すると、その様子がより明瞭に確認できます。この際に今回作ったヘッダシールドを使うと信号の観察が容易になります。

実験回路の写真を次に示します。

写真4、オシロスコープによる信号観察
↑ 画像をクリックすると拡大
写真4、オシロスコープによる信号観察

3番ピンと5番ピンの信号観察用ヘッダにそれぞれオシロスコープのプローブを付けています。ブレッドボード上の抵抗などの部品のリードにプローブを付けてもいいのですが、プローブに引っ張られて部品がブレッドボードから抜けてしまうことが良くあります。ヘッダシールドを使う方が観察がしやすいです。

次に、上の写真の回路を使って観測した電圧波形を示します。

図3、オシロスコープによる測定結果
↑ 画像をクリックすると拡大
図3、オシロスコープによる測定結果

黄色の線が3番ピンの波形で、水色の線が5番ピンの波形です。縦軸は両チャンネルとも2V/DIVで、横軸は250ms/DIVです。この波形をみると、点滅周波数が1Hzで、黄色の波形の方が90度位相が進んでいる様子がよく分かります。

ちなみに、私は私はインステックのGDS-1062というオシロスコープを使っています。(オシロスコープをデータロガーとして使うという記事で詳しく紹介しています) 今のデジタルオシロスコープは、たいていSDカードかUSBメモリ(私のオシロスコープの場合はSDカード)で波形が記録できるため、実験結果を残すのが簡単になりました。

さらに余談になりますが、私のArduino Unoには、次の写真のようにゴム足が付けてあります。こうすることによって、USBケーブルやオシロスコープのプローブなどに引っ張られてArduinoが動いてしまう事が減ります。見た目は悪くなりますが、少し大きめのゴム足を付ける事によって、かなり滑りにくくなりますので、私の様に見た目よりも使いやすさを優先する人にはお勧めです。

写真5、Arduinoにつけたゴム足
↑ 画像をクリックすると拡大
写真5、Arduinoにつけたゴム足

4.使用例(Arduinoの取り替えに使う場合)

私の場合、同じスケッチが種類の違うArduinoでも同様に動作するかを試験する事が頻繁にあります。Arduinoにつながっている回路がシールドの形で組まれている場合はいいのですが、ブレッドボードに試作してある場合は、Arduinoの全てのピンからジャンパ線を外し、別の種類のArduinoに交換してから、再配線する手間が掛かります。こんな時にヘッダシールドを使えば、Arduinoを交換する際の手間が省けます。

例として、先ほどのLED2個の回路を、Arduino UnoからArduino Mega 2560に付け替える方法を、写真を使って説明します。

写真6、ヘッダシールドを用いたArduinoの交換(最初の状態)
↑ 画像をクリックすると拡大
写真6、ヘッダシールドを用いたArduinoの交換(最初の状態)
写真7、ヘッダシールドを用いたArduinoの交換(ヘッダシールドを外す)
↑ 画像をクリックすると拡大
写真7、ヘッダシールドを用いたArduinoの交換(ヘッダシールドを外す)
写真8、ヘッダシールドを用いたArduinoの交換(Arduino Mega 2560に装着する)
↑ 画像をクリックすると拡大
写真8、ヘッダシールドを用いたArduinoの交換(Arduino Mega 2560に装着する)

このように、配線済みのヘッダシールドを別のArduinoに付け替えるだけで、ブレッドボード上の試作回路が別のArduinoに配線できます。上の例ではブレッドボードとArduinoの間の配線が3本しかなかったので、ヘッダシールドを使わずに配線をし直してもたいした手間ではありませんが、下の写真のように、グラフィックLCDモジュールを含む回路の試作をする場合は、配線が20本近くになりますので、ヘッダシールドの効果は絶大になります。

写真9、配線が複雑な回路の例
↑ 画像をクリックすると拡大
写真9、配線が複雑な回路の例

また、1種類のArduinoしか使っていない場合でも、複数のプロジェクトを平行して進めていると、Arduinoがたくさん欲しくなる時があります。そんな時、とりあえずヘッダシールドを使って配線しておくと、Arduinoを取り外して一時的に別のプロジェクトに流用する事ができます。ヘッダシールドはArduinoよりはるかに安価ですから、Arduinoをたくさん用意するよりもヘッダシールドをたくさん用意する方が経済的です。

次のページでは、はロジックアナライザを使った測定にヘッダシールドを利用する方法を紹介します。

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

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

関連ページ

PCBgogoのバナー
Arduino 電子工作
このサイトの記事が本になりました
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
電子工作で学ぶ論理回路入門
このサイトの中の人が書いた本です。
ISBN:978-4-7775-2280-4
工学社の書籍の内容の紹介ページ
この本の紹介記事
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。