9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ワークショップ「スマホで自由自在に操作できるIoTミニ四駆を作ろう!」に参加できなかったので、自分で作ってみた(前編)

Last updated at Posted at 2015-12-26

前回、Arduinoに接続したUSBケーブルを介して、有線でミニ四駆を操作しました。
今回は、ArduinoとUSBケーブルをESP8266に置き換えて無線(Wifi)で操作できるようにします。Blynkを使って、スマホで操作できるようにします。

部品調達

前回、購入したESP8266を使用します。

また、ESP8266を使うにあたり下記を使用しています。

USBシリアル変換アダプター

USBシリアル変換アダプター (FTDI FT232RL) Arduino mini等接続用 420円

## 3.3Vレギュレータ

低損失三端子レギュレーター 3.3V500mA TA48M033F(S Q) 100円

配線

  • ESP8266とサーボとモータを接続。
  • ESP8266の電源は、FTDI FT232RLから3.3Vレギュレータを介して共有。
  • サーボの電源は、Arduino UNOの5Vを共有。
  • モータは乾電池から共有。

miniyonku.png

公開いただいている回路図をみると、コンデンサを使って電源周りをまとめています。手元にコンデンサがないので、今回はとりあえず、これでいくことにします。

Blynk

DMM.makeのワークショップでは、javascriptでスマホの操作パネルを作っていましたが、自分で作る自信がなかったのでどうしようかなと思っていると、ちょうどいいアプリを見つけました。

操作するモジュールとして、ボタンやスライダー等があります。

IMG_5549.png IMG_5551.png

今回は、ジョイスティックを使います。

IMG_5555.png IMG_5556.png

ESP8266スケッチ

Blinkをメインに使用するようにしましたが、前後の動作が不自然。一度、前後進したら5秒程進み続ける。
Blynk側では、入力された値(Param)を確認するだけで、モータの動作はloop内でやった方が、こまかく動作ができるのかも。。。

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>
Servo myservo;
char auth[] = ""; # Blynkアプリで生成されるAUTH TOKENを入力

void setup()
{
  Serial.begin(9600);
  Serial.println("start!");
  Blynk.begin(auth, "<SSID>", "<PW>");
  myservo.attach(16);  # IO16に接続

  pinMode(12, OUTPUT);  # IO12に接続
  pinMode(13, OUTPUT);  # IO13に接続
}

BLYNK_WRITE(V0)
{
  myservo.write((180 * (255 - param.asInt())) / 255);
  
  Serial.print("X:");
  Serial.println(param.asInt());
  Serial.println((180 * param.asInt()) / 255);
}

BLYNK_WRITE(V1)
{
  if (param.asInt() > 135){  
    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
  }
  else if (param.asInt() < 70){
    digitalWrite(12, LOW);
    digitalWrite(13, HIGH);
  }
  else if (param.asInt() == 126) {
    digitalWrite(12, HIGH);
    digitalWrite(13, HIGH);
  }
  
  Serial.print("Y:");
  Serial.println(param.asInt());
}

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

動作

ミニ四駆+ESP8266

まとめ

  • 前篇、後編と分かれましたが、DMM.makeのワークショップの内容を、公開されている情報を参考に自作してみました。
  • 回路は手元にある部品を元に作成しましたが、前後の動きに不自然な部分が残りました。公開された回路図を参考に、回路図の勉強をしたいと思います。電源の安定共有が課題です。
  • 操作パネルはBlynkを使いましたが、自分でJavaScriptで作るよりははるかに簡単に、短時間で動くものをつくる事ができました。
9
9
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
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?