M5Stack製品であまり知られていないテクニック
TwitterでM5Stack、M5StickC、M5StickVなどM5Stack製品に関するの情報収集していると、M5Stack公式も知らないようなかなりレアな情報を入手できます。Twitterだと流れてしまうので、気づいたものをまとめておきます。
★勝手に集めて載せている情報もあるのですが、もし都合が悪ければ削除しますのでメールやTwitterでご連絡くださいm(_ _)m
もくじ(Index)M5Stack関連の目次へ戻る
2019/2以降のM5Stack Grayは大きいサイズのアプリを作ることが可能
らびやん氏(@lovyan03)に教えていただきました。M5Stack Grayは2019/2頃からFlashメモリが16MBに変更されています。そのため、4MBの頃より大きいサイズのアプリを作成することが可能です。
設定の仕方(ArduinoIDE)
Borad情報に「M5Stack-Core-ESP32」を使用していると4MBの設定になってしまうので利用できません。ボード:「M5Stack-Fire」に設定し、に変更すると16MBフルに使えるようになります。
★ GrayにはPSRAMがないので、「PSRAM:Disabled」にした方が良いと思います。Fire用のアプリを開発する時は注意しましょう。
16MBかどうかの確認方法
外見や基板を見ても判別不能なので、下記の方法で調べます。
①らびやんランチャーで調べる。
初心者向けM5Stackの始め方(M5Burner/LovyanLauncher編)を参照してSeriesを「Stack-4MB」で書き込みを行い、起動した後、「Tools」→「System Info」を選択すると「Flash Chip Size」で確認できます。
②AdruinoIDEで書き込むときのログで確認する。
ArduinoIDEで書き込むときのログで「Auto-detected Flash size: 16MB」というものがあれば16MBです。(たなかまさゆきさん(@tnkmasayuki)からの情報)
readPixel,readRectは動く
画像を扱うアプリを作るときに躓くことが多いのですが、画面キャプチャーや背景のドットを保存するためのreadPixel、readRectは最近まで動作していませんでした。しかし、らびやん氏(@lovyan03)とTobozo氏(@TobozoTagada)の大発見により動くことが分かりました。ただし、2020/1/21時点ではGitHubのライブラリから最新をダウンロードして使わないといけません。下記はその変更点のCommitです。
RGB565の値はM5.Lcd.color565を使うとすぐ変換可能
In_eSPIライブラリの中にuint16_t color565(uint8_t red, uint8_t green, uint8_t blue)という関数があるので、下記の1行だけでRGB888から変換できます。
uint16_t white = M5.Lcd.color565(255, 255, 255);
uint16_t red = M5.Lcd.color565(255, 0, 0);
使えるGPIO
GPIOは一見全部使えるように見えるのですが、使い方を気を付けないとうまく動かないという罠が潜んでいます。よく目にするのがGPIO25を利用して爆音が響くなど、、、
らびやん氏(@lovyan03)がつぶやいていたのでまとめておきます。
★もし追加情報があったら教えてくださいm(_ _)m
一覧
競合しているGPIOを使うと、ノイズや予期せぬ動きをする場合があります。(特にGPIO25のスピーカーは注意)
備考 | Analog | M-BUS | M-BUS | Analog | 備考 |
---|---|---|---|---|---|
× | GND | G35(ADC) | ADC1_CH7 | 〇:入力のみ | |
× | GND | G36(ADC) | ADC1_CH0 | 〇:入力のみ | |
× | GND | EN(RST) | × | ||
△ SD,LCDと共有 | G23(MOSI) | G25(DAC/SPK) | ADC2_CH8 | △ スピーカーが鳴る | |
△ SD,LCDと共有 | G19(MISO) | G26(DAC) | ADC2_CH9 | 〇 | |
△ SD,LCDと共有 | G18(SCK) | 3.3V | - | × | |
△ USB-Serialと競合 | G3(RXD0) | G1(TXD0) | △ USB-Serialと競合 | ||
△ PSRAMと競合 | G16(RXD2) | GPIO17(TXD2) | △ PSRAMと競合 | ||
△ I2C用 | G21(SDA) | G22(SCL) | △ I2C用 | ||
△ ※1 | ADC2_CH2/T2 | G2(GPIO) | G5(GPIO) | 〇 | |
△ ※1 | ADC2_CH5 | G12(IIS_SK) | G13(IIS_WS) | ADC2_CH4/T4 | 〇 |
△ | ADC2_CH3/T3 | G15(IIS_OUT) | G0(IIS_MK) | ADC2_CH1/T1 | △ ※1 |
× | HPWR | G34(IIS_IN) | ADC1_CH6 | 〇:入力のみ | |
× | HPWR | 5V | × | ||
× | HPWR | BATTERY | × |
※1、接続しているとスケッチの書き込み時や起動に失敗する場合あり
更新履歴
- 2020/1/21 新規作成