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


以下のワークショップに参加したかったのですが、気づいた時にはすでに募集終了していたので、自力で挑戦してみることにしました。
[CerevoとDMM.make AKIBA、ワークショップ「スマホで自由自在に操作できるIoTミニ四駆を作ろう！」開催](https://info-blog.cerevo.com/2015/10/14/1445/)

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

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

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


## ミニ四駆本体
[ワイルドミニ四駆シリーズ](http://www.tamiya.com/japan/products/list/32wildmini/kit17001.htm) 1080円

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

## サーボモータ
[SG90](http://akizukidenshi.com/catalog/g/gM-08761/) 400円

## モータドライバ
[TA7267BP](http://akizukidenshi.com/catalog/g/gI-02017/) 2個 300円
今回は1個使用します。元々、ミニ四駆についていたモータ制御用です。

## ブレッドボード
[ミニブレッドボード](http://akizukidenshi.com/catalog/g/gP-05155/) 130円

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

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

[タミヤ 94385 [ミニ四駆AOパーツ AO-1007 2mmロングビス・ロックナットセット]](http://www.yodobashi.com/%E3%82%BF%E3%83%9F%E3%83%A4-94385-%E3%83%9F%E3%83%8B%E5%9B%9B%E9%A7%86AO%E3%83%91%E3%83%BC%E3%83%84-AO-1007-2mm%E3%83%AD%E3%83%B3%E3%82%B0%E3%83%93%E3%82%B9%E3%83%BB%E3%83%AD%E3%83%83%E3%82%AF%E3%83%8A%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%83%88/pd/100000001001642187/) 170円
[タミヤ 94809 [ミニ四駆AOパーツ AO-1024 2×38ミリ 両ネジシャフト(4本)]](http://www.yodobashi.com/%E3%82%BF%E3%83%9F%E3%83%A4-94809-%E3%83%9F%E3%83%8B%E5%9B%9B%E9%A7%86AO%E3%83%91%E3%83%BC%E3%83%84-AO-1024-2%C3%9738%E3%83%9F%E3%83%AA-%E4%B8%A1%E3%83%8D%E3%82%B8%E3%82%B7%E3%83%A3%E3%83%95%E3%83%88-4%E6%9C%AC/pd/100000001001642197/) 237円

## マイコン
### ESP8266
[CDP-ESP8266](http://cerevo.shop-pro.jp/?pid=91592223) 842円
ブレッドボードで使いやすいピッチ基盤付きを買うのがいいです。
が、今回、途中で動作しなくなったので、使うのを断念しました。

### Arduino互換機
[SainSmart UNO](http://www.amazon.co.jp/dp/B00BPISRWE) 2150円
当初、ESP8266を使用予定でしたが、途中でESP8266がうまく動作しなくなったので急遽、買い置きしていたSainSmart UNOを使用することにしました。


# 組み立て
1. 普通にミニ四駆を組み立てます
![mini_yonku.png](https://qiita-image-store.s3.amazonaws.com/0/4779/46ed2abc-6985-1897-1403-6e1932869d32.png "mini_yonku.png")

2. 組み立て後、シャーシの前部分をニッパーで切り取ります。
![kiritori.png](https://qiita-image-store.s3.amazonaws.com/0/4779/a4f35748-e7e1-5072-8514-139f6fcac52b.png "kiritori.png")

3. DMM.makeから届いたステアリングパーツをロングビス等で組み立てて、2のシャーシに取り付けます。サーボもとりつけます。
![stearing.png](https://qiita-image-store.s3.amazonaws.com/0/4779/7201bca5-3025-2e5f-9c0f-1e3d3d1f1b3e.png "stearing.png")

4. Arduino互換機、モータドライバ、乾電池等と接続します。乾電池はモータ用です。
![IMG_5532-2.png](https://qiita-image-store.s3.amazonaws.com/0/4779/85fc8601-ba4a-122d-c922-5bea86b1407b.png "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](http://img.youtube.com/vi/v_jw_sinpds/0.jpg)](http://www.youtube.com/watch?v=v_jw_sinpds)


# 最後に
* ここまでやって気づいたのですが、イベント参加された型で、結構詳しい組み立て方をブログで紹介されていました。。。
[ミニ四駆もIoTになっちゃう時代！ CPU内蔵Wi-Fiモジュール『ESP8266EX』を使ったイベントでつくってみました！](http://japanese.engadget.com/2015/11/26/iot-cpu-wi-fi-esp8266ex/)

* 今回、ESP8266と[Blynk](http://www.blynk.cc/)を使って、スマホよりかっこいいUIで無線操作したかったのですが、ESP8266不調のため断念しました。ぜひ、再挑戦して、後編として紹介したいと思います。