BS21 Lab の製品 - Arduino 用 8 DIP SW シールド(製品番号:BS21LAB-001)

6/sep/2012 新規
21/nov/2012 更新

Arduino 用 8 DIP SW シールドです。こちらは、8連 DIP SW 無し版になります。
8連DIP SW が8個取り付けられますので、汎用64点入力が可能です。 Ethernet シールドのMACアドレスを Arduino に教えるのに便利です。

  1. 概要
  2. ギャラリー
  3. ご購入方法
  4. 注意事項
  5. 免責事項
  6. 仕様
  7. ソフトウェア
  8. 組立て方法
  9. 使用方法

・概要

8連DIP SW ×8個で、合計64点の ON/OFF を固定設定できます。
通信方法は SPI 方式となります。Arduino デジタル 11〜13ピンを使用する方法と、ICSP ピンを使用する方法のどちらかを選べます。CS はジャンパーにてデジタル 2〜10番ピンのいずれかが選択できます。
使用電圧は +5V のみとなっております。(+3.3V での動作は未確認です)
スイッチ・マトリックスの逆流防止用に、8連ダイオード・ネットワーク(BI tech 製 DN9-1C)を8個使用しています。

本製品は組み立て式キットとなっています。組み立て方は、下記の組立て方法を御覧下さい。


【2012年11月6日追記】8連 DIP SW 8個付属版(製品番号:BS21LAB-001S)も御用意しました。8連 DIP SW 8個が付属している以外は、仕様等、まったくの同一製品になります。


・ギャラリー:クリックすると拡大します。

概観 Etherシールドとの接続

・ご購入方法

本製品は、以下のサイトで取り扱って頂いております。

(株)スイッチサイエンス様
(株)ガリレオセブン様 ※「キット製作サービス」有り。要製作料。


・注意事項

本製品は、基本的には、電源を OFF にした状態で DIP SW の切り替えを行ってください。通電中に DIP SW を切り替えますと、もしかすると IC 等が静電破壊される恐れがあります。
電源を OFF にした状態でも、DIP SW を切り替える時は、静電気を逃がしてから行ってください。

また、本製品は端子等が露出しており、ショートなどで容易に故障しやすくなっておりますので、取り扱いには十分に注意してください。

鋭利な部分も多数有りますので、怪我等に十分に注意してください。


・免責事項

本製品は人命等に関わる装置への利用につきまして、考慮されておりません
また、本製品を使用した事によって発生しました如何なる事象につきまして、弊社は責任を負いかねますので御了承下さい。


・仕様

寸法:幅約53.3mm×長さ約72mm ※いわゆる"C基板"(47×72)の幅を若干延ばした寸法
高さ:約26.5mm (ジャンパーピン頭からArduino用ピン先まで)
固定穴:φ3.2×4ヶ ※穴位置は"C基板"互換なのでスタックできます

Arduino UNO R3 ピン互換シールド:※未確認ですが XMEGA でも動作すると思われます。

駆動電圧:直流+5V ※+3.3V での動作は未確認です。

接続方式:SPI 方式 ※ジャンパーピンにて、デジタル 11〜13番ピンを使用して接続する方法と、ICSP ピンを使用して接続する方法を選択できます。
ChipSelect(CS) (SlaveSelect(SS)とも) は、デジタル 2〜10番ピンのいずれかが選択できます。この内、デジタル 9番ピンと10番ピンはジャンパーピンで選択可能です。デジタル 2〜8番ピンはジャンパー線での選択方法となります。

回路図


<動作確認>
以下の時での動作を確認しています。

・Arduino UNO R3 (Atmel ATmega328P:CLK=16MHz)
・Ethernet R3 シールド
・Vcc = 5V
・SPI 通信方式:SCK = CLK/4 = 4MHz 及び、Mode=0 (CPOL=0, CPHA=0)


・ソフトウェア

Arduino 用ライブラリを用意しています。
以下の圧縮ファイルをダウンロードし、arduino フォルダーの中の libraries フォルダーの中に解凍するだけで OK です。
※ Arduino のファイル名の制約より「DIPSW8x8 ライブラリ」という名称になっています。

BS21Lab-ArduinoLib-DIPSW8x8-v1.00.zip

アンインストールも、DIPSW8x8 フォルダーごと削除するだけで OK です。

・組立て方法

<添付部材の一覧>

以下の部品がそろっている事を御確認ください。
万一、不足している場合は、info@bs21−lab.com (スパム対策で全角文字にしてます) まで、御連絡下さい。

