こんばんみー

さて最近世間を騒がせているのか騒がせていないのかわからないですが、
安いのでmbedを使っていた人なら少しは興味を持ったであろう基板のお話です。



黒兎も最初は買えたらなぐらいで思っていたんですが、3か月前くらいに使う用事があって購入しました。


DSC00295_R

















40個な!


ま、数はどうでもいいとして、
とりあえずブレッドボードと黒mbedを置く板作って少し試してみました。

DSC00307_R
















mbedと同じ関数使えてかんたんねー
それだけかな・・・

サンプルプログラム試して積んだ人も多いはずw





ちょっと調べると今まで使ったマイコンとは違った機能があることが判明。


TSI(Touch Sensor Input)という静電容量式タッチセンサ専用の機能です。
なんかよくわからないけど簡単にできるっぽい。
説明4


























1軸のスライダはFRDM-KL25Zについていますし、
ただのボタンなんていくらでもシールドあるので、
2軸のパネルを作りたいと思います。



タッチパネルある今あんま使い道ねーーーー


でも、誰もやってないなら・・・・・




33298a57












やるしかないじゃない!(まだこのネタは使ってなかったはず・・・)



1軸のスライダを参考に適当に作ってみます。


kiban
































回路図はこんな感じ。
TSIのチャンネルは16個ありますが、現在使用されているものやFRDM-KL25Zの外に
ピンが出てなかったりして、使用できるものは7チャンネルだけです。
そこで上のような形にして、一番右と左の領域はつなげて1チャンネルとしました。

ちなみに、後から知りましたがfreescaleのTSI説明用資料に12チャンネル使って
2軸のパネルを作る参考図が載っていました。



今回も基板製作のお安い例のとこに頼んで・・


DSC00306_R
















半田付け後


DSC00309_R
















乗せてみた



さて、ちゃんとセンサを検出できるかやってみましょう。

説明1











まずはTSISensor.cppで使用するチャンネルの数を変更します。


説明2











使用するチャンネルを若い番号順に書き換えます。

さぁ動くかな?とやってみると動きませーーーん。

どうやらTSI0_CH5を使用しようとするとcaribrationが成功しません。
mbed.hでこいつだけピンの機能切り替えが行われてないみたい。

そのため、以下のようにコンストラクタに書き加えます。

説明3












これで全部値が読み取れるようになりました。
あとは、どの値の時にどの座標なのかを計算するだけですが、これが少し難しいかもしれません。

山口のMakeまであと1か月ぐらいです
山口のMakeではこれを展示しようかと思います。

その時までにもう一回ブログを書くかどうかはわかりませんが、また次回ノシ