1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

XIAO ESP32C6、NeoPixel8x8を表示して遊ぶ。(M5Stackなんちゃらかんちゃらで貰った)

Last updated at Posted at 2025-04-12

参考

いろいろ、注意

x 過去ログを見よ!!
x 3.2.0
x Adafruit_NeoPixel.hのインストール

目的

なんかのM5Stackのミーティングで貰った。
WS2812Bの8x8で遊ぶ。

結果

image_original (87).jpg

image_original (88).jpg

プログラム




//NeoPixel8x8_test1_XIAO_ESP32C6_1


//インクルド
#include <Arduino.h>
#include <Adafruit_NeoPixel.h>


//定義
#define NUM_LEDS 64
#define OUT_GPIO_NUM D10 //XIAO-ESP32C6
Adafruit_NeoPixel strip(NUM_LEDS, OUT_GPIO_NUM, NEO_GRB + NEO_KHZ800);

unsigned char Pixel[8][8][3];
int line = 7;
int column = 7;


//初期化
void setup() {

  //ネオピクセルの設定
  strip.begin();
  strip.show();

}  //main


//ネオピクセルに転送後に表示
void NeoPixe_OUT() {

  int k = 0; //RGB LEDの番号
  for (int i = 0; i < (line + 1); i++) {
    for (int j = 0; j < (column + 1); j++) {

      strip.setPixelColor(k, strip.Color(
                               Pixel[i][j][0], Pixel[i][j][1], Pixel[i][j][2]));
      k++;

    } //for j
  }   //for i

  strip.show(); //再表示

} //NeoPixe_OUT


//0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5  6  7  8  9  0  1  2  3
unsigned char hh0[8][32] = {
  {  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5 },
  {  5,  5,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  5,  5 },
  {  5,  5,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  5,  5 },
  {  5,  5,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  5,  5 },
  {  5,  5,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  5,  5 },
  {  5,  5,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  5,  5 },
  {  5,  5,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  5,  5 },
  {  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5 }
};

unsigned char hh1[8][32] = {
  { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 },
  { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 },
  { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 },
  { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 },
  { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 },
  { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 },
  { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 },
  { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 }
};

//unsigned char hh3[8][32] = {
//  { 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 },
//  { 64, 64, 64, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 64, 64, 64 },
//  { 64, 64, 64, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 64, 64, 64 },
//  { 64, 64, 64, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 64, 64, 64 },
//  { 64, 64, 64, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 64, 64, 64 },
//  { 64, 64, 64, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 64, 64, 64 },
//  { 64, 64, 64, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 64, 64, 64 },
//  { 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 }
//};


//メインループ
void loop() {

  int pt; //アドレスポイント
  for (int i = 0; i < (line + 1); i++) {
    for (int j = 0; j < (column + 1); j++) {

      pt = 3 * j;
      Pixel[i][j][0] = hh0[i][pt++];
      Pixel[i][j][1] = hh0[i][pt++];
      Pixel[i][j][2] = hh0[i][pt];

    } //for j
  }   //for i

  NeoPixe_OUT();

  delay(3000);  //3秒待つ


  for (int i = 0; i < (line + 1); i++) {
    for (int j = 0; j < (column + 1); j++) {

      pt = 3 * j;
      Pixel[i][j][0] = hh1[i][pt++];
      Pixel[i][j][1] = hh1[i][pt++];
      Pixel[i][j][2] = hh1[i][pt];

    } //for j
  }   //for i

  NeoPixe_OUT();

  delay(3000);  //3秒待つ

}  //loop


1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?