名称記号型番メーカー個数コメント
(1)基板 (W53.3×L72)---BS21LAB-001弊社製1個t=1.6 (厚すぎました)
(2)ダイオードネットワーク (カソードコモン, 8エレメント)DN1〜8DN9-1CBI tech製8個白帯側が1ピン
(3)抵抗ネットワーク (10kΩ, 8エレメント)RN1L091S103LFBI tech製1個L91S103と書かれてます。白帯側が1ピン
(4)74HC164 (DIPタイプ,14ピン)IC174HC164不問1個
(5)74HC165 (DIPタイプ,16ピン)IC274HC165不問1個
(6)74HC368 (DIPタイプ,16ピン)IC374HC368不問1個
(7)ICソケット(DIPタイプ,14ピン)IC1---不問1個
(8)ICソケット(DIPタイプ,16ピン)IC2〜3---不問2個
(9)積層コンデンサC1〜30.1μF 程度不問3個
(10)電解コンデンサC410〜100μF 程度, 耐圧 6.3V以上不問1個
(11)ピンソケット(6mm高) 32ピンSW1〜8SSA-132-S-T不問4本切断して使用
(12)ピンヘッダー(5mm高) 40ピンJP1〜5---不問1本切断して使用
(13)ジャンパーピン------不問6個黒赤黄緑青白の6色
(14)取扱説明書---BS21LAB-001(P1)弊社製1枚

基板 ダイオードネットワークと抵抗ネットワーク その他の部品

なお、基板は"有鉛"タイプですので、御注意下さい。

<不足部品の一覧>
以下の部品は添付されておりません。別途、御入手ください。

名称記号型番メーカー個数コメント
(15)8連DIP SWSW1〜8---不問8個
(16)Arduino 用ピンソケット------不問2set1set は ICSP ピン用に転用

「8 DIP SW シールド」という製品名のくせに、肝心の DIP SW が添付されていません。 これは、下手に安物を添付するよりは、御自身が気に入ったものを装着して頂いた方が良いのでは?と思い、あえて添付しませんでした。
なお、DIP SW ですが、以下の写真の左側のタイプを装着してください。右側のタイプだと脱落しやすく、また DIP SW の底がダイオードネットワークの頭と当たってしまいます。
DIPSWの種類

Arduino 用ピンソケットですが、Arduino UNO R3 以降 (10ピン, 8ピン×2, 6ピン) と、それより前の Arduino (8ピン×2, 6ピン×2) では、ピン数が違いますので、御使用の Arduino に合ったピンソケットを御用意下さい。
なお、2セット必要なのは、1セットは本来の目的に、残り1セットは、8ピンタイプを ICSP ピン用に転用する為です(後述)。
Arduino 用ピンソケット


<前準備>
組立てに際して、以下の工具が必要となります。適宜、ご準備ください。
  1. 半田ごて
  2. 半田 ※ 半田箇所が多い為、かなり消費します。
  3. ニッパー
  4. テスター ※通電確認に使用します。ショートしていると音が鳴るタイプがよろしいでしょう

また、以下の工具等があると、作業がやり易くなると思われます。

  1. 安全眼鏡 ※百円ショップで315円で売ってるヤツでOKです
  2. 仮止めテープ (マスキング・テープ) ※粘着力の弱いテープ。ホームセンター等で売っています
  3. 半田吸い取り器
  4. ラジオペンチ
  5. ピンセット
  6. IC ピンそろえ器
  7. 5V 電源 ※新品の電池3本〜使い古しの電池4本でもOK (新品4本だと、電解コンデンサの耐圧 6.3Vを超えてしまうので注意)
工具1 工具2 安全眼鏡 電池4本

なお、半田付けの方法や、工具等の取り扱いの方法につきましては、各種雑誌やインターネット上に数々の紹介がありますので、ここでは割愛させて頂きます。


<組立て>

以下の手順にて組み立てると、きれいに組みあがると思います。 無論、必ずこの通りに組み立てなければならない訳ではありませんので、適宜、アレンジしてください。
なお、万が一の為にも、作業中は安全眼鏡の着用をお勧めします。

また、IC は静電気に弱いので、体に溜まった静電気を放電させてから作業開始してください。

1.ピンヘッダーの切断:
ニッパー等にて、以下のように 10ピン, 6ピン, 3ピン×2 に切断してください。(写真左側)

ピンヘッダーとピンソケットを切断

