「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



arduinoの公式ライブラリで公開されていた
Capacitive Sensing Libraryを使ってみました。
http://www.arduino.cc/playground/Main/CapSense

基本的にはサンプルスケッチをそのまま動かして
みただけですが、抵抗には家に有った1MΩを使い、
ピンは2と4を使うようにしたので、以下のように
一部修正してます。
long total = capSense(2, 4, 20);

これでスケッチを実行し、デジタル4番ピンに直接
触ると、出力される数値(アナログ入力の値)が
大きくなるようです。
  (離すと0か1程度なのが、触ると数十以上に)

もっと大きい抵抗値を使えば、触るだけではなく指を
近づけるだけでセンシングできるようです。

3つ目のパラメタの数値を色々弄ると、出力される
数値のレンジが変わるようです。感度として
働くようです。

とりあえず動かしてみただけなので今ひとつ仕組みが
解ってませんが、なんとなく機械的なスイッチを
つけなくても入力が作れるということで便利
に使えそうです。

もう少し大きな抵抗が家にあったらなぁ…




コメント ( 0 )




arduinoのOfficial Librariesを眺めていたら、
servo用ライブラリが付け加わってました。
0012に合わせて新たに取り込まれたようですが、
気付きませんでした。

http://arduino.cc/en/Reference/Servo

servoモーター用のライブラリといえば、
Contributed Librariesに既に2つあったのですが、
そのどちらとも全く一緒というわけではないようです。

ライブラリ名はServoということで、旧ライブラリの
http://www.arduino.cc/playground/ComponentLib/Servo
と一緒なんですが、中身は違っていて、Servo::refresh();
を使う必要がないみたい。

機能的にはタイマー1を使ったServotimer1↓
http://www.arduino.cc/playground/ComponentLib/Servotimer1
と機能面でソックリですが、名前は違っています。

機能が追加になっていくのは便利なんですが、
同じ名前で古いライブラリの仕様と大きく異なる
モノができていくのはちょっと厄介だなぁ。
特にServoライブラリは新旧で全く同じ名前だから、
混同してしまいそう。

基本的にはOfficial Librariesがその名の通りOfficial
なのでしょうが、Contributed LibrariesのServoは
2個を超えるサーボモーターを同時に接続できるなど
機能面で上回っている部分もあるので、こういうときは
せめて別の名前で作るか、もしくは割り当てるピンによって
扱いを変えると嬉しいんだけどな。
(9番10番ではrefresh()メソッドが不要で、それ以外
 のピンではrefresh()メソッドが必要になるとか)

Official LibrariesのServoライブラリは最大で2個までしか
サーボモーターを制御できないので、それ以上の
モーターを繋ごうとした時に絶対困ってしまうはず。



コメント ( 0 )




arduinoの公式サイトを覗いたら、こんなライブラリが。
http://www.arduino.cc/playground/Main/CapSense

うーん。いつの間に…。前からありましたっけ?

まだ詳しく読んでないけど、以前Chanさんのサイトで見た
http://elm-chan.org/works/capsens/report_j.html
これと基本的には一緒かなぁ?

タッチセンサなので、いわゆる人体をコンデンサの一種
と仮定して、センサに触っていないときはコンデンサへの
チャージ時間が短く、触っているときは時間が長く
なるというのを利用したセンサですね。

サンプルスケッチも載っているので、あとで試してみよう。




コメント ( 0 )