GPIO36が入力専用であることを理解しました。
情報をありがとうございました。
RuriObb
GPIO36が入力専用であることを理解しました。
情報をありがとうございました。
RuriObb
Hello.
I'm trying to use M5Stack FIRE V2.7 portB(GND, 5V, GPIO26, GPIO36) as Servo motor control pin. The purpose is that two Servo motors ( SG-90 ) connected to portB can be controlled by software.
First of all, I tested one Servo motor connected to portB (GND, 5V, GPIO26) by using the following Arduino IDE sketch, and it works well.
But the same Servo motor connected to portB (GND, 5V, GPIO36) doesn't work by using the same Arduino IDE sketch with replacing pin number 26 to 36.
It seems that GPIO36 pin cannot be set to OUTPUT mode.
#include <M5Stack.h> //Board : M5Stack-FIRE
#include <esp32-hal-ledc.h>
#define LOW 1500
#define HIGH 8500
#define TIMER_WIDTH 16
#define PIN 26 // PIN should be set to 36, if GPIO36 is used
void setup() {
M5.begin();
pinMode(PIN, OUTPUT);
ledcSetup(1, 50, TIMER_WIDTH);
ledcAttachPin(PIN, 1);
}
void loop() {
for(int i = LOW; i < HIGH; i = i + 100) {
ledcWrite(1, i);
delay(100);
}
}
I don't know the reason why GPIO36 cannot be used as Servo motor control pin.
Furthermore, I opened M5Stack FIRE cover, and connected Servo motor to GPIO pins directly, but the result is the same as ever.
Please help, if you have any advice or information on it.
Thank you In advance.
RuriObb
こんにちは。
M5Stack Fire V2.7のポートB(GND, 5V, GPIO26, GPIO36)にサーボモータ(SG-90)2個を接続しようと試行しています。
まず、サーボモータを1個ずつ次のように接続し、動作を確認したところ、GPIO26に接続した場合には正しく動作しましたが、GPIO36に接続に接続した場合には正しく動作しませんでした(全く回転しない)。
動作確認には、次のArduino IDEスケッチを使用しました。
上記1)の場合は#define PIN 26、2)の場合は#define PIN 36。
ちなみに、ボード設定はM5Stack-FIRE。
#include <M5Stack.h>
#include <esp32-hal-ledc.h>
#define LOW 1500
#define HIGH 8500
#define TIMER_WIDTH 16
#define PIN 26 // 2)の場合、PINは36
void setup() {
M5.begin();
pinMode(PIN, OUTPUT);
ledcSetup(1, 50, TIMER_WIDTH);
ledcAttachPin(PIN, 1);
}
void loop() {
for(int i = LOW; i < HIGH; i = i + 100) {
ledcWrite(1, i);
delay(100);
}
}
関連ドキュメントを見ても、M5Stack Fire V2.7のポートBの
GPIO36をこのような用途で使用できない旨の記述がなく、
この問題を解決できず困っています。
どなたかヘルプをお願いいたします。
※ もしかするとM5Stack Fire V2.7の内部コネクタとポートB
との接続が悪いのかとも思い、内部のコネクタから直接
サーボモータに接続しましたが、やはりGPIO26のほうは
動作OK、GPIO36のほうは動作NGでした。
また、他のGPIOピン、例えばGPIO5でも同様に確認した
ところ動作OKでした。
よろしくお願いします。
RuriObb
I noticed that Arduino IDE can output tge detail Information on ELF file etc. while compiling. I think this detail information will be very helpful for studing further about the binary content in the M5Stack Flash memory.
Thank you everybody.
Arduino IDEの環境設定で、コンパイルの詳細情報を表示する項目をONにしてコンパイルすると、ELFファイルなどの処理手順が分かるので、これが参考になりそうです。
さらに、スタディを進めたいと思います。
@shimodash
朗報をありがとうございます。
esptoolが非常に役に立ちそうですが、次のことが分からず困っています。
M5Stack fire(フラッシュメモリ容量:16MB)の内容をesptoolでざっと覗いてみたところ、0x00000〜0x400000の部分に何かが書かれていて、0x400000以降はすべて"FF"のようですが、M5Stack fire を現在の状態に戻すには、フラッシュメモリの0x00000〜0x400000の部分をesptoolでバイナリファイルにread(and save) した後、単純にそのファイル内容をesptoolでフラッシュメモリにwriteすればよいのでしょうか?
それとも、他にも何か合わせて実施することがあるのでしょうか?
※ 例えば、M5Stack fire のメモリ上のどの場所にどんな情報を
置かなければならないのか、などが分かりません。
追加の質問で申し訳ありませんが、よろしくお願いします。
RuriObb
Thank you for your help.
But I doubt that the Bala2 source code (Bala2.ino) in the Github does not equal to preloaded software in Bala2fire product.
So first of all I need to extract the current binary content from Flash and EEPROM of Bala2fire, and save it to Windows file in case it will be necessary to restore the initial state in the future.
I investigated furthermore and I studied "esptool" can extract binary content from Flash memory (maybe also EEPROM) of M5Stack fire to Windows file, but I would like to know that the following process is correct or not for savIng and restoration full of binary content.
To read from 0x00000 to x400000 Flash memory content and
save it to Windows file (e.g. file name image4M.bin) by using
"esptool"
To write from 0x00000 to x400000 Flash memory content with
image4M.bin
Regarding 4M, I think initial Bala2fire uses at most 4M byte Flash for preloaded software.
Thank you in advance.
RuriObb
皆さま、はじめまして。
昨日、BALA2Fire(M5Stack fireベースの自己バランスカー)を購入し、先ずはプリロードされているソフトウェアをWindows11のファイルに抽出した後、いろいろとスケッチを作成してスタディを始めたいと思っています。
いろいろと調べましたが、試してみるとなると、操作ミス等でプリロード情報に影響を与えてしまうのではないかと心配になり、前に進めず困っています。
どなたか、M5Stack fireからフラッシュ、EEPROMのデータをWindows11ファイルに吸い出す方法について、詳しく教えて頂けますか。
よろしくお願いします。
RuriObb
Hello everybody.
I'm newby and I have searched to get the information in this Community but I coudn't get any useful topics. Please help me about the following issue.
Yesterday, I bought M5Stack fire based Self Balancing Robot kit (BALA2Fire) and I would like to extract the current preloaded software (for Flash and if possible for EEPROM) in the M5Stack fire, because the initial software will be overwritten by future sketch replacement.
I am considering software tools (Avrdude etc. ) may be able to extract the binary from M5Stack fire, but I couldn't have been trying yet because of wondering to influence or lose the initial software.
I am using Windows11 and please let me know how to extract whole current software (Flash data and if possible EEPROM data ) from M5Stack fire system.
Thank you in advance.
RuriObb