今日はジャイロセンサ(=加速度センサ)に挑戦します。 「GY-521」という機種を使います。
ジャイロセンサの基本は6軸であり、移動3軸(x, y, z) + 3軸に対するそれぞれの回転加速度が取得できます。(3軸+3軸=6軸)
最近のスマホとかには基本搭載されていますが、「何か作りたい」と思ったときスマホを装着するわけにもいかないので、ジャイロセンサを自由に使えるようにしていきたいです。
ちなみに、56項目のうち、23, 30, 39, 40, 41番目などに幅広く応用が効く使えるアイテムなので、結構使えるようにするモチベは高いです。
ジャイロセンサ
Amazonで昔買って、なんだかよくわからないまま家の中に眠ってました。
袋から取り出したときの状態はこんな感じです。 大きさは、約2cm x 1.5cm と小さめで、色々なものに付けてもかさばらない感じです。
とりあえず、このままの状態では通電しないので、はんだ付けをしていきます。 8つの穴があり、小さめなので失敗する可能性高いなと覚悟していたのですが、あっさり終わりました。
ただ、若干失敗したと感じたポイントがあるので書いておきます。
ちょっと分かりにくそうなので、文章で補足します。
失敗したポイントは、ピンとセンサに角度がついてしまったという点です。 なにが問題かというと、加速度のベクトルが別の軸にズレるという点です…かなり致命的ではある。 とくに、重力加速度に関して、常に影響を受けてしまうので非常に問題。
初めてだったので、普通にはんだ付けすれば90度ピッタシになってくれると思ったのですが、意図的に固定しないとダメだったみたいですねこれは。
回路を組む
とは言え、誤差が出る程度でぶっ壊れたわけではないので運がいいと思います。
こんな感じで接続しました。 あんまり日本語の記事がなくて困惑したのですが、型番「GY-521」で調べたらYouTubeでめちゃめちゃわかりやすく英語で解説してくれている方がいたので、そのまんま同じことをやったらできました。
ジャイロのしくみ〜配線〜ソースコードまで解説してくれているので、ほとんどこの動画でいいと思います…
まとめのまとめ
- 使うのは基本的に上の4ピンのみ
- VCC: 電源
- GND: 接地
- SCL / SDA: ジャイロのデータ送信に使う
- SCL: Serial Clock Line
- SDA: Serial DataLine
- 基盤に A18-19ピンがない場合、SCL → A5ピン、SDA → A4ピン で代用できる(この情報がなかったら絶望してた)
- SCL/SDA はI2C通信の一種
とか、他にも色々勉強になることを話してくれているので、使う場合はこの動画を観るのをオススメします。
重力加速度のセンシング
あんまり色々なものと組み合わせる元気がなかったので、超絶単純化して、重力の加速度だけを表示する感じにしました。 元ソースコードが整数型だったので整数型のままだったり、かなりいい加減です。
@tos pic.twitter.com/HNmXD1Yn4x
— ピジョン (@hyper_pigeon) 2020年8月28日
ひっくり返すと、(センサに対して)重力の方向が反転するので負になるのがわかりますね。 ちゃんと機能しているのが確認できただけでもよかったです。
おわりに
このセンサ、実は¥200しないんですよ。いっぱい使ってなんか作りたい。