Month: 7月 2014

ジャイロセンサーで回転の加速度を取得する

プログラムの最初はハローワールド、電子工作の最初は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戻したら全く同じ位置になるかというとそう正確にはいかないようで、必ず数値のズレが出てくる。これを「ドリフト」というらしい(響きがかっこいい・・・)。
なのでどこかで数値をリセットしないとズレがどんどん激しくなっていくのは注意しないといけませんね。

Arduinoことはじめ。

非常に久しぶりにブログを更新。今まではUnity関連だったけど、今後はArduinoとOculusも更新していく予定です。

さて、Arduinoですが、詳しい話は他サイトでたくさん出てくるので割愛するとしまして、要するにLEDをチカチカさせることから自作のロボットを作ることまでできてしまうシステムで、これを使えばかなり簡単に(といっても相応の知識が必要ですが)色んなデバイスを自作できるようになります。これに最近流行の3Dプリントがあれば、個人でも音が鳴ったり光ったりするオモチャのサンプルができてしまいます。いい時代になったもんですねぇ。

始めるにあたって以下のモノを購入しました。

【Arduino Uno R3】
Arduino UNO R3
オープンソース・ハードウェアなので、様々なディベロッパーが大本の設計図を元にボードを売っているわけですが、まずは最初なので本家イタリア製を購入。厚み・塗装などの作りがしっかししている美しいボードです。
実際にはセットでお得なエントリーキットを購入しました。

【本:たのしい電子工作 Arduinoで電子工作をはじめよう!】
電子回路のことは小学生以来なので基礎から勉強したくて購入したのですが、そういう要望に応えてくれる本ではなかったです・・・。でも今後のこともあり持っておいて損はないと思います。

【はんだ】
Arduinoとブレッドボードがあれば、はんだなしでも遊べるのですが、せっかくなので。コツを覚えれば楽しくできます。熱くなってると熱気が?目がしみる。

そんな感じで電子回路は小学生以来な自分ですが、楽しく勉強していきます。

© 2017 UXIC.net

Theme by Anders NorenUp ↑