Arduino
IoT
ミニ四駆

ワークショップ「スマホで自由自在に操作できる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


最後に