goo blog サービス終了のお知らせ 

酒と薔薇の日々(その2)

好きなことだけ求めて生きるアスペ気味のINTJ人

M5StampS3 でLチカ

2023年08月11日 22時55分17秒 | マイコン(ESP32・Arduino等)

サンプルのLチカ程度はやってみなければ・・・
相変わらずアズリました。ほんま毎回変になるんだな、これが。

FastLEDライブラリの説明はこちらのお世話になりました。

既にM5Stackの基本ライブラリは入ってます。

入ってないなら入れてちょ(今回トラブったのでライブラリから入れ直したんだよ)

-----ここから--------

M5のGitHubでサンプルをDLします。

TimeOutなどで書き込めないとかの場合はこれやれっ

①画面上のUSBに繋がってる機器の欄をクリックして
②「他のボードとポートを選択」を選択

③「M5」を打ち込んで
④一番下側にあった「STAMP-S3」を選ぶ (C3ではないぞ)
⑤OKをクリック
⑥COM11にS3が入った風に見えてるが・・・ゴミ

⑦コンパイルするが・・・「Failed uploading: no upload port provided」などと書き込みエラが出たら、

おいおい、取得した機器名が違うだろうがっ

⑧COMポート番号を再指定する。などジタバタ騒ぐ

と何故かいつの間にかコンパイルが通っている。
意味不明じゃろうが!

~~~~~~~~~~~~~~~~~~~~~

動くとは言え、IDE2とM5の組み合わせはクソですよ全くこいつら。
これで1時間程度はグダグダさせられた。
arduino-IDE1以来、M5シリーズでですんなり行った試しがない。
ネット記事では全然トラブルなしみたいな描き方してるのが信じられんわ。

エラーが出たのはこの画面
機種名を指定しても、接続されているデバイス名は違うし
ATOMーLiteを繋げても全然COMに出てこないし
混乱が混乱を生んで、機器名をC3と間違うし。
機器を疑ったり、ケーブルを疑ったり、PCのUSB状態を疑ったり、転送速度ミスマッチを疑ったり・・・
疑うべき場所が多すぎ。アタマも悪い。
泥沼です。はい 

============

M5シリーズの多数ある機種・ライブラリを統合しようという計画「M5Unified」を先日のM5Japanツアーin広島で聞いていた。
それを思い出し今回の「Stamp」開発で使ってみようかと、ちょっとお勉強
Lang-SgipさんはM5の回し者らしくw、ちゃんと記事が上がっている
まずは簡単な使い方。らびやんさんのこのプレゼン解説
う~ん、今回のStampは画面がそもそもないしボタンも1個だし、使うメリットはあまりないかも。

=======少し改造版 Lチカ ==========

/*

  RGB順番に光らせるだけ
*/
#include ”Arduino.h”

//-----内蔵LED関係-----------------
#include ”FastLED.h”
#define PIN_LED    21
#define NUM_LEDS   1
CRGB leds[NUM_LEDS];
void setupLed(){
    FastLED.addLeds<WS2812, PIN_LED, GRB>(leds, NUM_LEDS);  // 1個しか付いてません
}
//-----"RGB "文字を送ると対応する色で内蔵LED関係を光らせる------
void led(char col){
  switch(col){
    case 'R': leds[0] = CRGB::Red;break;
    case 'G': leds[0] = CRGB::Green;break;
    case 'B': leds[0] = CRGB::Blue;break;
    case 'W': leds[0] = CRGB::White;break;
    default:  leds[0] = CHSV(0,0,0);break;
  }
  FastLED.show();
}

void setup() {
  setupLed();
}

void loop() {
  led('R');  delay(1000);
  led('G');  delay(1000);
  led('B');  delay(1000);
  led('W');  delay(1000);
  led(' ');  delay(1000);
}


--------標準LEDサンプル---------------

/*
  Lチカソース Press button to change LED status
*/
#include ”FastLED.h”
#include ”Arduino.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() {
    USBSerial.begin(9600);
    USBSerial.println("StampS3 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))
                ;
            USBSerial.print("LED status updated: ");
            USBSerial.println(led_status_string[led_status]);
        }
    }
}

この記事についてブログを書く
« M5StampS3キットでロボカー作... | トップ | 「あんぽんたん1号’」がM5St... »