趣味TECHオンライン | 趣味のモノづくりを応援するオンラインメディア

趣味のモノづくりを応援するオンラインメディア

WiFiミニラジコンカー M5StickCar


f:id:tokyo_ff:20190623232958j:plain

M5StickCを用いて製作したWiFiミニラジコンカー「M5StickCar」を紹介いたします。

  

<投稿者:HomeMadeGarbage

2児と夫婦の4人5脚。手作りを基調に生活しています。お父ちゃんは電子工作、お母ちゃんは音楽制作やweb周りを得意とする。子供たちは元気に成長することを得意とする。

twitter.com

homemadegarbage.com

welno.homemadegarbage.com

 

はじめに

 

はじめまして。HomeMadeGarbageのお父ちゃんと申します。早速ですが購入したのですよ、M5StickCを。M5StickCは大人気のM5Stackの小型版です。

 

M5Stackは持っていなかったのですが、M5StickCのカワイイ色やサイズ、そして何と言っても2千円以下の家計に優しい価格にやられて速攻購入した次第です。ここではM5StickCを用いて製作したWiFiミニラジコンカー「M5StickCar」を紹介いたします。

www.switch-science.com

「M5Stack」ではじめる電子工作 (I・O BOOKS)

「M5Stack」ではじめる電子工作 (I・O BOOKS)

 

 

M5StickCar構成

f:id:tokyo_ff:20190623233637p:plain

I2CモータドライバDRV8830を用いて2個のモータを動かします。BlynkというスマホアプリでWiFiを介して、M5StickCと通信してモータを制御し、ラジコン操作を実現します。

 

部品

M5StickC

www.switch-science.com

 

I2Cモータードライバ・モジュール DRV8830

strawberry-linux.com

 

振動モータ

電動歯ブラシの振動モータを利用しました。

アマテラス 音波振動歯ブラシK10 PK 1本

アマテラス 音波振動歯ブラシK10 PK 1本

 

 

M5StickCar組み立て

f:id:tokyo_ff:20190623235337p:plain

ユニバーサル基板を程度なサイズにカットして、M5StickCとつなぐコネクタとモータドライバと振動モータを搭載しました。

 

f:id:tokyo_ff:20190623235518j:plain

モータには電動歯ブラシ振動モータを使用しました。ちょうどブラシ取り換え接続部が折れて使えなくなっていたものを、何かに使えるかもと保管していたので試してみたところいい感じのパワーでした。現役の歯ブラシも分解してモータ2個調達しましたwww。

 

f:id:tokyo_ff:20190623235539j:plain

モータにはおもちゃのミニカーのタイヤを接着し、前輪にもミニカーのタイヤを使用しました。

 

M5StickC

設計環境にArduino IDEを使用いたしました。設定方法は以下の公式サイトを参照ください。

docs.m5stack.com

 

小型でカワイイですが、カラーLCDディスプレイ、マイク、赤外線LED、BLEやWiFi機能など盛りだくさんです。しっかりしたパッケージにコンパクトに収まっているので非常に扱いやすいです。詳細は以下の通りです。

github.com

 

Blynk

M5StickCはWiFiを介してスマホアプリBlynkでコントロールします。アプリをダウンロードしてアカウント登録するだけで、WiFIやBLEを介して各種マイコンをボタンなどの様々なウィジットを用いて簡単に通信や制御出来てしまします。今回のBlynkアプリのバージョンは2.27.6です。

blynk.io

 

f:id:tokyo_ff:20190623235732j:plain

新規プロジェクトを作成します。HARDWRE MODELはESP32 Dev Boardを選択。CONNECTION TYPEはWiFiを選択。AUTH TOKENはArduinoコード生成時に使用します(アカウント登録したメールに送信されます)。

 

f:id:tokyo_ff:20190623235748j:plain

ジョイスティックウィジットを配置します。

 

f:id:tokyo_ff:20190623235808j:plain

ジョイスティックの設定はx軸とy軸の出力をMERGEしてヴァーチャルピンV0に出力させ、それぞれ値は-20~20としました。

 

I2Cモータードライバ・モジュール DRV8830

モータドライバDRV88320はI2C入力によって、モータ供給電圧(スピード)と供給電圧方向(回転方向)を制御します。左右のモータを制御するため2個のモジュールを使用しました。詳細は以下の通りです。

https://strawberry-linux.com/pub/drv8830-manual.pdf

 

モジュールの2つジャンパ設定でI2Cのアドレスを変更出来て、今回は左モータ用モジュールのジャンパを両方GND (アドレス:0x60)、右モータ用モジュールのジャンパを両方Open (アドレス:0x64)としました。Blynkのジョイスティックの値0~20の数値を受けて左右のモータは0~1.6Vの電圧供給を受けます。

 

Arduino IDEプログラム

以下のBlynkのArduino用ライブラリを使用してプログラムしました。

バージョンは0.6.1。

github.com

 

ライブラリのコード例のESP32_WiFi.ino を参考にプログラムしました。

github.com

 

gist4514c0ad7bb39db7f3e688e3913b7b99

 

モータドライバへのI2C書き込み関数は以下の記事を参考にさせていただきました。

makers-with-myson.blog.so-net.ne.jp

 

動作

かっこよくビュンビュン走ります!色もカッコいい!!

 

おわりに

現状ですと前輪に2輪のタイヤを使用しているため、左右に曲がりにくい構造になってしまっています。せっかくジョイスティックの角度で左右のモータのスピードをうまいこと制御しているので、正直前輪には以下のようなボールキャスターを使いたいところです。

タミヤ 楽しい工作シリーズ No.144 ボールキャスター 2セット入 (70144)

タミヤ 楽しい工作シリーズ No.144 ボールキャスター 2セット入 (70144)

 

 

しかし、小型のボールキャスターが見当たらず今後の課題となっている次第です。トホホ・・・。M5StickCは小型で高機能で扱いやすくESP32のコード資源も活用できるので工作活動において様々な場面で大きな効果を発揮してくれそうです。すでに作りたいものがいくつかアイディアとしてあふれております。

 

それではまたいつかお会いしましょう。つーか是非HomeMadeGarbageのサイトにも遊びに来てください!何卒。

 

<投稿者:HomeMadeGarbage

2児と夫婦の4人5脚。手作りを基調に生活しています。お父ちゃんは電子工作、お母ちゃんは音楽制作やweb周りを得意とする。子供たちは元気に成長することを得意とする。

twitter.com

homemadegarbage.com