M5 Stamp Pico Mateを使ってみました。 その2
スマホアプリを使い、M5 Stamp PicoでDCモータを動かす。
1)コントロール用スマホアプリについて
今回使ったandroid用無料アプリはBluetooth Serial ControllerでPlayストアにてダウンロードできます。
このシリーズには以前に紹介のお絵描きロボット(OSTR)に使ったWiFi TCP/UDP Controllerと使い方は同じで、
ボタンの配置や機能設定を自由にカスタマイズ出来るのが特徴です。

2)Bluetoothアプリを使ってDCモータを動かすテスト例
ここでは、M5 Stamp PicoにモータードライバーMX1508(一個200円)を介してDCギヤードモータFM90(一個250円)を
アンドロイドスマホのBluetoothアプリを使って動かします。

テスト回路の配線図

3)プログラミング
M5 Stamp Pico Mateには、出荷時にファームウェアUIFLOWがインストールされていて、UIFlowグラフィカルプログラミング
の他、Arduino、MicroPython、ESP32-IDFにてプログラミングが可能です。
ここでは、Arduino IDEを使ってDCモータを動かす簡単な例を記します。
モータを動かす他にPico本体に搭載のRGBカラーLEDの色が操作毎に変化するようにしています。
プログラムをコピーしてArduino IDEに張り付けます。マイコンボードへの書き込み設定は、ボードをESP32 Pico Kit又は
M5 Stack Atomを選びますが、Pico系は書き込み速度が速いとエラーが出る場合が有ります。
その場合はUpload Speedを下げて書き込みます。
#include "M5Atom.h"
//M5Stamp_Pico用が未だリリースされてないので同じPico系のM5Atomライブラリーを用いています。
#include "BluetoothSerial.h"
BluetoothSerial M5Stamp_BT;
int rxValue;
int M_IN1 = 26;
int M_IN2 = 18;
int M_IN3 = 19;
int M_IN4 = 25;
//extern const unsigned char AtomImageData[375 + 2];
uint8_t DisBuff[2 + 5 * 5 * 3]; //RGB collar LED
void setup() {
Serial.begin(115200);
M5.begin(true, false, true);
delay(10);
setBuff(0xff, 0x00, 0x00); //初期赤色
M5.dis.displaybuff(DisBuff);
M5Stamp_BT.begin("M5Stamp_BT"); //名称変更可能
Serial.println("Bluetooth Control");
pinMode(M_IN1, OUTPUT); digitalWrite(M_IN1, LOW);
pinMode(M_IN2, OUTPUT); digitalWrite(M_IN2, LOW);
pinMode(M_IN3, OUTPUT); digitalWrite(M_IN3, LOW);
pinMode(M_IN4, OUTPUT); digitalWrite(M_IN4, LOW);
}
void Forward() { //前進
digitalWrite(M_IN1, HIGH);
digitalWrite(M_IN2, LOW);
digitalWrite(M_IN3, LOW);
digitalWrite(M_IN4, HIGH);
}
void Backward() { //後進
digitalWrite(M_IN1, LOW);
digitalWrite(M_IN2, HIGH);
digitalWrite(M_IN3, HIGH);
digitalWrite(M_IN4, LOW);
}
void Turnleft() { //左旋回
digitalWrite(M_IN1, HIGH);
digitalWrite(M_IN2, LOW);
digitalWrite(M_IN3, HIGH);
digitalWrite(M_IN4, LOW);
}
void Turnright() { //右旋回
digitalWrite(M_IN1, LOW);
digitalWrite(M_IN2, HIGH);
digitalWrite(M_IN3, LOW);
digitalWrite(M_IN4, HIGH);
}
void Stop() { //停止
digitalWrite(M_IN1, LOW);
digitalWrite(M_IN2, LOW);
digitalWrite(M_IN3, LOW);
digitalWrite(M_IN4, LOW);
}
void setBuff(uint8_t Rdata, uint8_t Gdata, uint8_t Bdata) //RGB collar LED
{
DisBuff[0] = 0x05;
DisBuff[1] = 0x05;
for (int i = 0; i < 25; i++)
{
DisBuff[2 + i * 3 + 0] = Rdata;
DisBuff[2 + i * 3 + 1] = Gdata;
DisBuff[2 + i * 3 + 2] = Bdata;
}
}
void loop() {
if (M5Stamp_BT.available()) {
rxValue = M5Stamp_BT.read();
//Serial.print("Received:"); Serial.println(rxValue);
switch (rxValue) {
case 'F': //Forward
Forward();
setBuff(0x40, 0x40, 0x40); //白色
break;
case 'B': //Backward
Backward();
setBuff(0x40, 0x00, 0x00); //赤色
break;
case 'L': //Turnleft
Turnleft();
setBuff(0x00, 0x00, 0x40); //青色
break;
case 'R': //Turnleft
Turnright();
setBuff(0x40, 0x00, 0x40); //紫色
break;
case 'S': //Stop
Stop();
setBuff(0x00, 0x40, 0x00); //緑色
break;
default:
break;
}
M5.dis.displaybuff(DisBuff);
}
delay(20);
M5.update();
}
動画をご覧下さい。
皆さまの参考になれば幸いです。
by Paradise
1)コントロール用スマホアプリについて
今回使ったandroid用無料アプリはBluetooth Serial ControllerでPlayストアにてダウンロードできます。
このシリーズには以前に紹介のお絵描きロボット(OSTR)に使ったWiFi TCP/UDP Controllerと使い方は同じで、
ボタンの配置や機能設定を自由にカスタマイズ出来るのが特徴です。