2.ピンソケット(6mm高)の切断:
こちらもニッパー等にて、上の写真の右側のように 8 ピンごとに切断してください。計16個になります。余りは発生しませんので、切断に失敗しないよう注意してください。
なお、このソケット (SSA-132-S-T) は、電子部品店のマルツ殿でも取り扱っておられます(2012年9月現在)。

3.ICSP用ソケットピンの作成:
SPI 通信に ICSP ピンだけを使用する Etherner R3 シールドと接続する為に、このピンが必要になります。
足の長い2×3のソケット (SSQ-103-03-T-P) が入手困難な為、Arduino用ピンソケットを1ヶ切断して、作成する事にします。
8ピンタイプを切断して3ピン+3ピンにする方が確実です。6ピンタイプを切断して3ピン+3ピンにするのは、余程の達人でないと不可能だと思われます。
小生の場合、以下の写真のように、ニッパーで切断した瞬間に1ピン外れてしまいました。残った4ピンの方も、ニッパーで根元から1ピン切り落として、3ピン+3ピンにしました。
Arduino用ソケットを切断 ICSP用に形を整える

以下の写真の様に、基板の裏面から取り付ける事になります。Ethernet シールドとは、この様に接続されます。現段階では、まだ半田付けしないで下さい。後の作業が困難になります。

基板にあてがってみた Ethernetシールドとの接続

4.ICソケット3ヶの取り付け:
基本的には、背の低い部品から取り付けていきます。ICソケットにはピン数と向きが有りますので、基板のシルク印刷と合うように取り付けてください。
ICソケット3ヶ ICソケットの向き

写真のように、仮止めテープで仮止めすると作業がやり易くなると思います。
ICソケットをテープで仮止め

5.積層コンデンサ C1〜C3 の取り付け:
ICソケットの中に入るように積層コンデンサを取り付けます。この時、積層コンデンサの頭が ICソケットからはみ出さない様にしてください。後で IC を取り付ける時に困ってしまいます。
積層コンデンサ

6.ピンソケット(6mm高)の取り付け(1回目):
2で切断したピンソケット16個の内、12個を取り付けます。残り4個は後で取り付けます。
ピンソケット12個 ピンソケット12個を基板に挿す

この時、写真のようにすると、ピンソケットどうしの間隔を等間隔、かつ、垂直に半田付けできますので、参考にしてください。
ピンソケットを等間隔にする 半田付けしやすいようにテーピング

7.抵抗ネットワーク RN1 の取り付け:
ダイオードネットワークと非常に似ていますが、若干小さめの部品です。 抵抗ネットワークには取り付け方向が有り、白のマーキングが付いているのが1番ピンですので、写真を参考に、間違えずに取り付けてください。
抵抗ネットワーク 抵抗ネットワークの1番マーキング 半田付けしやすいようにテーピング

8.ダイオードネットワーク DN1〜6 の取り付け:
8個のダイオードネットワークの内、6個を取り付けます。残り2個は後で取り付けます。
ダイオードネットワークにも取り付け方向が有り、白のマーキングが付いているのが1番ピンですので、基板のシルク印刷と写真を参考に、間違えずに取り付けてください。 同じ列のダイオードネットワークが背中合わせに並んでる状態が、正しい状態です。
以下の写真は、後の手順に出てくる ICSP ピンを取り付けた後で、ダイオードネットワーク8個まとめて取り付け様とした写真なのですが、ICSP ピンが邪魔して半田付けが大変でした。 ですので、この時点で DN1〜6 の6個を取り付けてしまった方が、あとあと楽です。
ダイオードネットワーク8個
ダイオードネットワークを仮止めテープで仮止めしないと、基板を引っくり返した時に、抜け落ちてしまいます。
半田付けしやすいようにテーピング

9.ピンヘッダーの取り付け:
1で切断しておいたピンヘッダーを取り付けます。この時、Arduino 用ピンソケットも一緒に基板に挿しながら、ピンヘッダーだけを半田付けします。(Arduino 用ピンソケットの方は、未だ半田付けしないで下さい。) かなり狭い所にピンヘッダーを押し込む事になるので、曲がったり浮いたりしないように注意しながら、半田付けしてください。
以下の写真は、ダイオードネットワークが付いてませんが、上記の通り、ダイオードネットワーク6個は取り付け済み、として写真を見てください。
ピンヘッダー 基板上のピンヘッダーの配置

10.ICSP用ソケットピンの取り付け:
3で作成したやつです。この部品だけ、基板の裏面から取り付けて、基板の表面から半田付けします。
写真のように、先ず1つ目を Arduino 本体に挿し、続いて基板を載せ、更に Arduino 用ピンソケットを仮に嵌めて、基板が斜めにならない様に位置出しをしながら半田付けすると、完成時にぴったり仕上げる事が出来ます。

