M5Stamp S3をArduinoでLチカしたときのメモ


M5Stamp S3を買ってみたのでLチカしてみます。

M5Stamp S3自体はスイッチサイエンスさんのサイトを参照してください。

https://www.switch-science.com/products/8777?gad=1


## 環境

- M2 Mac Book Air
	- macOS Ventura 13
- Arduino IDE 2.1.0
- esptool.py v4.2.1


## Arduino IDEの設定準備

初期設定でこの辺はやっておきます。

### M5Stackのボードマネージャーを追加 （執筆時点v2.0.6-1.0）

> ![スクリーンショット 2023-04-27 3.23.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/996c82a1-5235-a733-b602-beb9b3423fb4.png "スクリーンショット 2023-04-27 3.23.10.png")

> `https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json` をボードマネージャーに追加しておく

ボード設定では`STAMP-S3`という項目を選びますが、`v2.0.6-1.0`だと出てきて、`v2.0.6`だと項目が出てきませんでした。 **注意です。**

> ![スクリーンショット 2023-04-27 3.28.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/28103fa8-03bc-dc40-9022-e0fae520d49e.png "スクリーンショット 2023-04-27 3.28.36.png")

### FastLEDのライブラリを追加 （執筆時点v3.5.0）

> ![スクリーンショット 2023-04-27 3.22.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/04183ba3-2a9d-83d4-b0c1-b8456c7fd8a3.png "スクリーンショット 2023-04-27 3.22.16.png")

このLEDは最近のM5系は多いかも

## Lチカコード

公式サンプルのコードと https://logikara.blog/stamps3-init/ こちらの記事にあるコードを混ぜてみました。

```led.ino
#include <FastLED.h>

#define PIN_LED    21   // 本体フルカラーLEDの使用端子（G21）
#define NUM_LEDS   1    // 本体フルカラーLEDの数

CRGB leds[NUM_LEDS];


void setup() {
  USBSerial.begin(9600);
  FastLED.addLeds<WS2812B, PIN_LED, GRB>(leds, NUM_LEDS);
  leds[0] = CRGB(40, 40, 40);   // 白色（赤, 緑, 青）※3色それぞれの明るさを0〜255で指定
}

//赤 -> 消える -> 白を繰り返す
void loop() { 
  // Turn the LED on, then pause
  leds[0] = CRGB::Red;
  FastLED.show();
  delay(500);

  // Now turn the LED off, then pause
  leds[0] = CRGB::Black;
  FastLED.show();
  delay(500);

  // Turn the LED on, then pause
  leds[0] = CRGB(40, 40, 40);
  FastLED.show();
  delay(500);
}

```


これでコンパイルして書き込めば赤->消える->白の順で内蔵LEDが光ります。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">M5StampS3 Lチカから <a href="https://twitter.com/hashtag/iotlt?src=hash&amp;ref_src=twsrc%5Etfw">#iotlt</a> <a href="https://t.co/tkvxuX0CMy">pic.twitter.com/tkvxuX0CMy</a></p>&mdash; 菅原のびすけ （プロトアウト8期募集中) (@n0bisuke) <a href="https://twitter.com/n0bisuke/status/1651291951130611713?ref_src=twsrc%5Etfw">April 26, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


## アラートなど

SPIピンあたりのアラートとスケッチサイズのアラートがでますが、特に問題なく使えるので取り急ぎはスルーしました。

```
In file included from /Users/nobisuke/ds/Arduino/libraries/FastLED/src/FastLED.h:67,
                 from /Users/nobisuke/ds/Arduino/m5/m5stampS3/m5stamps3_hello/m5stamps3_hello.ino:1:
/Users/nobisuke/ds/Arduino/libraries/FastLED/src/fastspi.h:145:23: note: #pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output
 #      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

```
sketch uses 245849 bytes (18%) of program storage space. Maximum is 1310720 bytes.
Global variables use 19144 bytes (5%) of dynamic memory, leaving 308536 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.2.1
```