2)Bluetoothアプリを使ってDCモータを動かすテスト例
ここでは、M5 Stamp PicoにモータードライバーMX1508(一個200円)を介してDCギヤードモータFM90(一個250円)を
アンドロイドスマホのBluetoothアプリを使って動かします。

テスト回路の配線図

3)プログラミング
M5 Stamp Pico Mateには、出荷時にファームウェアUIFLOWがインストールされていて、UIFlowグラフィカルプログラミング
の他、Arduino、MicroPython、ESP32-IDFにてプログラミングが可能です。
ここでは、Arduino IDEを使ってDCモータを動かす簡単な例を記します。
モータを動かす他にPico本体に搭載のRGBカラーLEDの色が操作毎に変化するようにしています。
プログラムをコピーしてArduino IDEに張り付けます。マイコンボードへの書き込み設定は、ボードをESP32 Pico Kit又は
M5 Stack Atomを選びますが、Pico系は書き込み速度が速いとエラーが出る場合が有ります。
その場合はUpload Speedを下げて書き込みます。
#include "M5Atom.h"
//M5Stamp_Pico用が未だリリースされてないので同じPico系のM5Atomライブラリーを用いています。
#include "BluetoothSerial.h"
BluetoothSerial M5Stamp_BT;
int rxValue;
int M_IN1 = 26;
int M_IN2 = 18;
int M_IN3 = 19;
int M_IN4 = 25;
//extern const unsigned char AtomImageData[375 + 2];
uint8_t DisBuff[2 + 5 * 5 * 3]; //RGB collar LED
void setup() {
Serial.begin(115200);
M5.begin(true, false, true);
delay(10);
setBuff(0xff, 0x00, 0x00); //初期赤色
M5.dis.displaybuff(DisBuff);
M5Stamp_BT.begin("M5Stamp_BT"); //名称変更可能
Serial.println("Bluetooth Control");
pinMode(M_IN1, OUTPUT); digitalWrite(M_IN1, LOW);
pinMode(M_IN2, OUTPUT); digitalWrite(M_IN2, LOW);
pinMode(M_IN3, OUTPUT); digitalWrite(M_IN3, LOW);
pinMode(M_IN4, OUTPUT); digitalWrite(M_IN4, LOW);
}
void Forward() { //前進
digitalWrite(M_IN1, HIGH);
digitalWrite(M_IN2, LOW);
digitalWrite(M_IN3, LOW);
digitalWrite(M_IN4, HIGH);
}
void Backward() { //後進
digitalWrite(M_IN1, LOW);
digitalWrite(M_IN2, HIGH);
digitalWrite(M_IN3, HIGH);
digitalWrite(M_IN4, LOW);
}
void Turnleft() { //左旋回
digitalWrite(M_IN1, HIGH);
digitalWrite(M_IN2, LOW);
digitalWrite(M_IN3, HIGH);
digitalWrite(M_IN4, LOW);
}
void Turnright() { //右旋回
digitalWrite(M_IN1, LOW);
digitalWrite(M_IN2, HIGH);
digitalWrite(M_IN3, LOW);
digitalWrite(M_IN4, HIGH);
}
void Stop() { //停止
digitalWrite(M_IN1, LOW);
digitalWrite(M_IN2, LOW);
digitalWrite(M_IN3, LOW);
digitalWrite(M_IN4, LOW);
}
void setBuff(uint8_t Rdata, uint8_t Gdata, uint8_t Bdata) //RGB collar LED
{
DisBuff[0] = 0x05;
DisBuff[1] = 0x05;
for (int i = 0; i < 25; i++)
{
DisBuff[2 + i * 3 + 0] = Rdata;
DisBuff[2 + i * 3 + 1] = Gdata;
DisBuff[2 + i * 3 + 2] = Bdata;
}
}
void loop() {
if (M5Stamp_BT.available()) {
rxValue = M5Stamp_BT.read();
//Serial.print("Received:"); Serial.println(rxValue);
switch (rxValue) {
case 'F': //Forward
Forward();
setBuff(0x40, 0x40, 0x40); //白色
break;
case 'B': //Backward
Backward();
setBuff(0x40, 0x00, 0x00); //赤色
break;
case 'L': //Turnleft
Turnleft();
setBuff(0x00, 0x00, 0x40); //青色
break;
case 'R': //Turnleft
Turnright();
setBuff(0x40, 0x00, 0x40); //紫色
break;
case 'S': //Stop
Stop();
setBuff(0x00, 0x40, 0x00); //緑色
break;
default:
break;
}
M5.dis.displaybuff(DisBuff);
}
delay(20);
M5.update();
}
動画をご覧下さい。
皆さまの参考になれば幸いです。
by Paradise
スポンサーサイト
M5 Stamp Pico Mateを使ってみました。 その1
スマホのBlueTooth APPにてDCモータを動かしてみました。
使用したDCモータは外観がSG90型サーボモータと同じですが、中身は単なる減速機付きモータです。
従って動かすにはDCモータ・コントローラーが必要です。(ここでは、MX1508を使用)
先ずは動画をご覧下さい。
USBシリアル変換モジュールについて
M5 Stamp Pico Mateには、ソースファイルの書き込みに必要なUSBシリアル変換部が無いので、市販のUSBシリアル
変換モジュールを接続して使います。
下の参考画像は以前から使っているUSBシリアル変換モジュールに手動書き込み操作用のタクトスイッチを追加して
M5 Stamp PicoのGPIOの配置に合わせ、本体横に差し込む簡単な書き込み用アダプターを作りました。
トランジスター回路を追加して手動操作が不要なアダプターも使っていますが、配線が簡単なSW式をお勧めします。

アダプターの配線図
ユニバーサル基板端材の両端に基板ソケットとプラグを取り付け、書き込みSWとリセットSW用のタクトスイッチ
及びM5 Stamp Picoの電源用3.3Vの3端子レギュレータユニットを配置しました。
書き込み方法は、WriteSWを押しながらResetSWを押すと書き込みモード(Download mode)となります。
書き込みが終わったらResetSWを押すと通常モードに戻ります。
注意:市販のUSBシリアル変換モジュールの多くには、GPIOの入出力電圧レベルを5Vと3.3Vに切り替えるSWが
付いていますが、SWを切り替えると出力端子のVcc電圧も変わるタイプが有ります。しかし、M5を動かすだけの
電流容量が無い機種も有るの注意が必要です。 その場合は、別途M5本体の5VとGND端子間に+5Vを加えます。

次回は、プログラムとスマホのBlueTooth APPの使い方を予定しています。
皆さまの参考になれば幸いです。
by Paradise
使用したDCモータは外観がSG90型サーボモータと同じですが、中身は単なる減速機付きモータです。
従って動かすにはDCモータ・コントローラーが必要です。(ここでは、MX1508を使用)
先ずは動画をご覧下さい。
USBシリアル変換モジュールについて
M5 Stamp Pico Mateには、ソースファイルの書き込みに必要なUSBシリアル変換部が無いので、市販のUSBシリアル
変換モジュールを接続して使います。
下の参考画像は以前から使っているUSBシリアル変換モジュールに手動書き込み操作用のタクトスイッチを追加して
M5 Stamp PicoのGPIOの配置に合わせ、本体横に差し込む簡単な書き込み用アダプターを作りました。
トランジスター回路を追加して手動操作が不要なアダプターも使っていますが、配線が簡単なSW式をお勧めします。

アダプターの配線図
ユニバーサル基板端材の両端に基板ソケットとプラグを取り付け、書き込みSWとリセットSW用のタクトスイッチ
及びM5 Stamp Picoの電源用3.3Vの3端子レギュレータユニットを配置しました。
書き込み方法は、WriteSWを押しながらResetSWを押すと書き込みモード(Download mode)となります。
書き込みが終わったらResetSWを押すと通常モードに戻ります。
注意:市販のUSBシリアル変換モジュールの多くには、GPIOの入出力電圧レベルを5Vと3.3Vに切り替えるSWが
付いていますが、SWを切り替えると出力端子のVcc電圧も変わるタイプが有ります。しかし、M5を動かすだけの
電流容量が無い機種も有るの注意が必要です。 その場合は、別途M5本体の5VとGND端子間に+5Vを加えます。

次回は、プログラムとスマホのBlueTooth APPの使い方を予定しています。
皆さまの参考になれば幸いです。
by Paradise
M5 Stamp Pico Mateが届く!
先週12日に発売の新製品 M5 Stamp Pico Mateが届きました。
M5 Stamp PicoはピンヘッダとGrove互換コネクタ、プラスティックカバーとシールにLレンチが付属したKitが
標準品です。 スイッチサイエンスにて価格は825円で購入しました。
M5Stamp PicoはEspressif ESP32-PICO-D4 Wi-Fiチップを搭載した切手サイズの小さな開発プラットフォームで、
UIFlowを使ったグラフィカルプログラミング、Arduino、MicroPython、ESP32-IDFでの開発が可能です。
機能的には以前から販売しているM5 Stack ATOM LiteからUSBシリアル変換部を省いた程度で、GPIOが12個
利用できますが、ソースの書き込みにはUSBシリアル変換モジュールが別途必要です。
私的には、WiFi又はBluetoothを利用したロボットへの組み込みが主なので、付属品無しの基板単体での販売
(500円程度)を望みます。
詳細はスイッチサイエンスのHPをご覧下さい。

皆さまの参考になれば幸いです。
by Paradise
M5 Stamp PicoはピンヘッダとGrove互換コネクタ、プラスティックカバーとシールにLレンチが付属したKitが
標準品です。 スイッチサイエンスにて価格は825円で購入しました。
M5Stamp PicoはEspressif ESP32-PICO-D4 Wi-Fiチップを搭載した切手サイズの小さな開発プラットフォームで、
UIFlowを使ったグラフィカルプログラミング、Arduino、MicroPython、ESP32-IDFでの開発が可能です。
機能的には以前から販売しているM5 Stack ATOM LiteからUSBシリアル変換部を省いた程度で、GPIOが12個
利用できますが、ソースの書き込みにはUSBシリアル変換モジュールが別途必要です。
私的には、WiFi又はBluetoothを利用したロボットへの組み込みが主なので、付属品無しの基板単体での販売
(500円程度)を望みます。
詳細はスイッチサイエンスのHPをご覧下さい。

皆さまの参考になれば幸いです。
by Paradise
![]() 良かったらclickして下さい! | ![]() 良かったらclickしてください! |