You are here

ESP8266: BlynkでRCサーボ

ESP8266-LEAF-R5でRCサーボを操作します。

ESP8266-LEAF-R5には、5Vの電源とレベルを5Vに変換した信号を出力する端子が装備されており、RCサーボやWS2812カラーLEDを直接接続することができます。

ESP8266-LEAF-R5に装備されているRCサーボの接続端子CN4のピン配置は以下のようになっています。


  1. GND
  2. 5V
  3. D2(GPIO02)の5V出力

一般的なRCサーボのコネクタがそのままさせるようになっていますが、念のため、利用されるRCサーボのコネクタの構成を確認したうえでESP8266-LEAF-R5に接続してください。

RCサーボを接続したESP8266-LEAF-R5

ここでは、下記の「はじめてのBlynk」で作成したシステムをベースに(流用して :-))、Blynkを使用してRCサーボを操作する例を示します。
http://www.microfan.jp/iot/blynk/esp8266/startup

スケッチには、以下のような変更を行っています。


  • サーボライブラリのインクルード
  • servoインスタンス(変数)の追加
  • servoインスタンスへの出力ピンの割り当て
  • アプリから角度の変更データが届いた際の処理BLYNK_WRITE(V0)の追加

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>

// BlynkのAuth Tokenを設定
char auth[] = "YOURAPPAUTHTOKEN" ;

char ssid[] = "YOURSSID" ;
char pass[] = "YOURPASSWORD" ;

Servo servo;

// V0の範囲は-90~90
BLYNK_WRITE(V0)
{
  servo.write(param.asInt() + 90) ; // write() の引数の範囲は0-180
}

void setup()
{
  // Debug console
  Serial.begin(115200) ;

  Blynk.begin(auth, ssid, pass) ;
  Blynk.syncAll() ; // サーバーに記録されているピンの状態を復元
  servo.attach(2) ; // RCサーボ用のピンを割り当て
}

void loop()
{
  Blynk.run() ;
}

スマートフォンのBlynkアプリも、「はじめてのBlynk」で作成したシステムをベースに、RCサーボを制御するためのSliderを追加して作成しました。

http://www.microfan.jp/iot/blynk/esp8266/startup

スライダーを左右にずらすと、RCサーボのホーンが回転します。

スマートフォンのBlynkアプリ

Sliderの設定は以下のようにしています。


  • PINはV0
  • V0の範囲は-90から90
  • SEND ON RELEASEはOFF

Sliderの設定


利用したパーツ



開発ソフト: 
チップファミリー: 
MCUチップ: