jQueryを使ってiOS/Androidの加速度センサを取得する実験をしました。

 

今回の作業について

三軸加速度センサを使った回路を作成しようと思っているのですが、私自身、三軸加速度センサがどういうものであるかイマイチ理解していません。

こんな状態で回路を実装しても混乱するだけだと思うので、まずは身近なiOS/Androidで加速度センサの実験をしてみることにしました。

 

iOS/Androidで三軸加速度センサの実験

以下にjQueryを使って、iOS/Androidの三軸加速度センサの値を表示する方法を説明します。 尚、jQueryを使っている意味はほとんど無いです。jQueryは$(function(){});の呼び出しくらいで、それ以外はほとんど唯のJavaScriptです。

jQueryを使う準備

jQueryを使うためには、HTMLのHEAD部分に以下の記述をし、jQueryを読み込むようにしておきます。 jQueryのバージョンは以下に記述しているものでなくてもよいです。お好きなものをどうぞ。

 

加速度センサのリスナの追加

続いて、加速度センサの値が変化したときにコールバックしてもらうようにリスナを登録します。 ここではsample関数を呼んでもらうようにしています。但しsample関数はまだ実装していません。次で実装します。

尚、 $(function(){}); の意味は、このコードが読み込まれた後に {}内の処理がすぐに実行されるというだけです。(実はjQueryっぽいところはここしかありません。。)

 

加速度センサの値を取得する

sample関数を実装します。sample関数は加速度センサの値を取得し、id=sensor_valueに対してx,y,zの値を書き出すようにしています

 

加速度センサの値を表示する

最後に以下のタグをどこかに追記します。ここに加速度センサの値が表示されます。

 

実際にやってみた

実際にやってみたのが以下です。iOS, Androidでこのページを表示すると、X, Y, Zの値がパラパラ表示されるはずです。

次回、これを使ってもう少し色々実験してみたいと思います。

次回を読む

コメント

kaeru.

本記事は7年前のものですが、近年のiOS/Androidではユーザーの許可を得る実装などを追加しないとセンサー値を取得できないようです。
そのため記事上ではセンサー値が表示されていません。

ユーザーの許可を得る実装については時間があれば書きたいと思いますが、ググればたくさんサンプルがあるのでそちらを参照いただいた方がいいかもしれません。

本記事執筆当時は、記事上にセンサー値がパラパラとリアルタイム表示されていたので、閲覧されている方にとっては気持ち悪かったかもしれません。

コメントを投稿する

コメントを投稿する場合は以下に注意してください。

・記事に関係する内容であること
・特別な理由がない限り「全体公開」であること

これさえ守っていただければどんな内容でも投稿可能です。
皆様の質問やコメントは他の方の問題解決に繋がりますのでご協力ください。

コメント投稿フォーム
名前
メール
URL
コメント
閲覧制限

コメントを投稿するには、以下の問題に答えてください。
問題:「このサイト名をカタカナ六文字にして入力してください」