Arduino入門
M5StampS3
を選択します。Stamp-S3 の G0 ボタンを長押ししたまま、USB ケーブルでデバイスをコンピュータに接続します。この時、コンピュータ上でポートが認識されれば、デバイスがダウンロードモードに入ったことを示します。
デバイスがポートを正常に認識するまで待ち、Arduino IDE で対応するデバイスのポートを選択してください。
Arduino IDE の作業スペースに以下のコードを入力し、アップロードボタンをクリックすると、プログラムのコンパイルと書き込みが自動的に行われます。
#include <Arduino.h>
#include <FastLED.h>
#define PIN_BUTTON 0
#define PIN_LED 21
#define NUM_LEDS 1
CRGB leds[NUM_LEDS];
uint8_t led_ih = 0;
uint8_t led_status = 0;
String led_status_string[] = {"Rainbow", "Red", "Green", "Blue"};
void setup() {
Serial.begin(115200);
Serial.println("Stamp-S3 demo!");
pinMode(PIN_BUTTON, INPUT);
FastLED.addLeds<WS2812, PIN_LED, GRB>(leds, NUM_LEDS);
}
void loop() {
switch (led_status) {
case 0:
leds[0] = CHSV(led_ih, 255, 255);
break;
case 1:
leds[0] = CRGB::Red;
break;
case 2:
leds[0] = CRGB::Green;
break;
case 3:
leds[0] = CRGB::Blue;
break;
default:
break;
}
FastLED.show();
led_ih++;
delay(15);
if (!digitalRead(PIN_BUTTON)) {
delay(5);
if (!digitalRead(PIN_BUTTON)) {
led_status++;
if (led_status > 3) led_status = 0;
while (!digitalRead(PIN_BUTTON))
;
Serial.print("LED status updated: ");
Serial.println(led_status_string[led_status]);
}
}
}
コードをアップロードすると、Stamp-S3 デバイスの RGB LED が自動的に点灯します。ボタンを押すことで、LED の表示色を循環して切り替えることができます。同時に、デバイスはシリアルポートを介して現在のライト状態情報(色値やモードなど)を出力するため、デバッグと対話型フィードバックが容易になります。