Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

以下のワークショップに参加したかったのですが、気づいた時にはすでに募集終了していたので、自力で挑戦してみることにしました。
CerevoとDMM.make AKIBA、ワークショップ「スマホで自由自在に操作できるIoTミニ四駆を作ろう!」開催

ESP8266だけでなく、3Dプリンタでステアリングのパーツを作成した場合、いったいどの程度の品質のものが、いくらぐらいで作成可能か?が今回の一番の興味ポイントでした。

関連記事がいくつかあり、3Dデータは公開されている事、組み立て方の説明はないものの、公開されている写真でなんとか組み立てられそうだったので、まずは部品調達から開始する事にしました。
スマホで自由自在に操作できる「IoTミニ四駆」の仕組みを解説(技適済みWi-Fiモジュール「ESP8266」で始めるIoT入門)
DMM.make AKIBAで、ミニ四駆を無線LAN経由でスマホから操作するワークショップに参加中(息子が)

部品調達

下記を購入しました。結局、7000-8000円近くかかったので、ラジコンみたいなのが欲しい場合は、最初からラジコン買った方がいいです。。。

ミニ四駆本体

ワイルドミニ四駆シリーズ 1080円

ステアリングパーツ

3Dデータを元に、DMM.makeでナイロン素材を注文 3785円
* 3Dプリンタデータを渡して出力してくれるサービスはいくつかありましたが、DMM.makeが一番安かったです。他は1万前後するところばかりでした。
* あと、近くにfab cafeみたいに3Dプリンタを時間単位で使える場所があれば、そちらを使うのもありでしょうが、今回は楽することにしました。
* 最初に3Dデータをupしてから見積もりを提示してくれます。注文依頼して、ものが届くまで5日程度でした。

サーボモータ

SG90 400円

モータドライバ

TA7267BP 2個 300円
今回は1個使用します。元々、ミニ四駆についていたモータ制御用です。

ブレッドボード

ミニブレッドボード 130円

乾電池と電池BOX

家にあったものを使用します。元々、ミニ四駆についていたモータの電源供給用です。

シャフト等

ステアリング部品の組み立ておよび、タイヤの取り付けに使用します。具体的な部品の型番は不明だったので、使えそうなものをいくつか試したところ、下記が使えました。

タミヤ 94385 [ミニ四駆AOパーツ AO-1007 2mmロングビス・ロックナットセット] 170円
タミヤ 94809 [ミニ四駆AOパーツ AO-1024 2×38ミリ 両ネジシャフト(4本)] 237円

マイコン

ESP8266

CDP-ESP8266 842円
ブレッドボードで使いやすいピッチ基盤付きを買うのがいいです。
が、今回、途中で動作しなくなったので、使うのを断念しました。

Arduino互換機

SainSmart UNO 2150円
当初、ESP8266を使用予定でしたが、途中でESP8266がうまく動作しなくなったので急遽、買い置きしていたSainSmart UNOを使用することにしました。

組み立て

  1. 普通にミニ四駆を組み立てます
    mini_yonku.png

  2. 組み立て後、シャーシの前部分をニッパーで切り取ります。
    kiritori.png

  3. DMM.makeから届いたステアリングパーツをロングビス等で組み立てて、2のシャーシに取り付けます。サーボもとりつけます。
    stearing.png

  4. Arduino互換機、モータドライバ、乾電池等と接続します。乾電池はモータ用です。
    IMG_5532-2.png

  5. Arduinoのスケッチを用意。
    当初、WifiモジュールのESP8266(CDP-ESP8266)を使って、無線で操作できるようにしたかったのですが、今まで使っていたESP8266が途中で反応しなくなり、急遽Arduinoで有線で操作することにしました。
    Arduino IDEのシリアルポートより、a,dで左右のステアリング操作、w,xで前後進、sで停止。

#include <Servo.h> 

Servo myservo; 
int pos = 70;  # 最初のposition調整

void setup() 
{ 
  myservo.attach(2); # 2PINにサーボを接続 

  Serial.begin(9600);
  Serial.println("start!");

  pinMode(12, OUTPUT); # モータドライバには12,13PINを接続
  pinMode(13, OUTPUT);
} 

void loop() 
{ 
   myservo.write(pos);
   Serial.println(pos);

    if(Serial.available()){
    char cmd = Serial.read();

    switch (cmd){  
      case 'a':
        pos = pos + 10;
        break; 
      case 'd':
        pos = pos - 10;
        break;
      case 'w':
        digitalWrite(12, HIGH);
        digitalWrite(13, LOW);
        break;
      case 'x':
        digitalWrite(12, LOW);
        digitalWrite(13, HIGH);
        break;
      case 's':
        digitalWrite(12, HIGH);
        digitalWrite(13, HIGH);
        break;
    }
  }
  delay(100);
} 

動作

  • とりあえず、ミニ四駆のシャーシに、Arduino互換機・ブレッドーボード・乾電池をのせて、動かしてみました。
  • 下記YouTube動画をクリックしてください。

ミニ四駆+Arduino

最後に

snumano
少年野球・草野球のスコアを家族や知人で共有できるサービス「BaseballScore」を運営しています。 https://baseballscore.herokuapp.com/
http://nushu123.blogspot.jp/
idcf
未来をささえる、Your Innovative Partner
http://www.idcf.jp/cloud/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away