チラシのうら

レゴとか、工作とか。

brickpino/figpino製作日誌 その2

今回は

ピン配置特別記念、初の合併号です。
とにかく、要件を満たすピン配置を実現することをテーマにお送りします。

明らかにfigpino×MESH GPIO tagの組合せが一番厳しそうなので、まずはここから着手してみます。

MESH GPIO tagのピン配置

MESH GPIO FAQに詳細が書いてあります。
下記の通りにMESH側のピンアサインを重畳させてみました。
f:id:tetunori_lego:20150617202153j:plain

figpinoの足裏のピンは、下記の画像の青枠部にはまることになります。
つまり、×を書いた3, 8番ピンはfigpinoでは使えません。
f:id:tetunori_lego:20150617203023j:plain
ここで偶然助かったのは、VとGNDがちゃんと青枠内に収まっていることです。この偶然がなければ、figpinoは存在しなかった事でしょう。

どの8pinoピンに繋ぐか

VとGNDは良いとして、他の6ピンの扱いを考えます。

以下が考慮すべき項目

双方のOUT同士は結線すべきでない。

MESHから指示・トリガを受け取った8pino側で何らかの機能を実現するには、8pinoのピンに他の部品を繋ぎ、制御しなければなりません。
f:id:tetunori_lego:20150618080125j:plain
MESH GPIO tagに繋ぐのとはまた別のピンが必要になりますが、それは別の会で後述します。

その際、Out pin同士がぶつかってはいけない気がするので、8pinoでOut pinとして使いたい場合は、MESHのIN pinに繋ぐ必要があります。

よく使う8pino Out Pinを順に並べると、

8pino OUT出来るピン 使用頻度
PB0 よく使う
PB1 よく使う
PB2 まれに使う
PB3 ほとんどの使わない
PB4 よく使う

ただ、PB2はI2Cで使うため、無視は出来ません。MESHからはI2C制御出来ないと思うので、このピンもOutに出来ることが、brickpino/figpinoの魅力となります。

USB D+/D-

何て事はないですが、ブレッドボードに挿したとき、firmupしやすい様に、PB3, 4は同じ列にあって欲しい。

USB VBus

brickpino限定の話ですが、ちょうどDinピンが一個余ってるので、Vbusはこちらに結線します。

PWMの扱い

これを直接8pinoに繋いでworkする保証がないので、無難にResetをアサインします。
AnalogRead()で値取れたりするのでしょうか?

結果、こう接続します

MESH GPIO Tag Pin 8pino Pin
Pin 1 : Vout Vcc
Pin 2 : Din PB0
Pin 3 : Din Vusb(brickpinoのみ)
Pin 4 : Din PB1
Pin 5 : GND GND
Pin 6 : Dout PB3
Pin 7 : Dout PB2
Pin 8 : Dout -
Pin 9 : Ain PB4
Pin10 : PWMout Reset

図にすると、こう。
f:id:tetunori_lego:20150618072411j:plain

PB2に関しては、やむなくって感じです。PB2をOut Pinとして使う際は、ジグなどを挟むことにしました。

これで

brickpino/figpinoに共通した、MESH GPIO Tagとの接続部は確定しました。
さらに詳細な結線仕様については、個々の製作日誌で記載します。