LoginSignup
6
6

More than 5 years have passed since last update.

Flashair+Arduinoでサーボを遠隔操作する

Posted at

最近のブラウザはなんか音声認識とかもできて色々すごいです。自作の電子工作もとりあえずブラウザにさえ繋げてしまえばUIの面では一気に道が広がります。というわけで、Arduinoをwifiに繋ごうと思ってスマートな方法を探していたらFlashairに行き当たりました。
Flashair-developersというサイトに開発者用の情報がまとまってます。
また、Arduinoによる使い方のチュートリアルがあります

今回はこれを使ってスマホのブラウザからArduinoを操作しようというわけです。

[必要な物]
Arduino Uno R3
SD Card shield V4.0
Flashair
サーボモーターTowerPro SG90

[構成]
 スマホ <----> Flashair <----> Arduino <----> サーボモーター


[FlashairとArduinoで通信する]
Flashairの端子は3つのGPIOとして使えるそうでそこがマニアックということで話題になることが多いのですがサーボの回転角の値を受け渡ししたいので3ピンでは足りません。
そこで今回は共有メモリ領域を使います。
共有メモリは、SDカードの拡張レジスタ領域の0x1000から512バイトに割り当てられていて、ArduinoからはiSDIOでread/writeでき、スマホからはFlashairのweb APIを叩くことでread/writeできます。

・iSDIOライブラリの準備
SDカードとArduinoはiSDIOというプロトコルを使えば通信できるそうです。iSDIOを使う方法はこのページで解説されてます。下の方にはiSDIOを使うためのArduinoのライブラリがあるので、それを使います。

[コード]
https://gist.github.com/kaitoh/06d5e50089d9d50cb780
- flashair_servo_ctrl.ino: Arduinoに書き込むコードです。
- index.html: Flashairに保存しておくファイルです。スマホからこのファイルにアクセスするとサーボを操作できます。

写真 2015-03-19 7 06 18.jpg
たぶんchromeのspeech API使えば音声制御にするのも簡単にできると思います。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6