ICSP用ソケットピン ICSP用ソケットピンをArduinoに挿す 基板を載せ、Arduino 用ピンソケットを嵌めて位置出し 1つ目を半田付け後に裏から見た写真

2つ目も同様にして半田付けします。半田付けの際、すぐ隣のICソケットを溶かさないように注意してください。

2つ目も半田付け ICSPピン半田付けの完成

2つ共、半田付け出来たら、テスターで導通確認しておくと良いでしょう。写真の様に EXT 用のランドと導通確認するのが一番楽です。 なお、本基板の ICSP ピンの Reset ピンは、どことも繋がっていません(本当は Reset SW を付けたかったのですが、場所が無かったので断念)ので、周りとショートしていない事だけ確認できれば OK です。
ICSPピンの導通確認

11.ピンソケット(6mm高)の取り付け(2回目):
ピンソケットの残り4個を取り付けます。
ピンソケット残り4個
この時、写真のようにすると、ピンソケットどうしの間隔が等間隔、かつ、垂直に半田付けできます。
ピンソケットを等間隔にする 半田付けしやすいようにテーピング

12.ダイオードネットワーク DN7〜8 の取り付け:
残り2個のダイオードネットワークを取り付けます。
以下の写真は、8個まとめて取り付け様として苦労した写真です。すでに6個取り付け済みのはずなので、苦労は 1/4 になるはずです。
ダイオードネットワーク8個
ICSP用ソケットピンを取り付けた後なので、ダイオードネットワークを仮止めテープで、しっかりと仮止めしてください。引っくり返すと ICSP ピンのせいで基板が浮くので、半田付けがし辛いです。 仮止めテープ本体を下において、その上に裏返しの基板を載せれば、少しは半田付けし易くなるかもしれません。
半田付けしやすいようにテーピング

13.電解コンデンサ C4 の取り付け:
電解コンデンサにも極性が有ります。"−"と書かれている足がマイナス側です。一方、基板には"+"と書かれていますので、極性を間違えずに取り付けてください。
電解コンデンサ

14.Arduino用ソケットピンの取り付け:
Arduino 本体に上手く挿さる様に、垂直に取り付けます。といっても、垂直というのが結構難しいので、もし別の Arduino 用のシールドをお持ちなら、 以下の写真のように、そのシールド(写真では Ethernetシールド)に Arduino用ソケットピンを挿して、引っくり返した基板を載せてから半田付けすると、比較的、垂直に取り付けることができます。 (それでも、いざ Arduino 本体に挿そうとすると、ピンが開き気味だったり、閉じ気味だったりで、ラジオペンチでの微調整が必要になります。)

Arduino用ソケットピン Arduino用ソケットピンの半田付け

15.通電確認:
ICを取り付ける前に、ここで通電チェックを行っておく事をお勧めします。
まずはテスターで Vcc (5V) ピンと GND ピンがショートしていない事を確認します。 この時、テスターが一瞬音が鳴って、すぐ音が消えた場合は、コンデンサに充電されただけなので問題ありません (さらに、コンデンサが放電されるまで、同現象は再現されません)。 逆に、テスターが鳴り続けた場合は、どこかショートしていますので、問題の場所を発見・修正してください。
続いて、写真のように +5V を印加して、何も異常が起きない事を確認しておきます。 もし異常が発生しても、この時点で壊れる部品はコンデンサだけのはずなので、被害が最小限に食い止められます。 なお、ダイオードネットワークは耐圧80V、抵抗ネットワークは耐圧100V なので、発熱はしても壊れる事はまず無いと思います。
しばらく通電していて、異常な臭いや音がしない事、各部品の頭や背中を指で軽く触ってみて異常に熱くなっていない事を確認できれば、まず OK でしょう。

通電確認1 通電確認2

16.IC3ヶの取り付け:
ICの種類と方向を間違えないように、ICソケットに挿します。特に 74HC165 と 74HC368 は同じ16ピンICですので、間違わないように注意してください。 また、工具のところに書いた"IC ピンそろえ器"があると、ICソケットに挿入しやすくなります。
IC3ヶ IC装着後

17.ジャンパーピンの取り付け:
ジャンパーピンを6ヶ、ピンヘッダーに取り付けます。Arduino の種類により取り付け方が違ってきますので、写真を参考にジャンパーピンを取り付けてください。
なお、ジャンパーピンは黒赤黄緑青白の6色あります。どこにどの色のジャンパーピンを使用しても構いません(写真と同じ配色にする必要はありません)。 (6色あるのは、その方が部品の袋詰めの時に数えるのが楽だからです。ダイオードネットワークは黒色が8個なので、間違えないように数えるのが大変。)

