3Dプリンタ・キットを・・・(その2: ESP8266+Blynkで遠隔操作)
3Dプリンタを使って戦車もどきのシャーシーが組み立ったので、動作させてみることにしました。
色々とNet情報を調べてみると、ESP8266マイコンでWifiに接続し、スマホソフトのBlynkで外部からコントロールするというのが流行っているようです。
早速組み立ててみました(といっても部品購入やら調査やらで実際には構想してから1か月以上経過しています)

上に見えているのがESP8266 D1 mini という Wifi を抱えたマイコンです。
ESP8266 Arduino CoreとしてArduino IDE でプログラミング可能です。Arduino CoreはGitHub からリリースされている
真ん中にあるのがL9110というモータードライブICを2個搭載した基板で、FA130モーターを駆動させます。
電池は3.7Vのリチウムイオン電池を2個使い、1個はESP8266の5V電源端子に、もう1個はモータードライブ基板にそれぞれ単独に接続しています。

最初試した時にESP8266を基板に平らに付けたのだが、Wifi電波受信が悪いようなのでアンテナが縦になるように直角に搭載しました。大分違うようです。

配線を横から見たところです。
電源スイッチは基板の底に付いてます。USB端子もそこから差し込めるように配置しました。
Arduino IDE を使って ESP8266 に書き込むスケッチは以下の内容で、非常にシンプルです。
auth[] 欄にはProject を Blynk に登録すると メールアドレスに送って来るキーを入力します。
ssid[] は Wifi ルーター等のssid を、pass[] にはそのパスワードを入力します。
ESP8266を搭載した WEMOD D1 のスペックです(Upload Speed は 115200 で動作します)
Android スマホでコントロールするBlynk は、Playストアからダウンロードし、ユーザー登録すれば(メルアド、パスワード)使えます。詳細はこちらやこちらで詳しく解説されていますので参考にしてください。
私の場合、4個のボタンで進む方向をコントロールさせるのですが、右上で右前旋回、左上で左前旋回、後ろは同様です。2つのボタンを同時に押せば、前進・後退、右進地旋回・左進地旋回ができます。
画面にボタンを4個置きます。
各々のボタンは、それをクリックして下図の画面で設定します。
押したときだけ動作させるので、PUSH設定です。
GPIOの機能とピン番号を各々のボタンに割り付けます。
ESP8266 Wemos D1 のピン名称とピン番号の対応は以下のようです。
ピン名称(印刷表示) → GPIOピン番号
TX GPIO1
RX GPIO3
D0 GPIO16
D1 GPIO5
D2 GPIO4
D3 GPIO0
D4 GPIO2
D5 GPIO14
D6 GPIO12
D7 GPIO13
D8 GPIO15
今回はGPIO0、2、3,4を使っています。
走行風景

片手操作のため旋回しか表示されていませんが、前進・後進・進地旋回が問題無く操作できます。
裸のシャシーでは感じが出ないですね。カバー等も作ってみましょう
(その3に続く予定)
色々とNet情報を調べてみると、ESP8266マイコンでWifiに接続し、スマホソフトのBlynkで外部からコントロールするというのが流行っているようです。
早速組み立ててみました(といっても部品購入やら調査やらで実際には構想してから1か月以上経過しています)

上に見えているのがESP8266 D1 mini という Wifi を抱えたマイコンです。
ESP8266 Arduino CoreとしてArduino IDE でプログラミング可能です。Arduino CoreはGitHub からリリースされている
真ん中にあるのがL9110というモータードライブICを2個搭載した基板で、FA130モーターを駆動させます。
電池は3.7Vのリチウムイオン電池を2個使い、1個はESP8266の5V電源端子に、もう1個はモータードライブ基板にそれぞれ単独に接続しています。

最初試した時にESP8266を基板に平らに付けたのだが、Wifi電波受信が悪いようなのでアンテナが縦になるように直角に搭載しました。大分違うようです。

配線を横から見たところです。

電源スイッチは基板の底に付いてます。USB端子もそこから差し込めるように配置しました。
Arduino IDE を使って ESP8266 に書き込むスケッチは以下の内容で、非常にシンプルです。

auth[] 欄にはProject を Blynk に登録すると メールアドレスに送って来るキーを入力します。
ssid[] は Wifi ルーター等のssid を、pass[] にはそのパスワードを入力します。

ESP8266を搭載した WEMOD D1 のスペックです(Upload Speed は 115200 で動作します)
Android スマホでコントロールするBlynk は、Playストアからダウンロードし、ユーザー登録すれば(メルアド、パスワード)使えます。詳細はこちらやこちらで詳しく解説されていますので参考にしてください。

私の場合、4個のボタンで進む方向をコントロールさせるのですが、右上で右前旋回、左上で左前旋回、後ろは同様です。2つのボタンを同時に押せば、前進・後退、右進地旋回・左進地旋回ができます。

画面にボタンを4個置きます。

各々のボタンは、それをクリックして下図の画面で設定します。

押したときだけ動作させるので、PUSH設定です。

GPIOの機能とピン番号を各々のボタンに割り付けます。
ESP8266 Wemos D1 のピン名称とピン番号の対応は以下のようです。
ピン名称(印刷表示) → GPIOピン番号
TX GPIO1
RX GPIO3
D0 GPIO16
D1 GPIO5
D2 GPIO4
D3 GPIO0
D4 GPIO2
D5 GPIO14
D6 GPIO12
D7 GPIO13
D8 GPIO15
今回はGPIO0、2、3,4を使っています。
走行風景

片手操作のため旋回しか表示されていませんが、前進・後進・進地旋回が問題無く操作できます。
裸のシャシーでは感じが出ないですね。カバー等も作ってみましょう
(その3に続く予定)