この間思いついて、少しずつ手を動かしてたモノ。
とりあえずテスター当てて問題ないところまで
確認終了。
Spark Funのarduino pro miniにレギュラーサイズの
シールドを取り付けるためのもの。名づけて
Arduino pro mini用 「シールド・シールド」
シールドを取り付けるためのシールドって意味ね。
サンハヤトのシールド用万能基板にpro miniを填めて
シールド取り付けができるサイズにしたモノ。
ちなみに、Duemilanoveや出たばかりのArduino Uno
とどの程度の互換性なのかというと…
pro miniの方がピン数が少ないため、どうしても
制約が出ます。4点ほど考慮が必要でした。
(1)ADC端子の数
普通サイズのarduinoは、ADCが6ピン分あります。
一方pro miniはaA0~A3の4本だけがI/Oピンに
並んでて、A4~A5は別途ジャンパーピンで上から
取り出すようになってます。
ジャンパーピンで取り出そうとするとシールドを
重ねた時高さの制約が出ちゃうので、ウルトラC
が必要。で、この写真。
こんな風に裏面にL型のピンを生やして、横方向
からピンソケットで信号を取り出すようにすれば
支障出ないわけ。
加工がちょっと大変だったけど、これならブレッド
ボードで使う時も、このシールド・シールドに
載せて使う時も大丈夫。ここは互換性バッチリ。
(2)シリアルI/Oコネクタ端子形状
Spark FunのシリアルI/OボードでPCと繋ぐ際、
普通にブレッドボードで使うならストレート端子
で繋いでおいたほうが他の部品との干渉が無くて
良いと思うんだけど、今回はL型ピンで横方向に
引き出しました。↓こんな具合。
これなら各種シールドと干渉することは無いでしょう。
ブレッドボードにさして使う場合はブレッドボード
の端っこに挿して使う必要がありますが、まぁ、
reduino-nanoもそうやって使ってるので特に大きな
問題ではないでしょう。
(3)シリアルI/O用のTXD、RXD端子保護
Spark Funサイトで回路図を眺めてみたら、pro mini
と専用のシリアルアダプタの間にはショート保護用
の1kΩ抵抗が入ってないみたい。実物を眺めても
見当たりません。
DuemilanoveやArduino Uno等の回路図を公式サイト
で眺めてみると、MEGA328チップとUSB変換チップの
間に1kΩの保護抵抗が入っているんだけど、pro mini
は無し。(ちなみに、proの場合はデジタルI/O端子
側に保護抵抗が入ってます…オリジナルと少し回路が
異なってるのね…)
さすがにpro miniシリアルアダプタのちっちゃいボード
の上に抵抗を追加することは無理なので、そっちは
断念。
一つのやり方としては、proと同様にデジタルI/O端子
の方を1kΩ通して繋ぐ手も有るんだけど、そうすると
これらのピンを抵抗で分圧とかやろうとするとその
1kΩ抵抗が悪さしそうなので、なんとも悩みどころ。
結果、今回は保護抵抗を入れませんでした。
この2ピンをPC接続にだけ使うなら特に問題ないし、
reduino-nanoもそうやってつかってるし…。
何か特殊なことをする場合は、書き込みしてから
シリアルアダプタを取り外す必要アリ…と。
(4)外部電源への対応
現状、USBからシリアルアダプタ経由で給電される5V
にしか対応してません。
外部電源に対応するには、パワーFETや手動スイッチ
などでUSBからの給電をon/off切替しないといけない
んだけど、そんな回路を組み込むかどうかを考える
のすら面倒になったのでパス。
そもそも、(3)と同じ理由でシリアルアダプタ
周りの回路はちょっとウィークポイントなのだ。
シリアルアダプタを取り外しても上手く動くように
デュアル電源対応になってた方がやっぱ便利に
違いないので、ここは何とかしたいところだなぁ。
…というわけで、この「シールド・シールド」を使えば
普段はpro miniをブレッドボードに挿して使い、必要に
応じて一般サイズのシールドも接続できると。
ビンボーなオイラにもってこいのシロモノ完成。
っていうか、最初からこの手のボードが売られて
いると良いんだけどなぁ。
あと、Arduino nano用に設計するならもう少し苦労
しなくても良かったのかもしれないな。
それにしてもArduino Uno。
ATmega8U2チップにUSB用のファームウェア書き込んで
使ってるのか…コストダウンの策なのかな?通信速度的
にどうなんだろう?
mega8U2チップになったことで、.infファイルをいじる
必要があるらしい…
|