プログラムの最初はハローワールド、電子工作の最初はLチカ(LEDをチカチカさせる)をさっさと済ませましてから急に進みますが、ジャイロセンサーの値を取得してみました。
購入したのは秋月電子の「小型圧電振動ジャイロモジュール」です。なんで2軸買ったんだろう・・・。3軸ないと3Dで使えないじゃんていう(ノД`) まぁ安いからいいんですけど。
さて、はんだでピンをくっつけて(すんごい久しぶりで緊張した)、説明書通りに配線を繋げてみたのが以下の写真。
プログラムもそうですけど、やったことがない最初は「こんなことできるのか?」ってすごい不安なんですけど、できてしまえば「余裕じゃん!」ってなりますね。電源電圧は2.7〜5.25VDCってあったから抵抗無しでもいいはず・・・。
スケッチの記述
Arduinoではスクリプトのことを「スケッチ」と呼びます。ジャイロの値を取得するだけなら以下のスケッチで確認できます。
アナログはA0とA1に繋ぎました。説明書によるとGNDは全部繋いどけってことなのでそうしときました。
void setup() { // シリアルモニターの初期化をする Serial.begin(9600) ; } void loop() { long x , y ; x = analogRead(A0) ; // 軸1を読込む y = analogRead(A1) ; // 軸2を読込む // 読み込んだ各軸をそのまま表示する Serial.print("X=") ; Serial.print(x) ; // 軸1 Serial.print(" Y=") ; Serial.println(y) ; // 軸2 delay(1000) ; }
やってみて気付いたんですけど、ジャイロって加速度センサーと同じで、動いたブレ幅を取得するんですね。
例えば何も動かしていない時の数値が「0」の場合、動かすと大きく数値が変化するんですが、静止するとまた0に戻る。3Dなら取得した値を常に足していく感じになる。ただし、100動いて100戻したら全く同じ位置になるかというとそう正確にはいかないようで、必ず数値のズレが出てくる。これを「ドリフト」というらしい(響きがかっこいい・・・)。
なのでどこかで数値をリセットしないとズレがどんどん激しくなっていくのは注意しないといけませんね。
コメントを残す