HomeMadeGarbage Loading

スマホを傾けてコントロール! Blynk で BLE 制御ラジコン

お父ちゃん  2017.1.29 
ホーム
電子工作
Raspberry Pi
IOT
音楽
Home > 電子工作 > スマホを傾けてコントロール! Blynk で BLE 制御ラジコン
すき 0
うんこ 0

以前BlynkBLE通信でコントロールするラジコンを作りました。

Blynk で BLE 制御ラジコン!

Blynkにアップデート(v0.4.4)がありBLE通信がβ版ではなく正式に導入され、さらにはスマートフォンの加速度センサ情報が取得できるようになってましたのでスマホを傾けてコントロールするラジコンに改造してみました。

ハードは全くいじっておりません(^o^)。

 

 

Blynk Arduino用ライブラリ

最新ライブラリは以下にあります。
 https://github.com/blynkkk/blynk-library

マイコンはAdafruit Feather 32u4 Bluefruit LEを使うので
[スケッチの例] -> [Blynk] -> [Boards_Bluetooth]-> [Adafruit_Feather_32u4_BLE]を参考にコード生成しました。 

Blynk設定

新規プロジェクトを作成します。HARDWRE MODELはAdafruit製品がまだないのでとりあえずArduino UNOを選択。
CONNECTION TYPEはBLEを選択。
AUTH TOKENはArduinoコード生成時に使用しますので控えときます(もしくはメール送信します)。

ウィジェットとしてBLEとAccelerometer(加速度センサ)を配置します。

AccelerometerウィジットはBlynkアプリを入れたスマホの加速度センサの値を検出し、ここではヴァーチャルピンV0に出力するようにしました。

Arduino IDE

[スケッチの例] -> [Blynk] -> [Boards_Bluetooth]-> [Adafruit_Feather_32u4_BLE]を参考にコード生成しました。

スマホの画面水平方向の(重力)加速度値[x, y]でラジコンを操作します。

Blynk BLE接続

Screenshot_2016-08-25-12-42-56

BlynkプロジェクトのBLEウェジットをクリックして設定します。

Screenshot_2016-08-28-09-24-17

“Connect BLE device”をクリックして “Adafruit Bluefruit LE”が表示されたらOKをクリックして接続する。

Screenshot_2016-08-28-09-24-21

 

動作

 

#blynk #ble

Home Made Garbageさん(@homemadegarbage)が投稿した動画 –

 

#ble #blynk

Home Made Garbageさん(@homemadegarbage)が投稿した動画 –

 

#ble #blynk

Home Made Garbageさん(@homemadegarbage)が投稿した動画 –

Blynkのおかげでスマホとデバイスの連携がめちゃくちゃ簡単にできるので色々なことが直感的にサクサクできそうです♪

「スマホを傾けてコントロール! Blynk で BLE 制御ラジコン」への4件のフィードバック

  1. いつも参考にさせていただいています。下記の事項ご教授ください。
    使用機器 raspi 原語c++です。
     int x = param[0].asFloat();
    int y = param[1].asFloat();
     floatで取り出しながらintで代入している点
     x = map(x, -10, 10, 255, -255);
     y = map(y, -10, 10, 255, -255);
     c++のmapの使い方とは違いエラーとなる。ここでは何をしているのでしょうか。
    以上よろしくお願いいたします。

  2. コメントいただきありがとうございます!
    Arduinoのmap関数は以下の通りです。
     http://www.musashinodenpa.com/arduino/ref/index.php?f=0&pos=2743
    つまり
    x = map(x, -10, 10, 255, -255); は
    変数xの変化幅-10 ~ 10を255 ~ -255に拡張しています。

    c++では使用できない関数ですので以下のように式で変換するのが良いかと思います。
    x = x * (255 – (-255))/(-10 – 10);

    ご確認よろしくお願い致します。

  3. 返事遅れて申し訳ありません。事情により病院生活を送っていました。もうすぐ退院できそうです。貴兄の記事をいつもたのしみにしています、またご教授ください。
    有り難うございました。

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください