上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
前回使った秋月電子の2次元加速度センサについてちょっと面白いので記事にします。
DSCF5144.jpg
サイズは5x5mmで結構小さいです。上の写真の丸のところで使っています。面実装品を無理に使っているのでごちゃごちゃしていますが、場所は食っていません。

これの何か面白いかと言うと、最近の加速度センサは結構I2CやSPI等のデジタルI/Fですが、これはアナログ的に、出力パルス幅でXY加速度を出してくるところです。
オシロ波形を取ってみました。

「スポンサードリンク」

style="display:block"
data-ad-client="ca-pub-0620260288102702"
data-ad-slot="9773401572"
data-ad-format="auto">


DSCF5142.jpg
これが水平に置いたところ。
DSCF5140.jpg
そして傾けたところです。幅が短くなっているのが分かりますね。

こういうものなので、ソフトが実に簡単になります。その部分の関数をコピペしてみます。
//**********************************
//*** Gx Get ***************
//**********************************
int GetGx(void) {
int t,i =0;
int tsum =0;

for (i=0;i<10;i++) {
t =0;
while ((t<0x7000)&&(PORTBbits.RB9 == 0)) {t++;} // Wait for Pulse start
t = 0;
while ((t<0x7000)&&(PORTBbits.RB9 != 0)) {t++;} // count pulse width
tsum += t;
}
return (tsum/10);
}


たったこれだけです。パルスが立ち上がるのを待って、次に立ち下がるまでをカウントしています。
これは10回サンプルして平均を出しています。周期約180usですので10回で1.8msです。
今回のような用途には十分短い時間で計測できています。
最初に値をLED位置に反映させるようにして動きを見たところ、平均を取る前は結構安定しませんでしたが、10回平均で安定するようになりましたのでこうしています。安定していなかったのは、センサのせいではなく手にもって試していましたので、実際に微妙には動いていたためだと思います。
 
電源範囲も3~6Vと広くて、値段も300円と加速度センサの中では一番お安くなっています。
 
欠点として精度は30%とあまり高くないです。計測範囲が±1.25Gなので、今回動かしてみたらちょっと振るとすぐ飽和します。早い方の動きには使えないですね。
 
しかし、ちょっとした動き検出や傾き検出にはお手軽に使えます。今回LED制御タイミング作りに使いましたが、これはこれで色々使いでがありそうなチップですので、何かまた応用を考えたいと思います。


にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村
2014.10.13 Mon l 未分類 l コメント (0) l top

コメント

コメントの投稿












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。