====== ArduinoとBLEと姿勢情報(Roll, Pitch, Yaw)を送信 ====== このページでは何かと使うRoll Pitch YawをArduino上で計算し,それをBLEを通じてPCや スマートフォンへ送信するまでの流れを解説します. ===== 使う部材 ===== まずベースとなるArduinoですが,前提として * せっかく無線なのでバッテリ動作で充電もできる. * PC, スマートフォンへ無線送信するためにBLEをつんでる ということにします.いろんなやり方ありますが,このページでは Arduinoボードとして, Adafruit社のAdafruit Feather 32u4 Bluefruit LEを利用します. * Adafruit Feather 32u4 Bluefruit LE: https://www.switch-science.com/catalog/2723/ このボードは最初からBLEと充電回路を積んでいます.ただし加速度や角速度センサは積んでいません. そこでモーションセンサとして,この基板とLSM6DS3搭載 IMU を接続する形にします. * LSM6DS3搭載 IMU Breakout(6DOF):https://www.switch-science.com/catalog/2406/ 上記センサはマイコンとI2C接続を行いデータ通信を行うことができます.arduino用ライブラリも提供されており お手軽です.実際のチップ単体の価格もそこそこ安い. ===== Feather開発の準備 ===== AdafruitのFeatherはArduinoソフトウェアから書き込みできますが,事前にライブラリをインストールしておく必要があります. 手順です. - Arduinoソフトウェアのインストール(最新版でOK) - ArduinoにFeather 32u4のボードライブラリを追加インストール まずArduinoは https://www.arduino.cc からダウンロードできます.次にFeather 32u4のボードライブラリの追加手順は,[[https://www.adafruit.com/product/2829|adafruitのプロダクト 紹介サイト]]に記載されています.ちょっとリンクが見つけづらいのでここに貼っておきます.下記ページがArduinoにFeather 32u4の ライブラリをつかする手順になります.なお,下記ページは最初にFeather 32u4のボードライブラリをインストールしたのち,BLE用のライブラリ も別途インストールしますので,Arduino IDE Setup -> Using Arduino IDE -> Installing BLE Library の順番にページを必ず読んで ください.そこまでやるとBLEのサンプルプログラムまで動作を確認できるようになります. * https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/setup ===== LSM6DS3開発の準備 ===== Arduino Libraryがありますので,そちらをインストールすればOKです.下記リンクのDocumentationを参照してください.なおこのページでは,LSM6DS3とFeatherの接続はI2Cとします. * https://github.com/sparkfun/SparkFun_LSM6DS3_Arduino_Library * ArduinoとLSM6DS3のI2C接続についてはこちらを参照:https://learn.sparkfun.com/tutorials/lsm6ds3-breakout-hookup-guide なお,LSM6DS3のArduino LibraryはArduinoのライブラリマネージャーの検索からでてこないので,手動でインストールする必要があります. - インストール手順 - ホームディレクトリ/書類(My Document)/Arduino/libraries/ の中にGithubでダウンロードしたフォルダを「SparkFun_LSM6DS3_Breakout」として保存する - Arduinoを再起動 - ExampleにLSM6DS3をチェック ===== iOSアプリ開発 ===== 下記リンクを参照してください. * https://learn.adafruit.com/crack-the-code