ジャンパーピン6ヶ

Arduino UNO 系:JP3/4/5 の3つともジャンパーピン(写真では赤/黄/緑)を取り付けてください。この場合、デジタル 11〜13番ピンと ICSP ピン同時使用の SPI 通信となります。
デジタルピンでのSPI通信

Arduino XMEGA 系:JP3/4/5 にはジャンパーピンを取り付けないでください。この場合、ICSP ピンのみでの SPI 通信となります。(XMEGA の場合、デジタル 11〜13番ピンに SPI 機能がありません)
ICSPピンでのSPI通信

また、以下の写真の様に、JP1 は'P'側に、JP2 は'N'側にジャンパーピンを取り付けてください。これは UNO でも XMEGA でも同様です。(写真は判りやすい様に、つまみの無いジャンパーピンに交換してあります)
CLK部のジャンパー設定

ChipSelect (CS) は、デジタル 2〜10番ピンのいずれかが選択できます。 左の写真が、デジタル10番ピンを選択した状態、真ん中の写真が、デジタル9番ピンを選択した状態、右の写真が、デジタル2番ピンを選択した状態、です。 御覧の様に、デジタル2〜8番ピンはジャンパー線(メス-メス:添付されてませんので御用意ください)を使う必要が有りますので、実際は9番ピンか10番ピンでの使用となるでしょう。 さらに Ethernet R3 シールドが 10番ピンを使用しますので、9番ピンを選択しておくのが無難でしょう。
デジタル10番ピンを選択 デジタル9番ピンを選択 デジタル2番ピンを選択

18.DIPSW 8ヶの取り付け:
本シールドの名称の由来となった DIPSW 8個を取り付けます。
こちらも、"IC ピンそろえ器"があると、ピンソケットに挿入しやすくなります。
DIPSW8ヶ とりあえず完成

19.最終通電確認:
Arduino に接続する前に、最終通電確認をしておく事をお勧めします。
Vcc〜GND 間に +5V を印加して、異常な音や臭いがしない事、IC の背中を指で軽く触ってみて異常に熱くなっていない事を確認します。
最終導通確認

20.動作確認:
キャラLCD を御持ちならば、それでの動作確認が一番楽です。以下の写真の様に、ジャンパー線6本で接続し、キャラLCD に64点入力を表示させて、動作確認します。 (なお、このキャラLCDシールドは小生自作品です。もちろん、市販のキャラLCDシールドでも OK です)
「DIPSW8x8 ライブラリ」にスケッチ例「ShowAllValuesToLCD」がありますので、これを適宜、修正して御利用下さい。
ところで、DIPSW のスイッチ切り替えは、竹串を使うと便利です。

SWテストのLCD表示

キャラLCD が無い場合は、Arduino 付属のシリアルモニターに表示させながら、動作確認します。
「DIPSW8x8 ライブラリ」にスケッチ例「ShowAllValuesToSerial」がありますので、これを御利用下さい。以下の様に、1秒間隔で表示されます。

SWテストのシリアルモニター表示

・使用方法

最初に、以下の写真の様に、SW1〜6 に Ethernet シールドの MAC アドレスを設定します。SW7〜8 はフリーです。 なお、Ethernet シールドがデジタル10ピンを使用しますので、CS のジャンパーピンを、デジタル 9ピンに切り替えてください。
EtherシールドのMACアドレス
続いて、以下の写真の様に、本シールドが Arduino 本体と Ethernet シールドの間にサンドイッチされる様に接続します。 なお、SW7 と SW8 は、接続後にも切り替えやすい様に、ワザとはみ出す様になっています。
Etherシールドとの接続

LANケーブル接続後、「DIPSW8x8 ライブラリ」にスケッチ例「UdpNtpClient_DIPSW8x8」がありますので、これを変更なしでコンパイルし、Arduino に転送するだけで、 以下の様に10秒間隔で、世界標準時 (UTC) が表示されます。なお、このスケッチ例は、Arduino IDE に添付の「UdpNtpClient」を「8 DIP SW シールド」用に修正したものです。

NTPクライアントのシリアルモニター表示


Ethernet シールドだけでなく、64点入力という点を利用して、色々な活用方法を考案してください。


製品リストに戻る

Copyright (C) 2012 BS21 Lab, All rights reserved.