0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NeoPixel制御ボードのサンプルプログラム③

Posted at
  • 商品概要

RP2040マイコンを使って、NeoPixelを制御して楽しもうというコンセプトです。
右のコネクタは、電池をつないでパソコンから離れても動くようにしています。
左のジャックから音声信号を入力してADコンバータに入力可能です。
ボタンが1つ or 2つ搭載しているので、外部入力または切り替えなどで使えます。

  • プログラム環境

ArduinoIDE バージョン:2.3.2
Adafruit NeoPixel Library 1.12.2(2024.8.1時点の最新版は1.12.3)

  • ハードウェアの主な仕様

 ①マイコン:PR2040-ZERO(RaspberryPiPico系)
 ②NeoPixel接続ピン  GPI08(R1でショート)
 ③プッシュスイッチ1:GPI07
 ④プッシュスイッチ2:GPI06(2個搭載しているボードのみ)
 ⑤音声入力:GP26

image.png

  • メインプログラム(ArduinoIDEのスケッチ)

ランダムにLEDを徐々に明るくして、暗くなるプログラムです。
どちらかというと見て癒されるガジェット的なプログラムです。

//ランダムでLEDを光らせるサンプルプログラム

#include <Adafruit_NeoPixel.h>

#define LED_PIN 8
#define NUM_LEDS 36
#define NUM_FLASHING_LEDS 24
#define BRIGHTNESS 16 // LEDの明るさを設定 (0~255)

// NeoPixelの設定
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.setBrightness(BRIGHTNESS); // 明るさを設定
  strip.show(); // Initialize all pixels to 'off'
}

void loop() {
  // ランダムに選択されたLEDのインデックスを生成
  int flashingIndices[NUM_FLASHING_LEDS];
  for (int i = 0; i < NUM_FLASHING_LEDS; i++) {
    flashingIndices[i] = random(NUM_LEDS);
  }

  // LEDをゆっくりと明るくする
  for (int brightness = 0; brightness <= 128; brightness++) {
    for (int i = 0; i < NUM_FLASHING_LEDS; i++) {
      strip.setPixelColor(flashingIndices[i], strip.Color(0, brightness, brightness));
      //strip.setPixelColor(flashingIndices[i], strip.Color(0, 0, brightness));
    }
    strip.show();
    delay(10); // 明るさの変化速度を調整するための遅延
  }

  delay(500); // 最大の明るさに達した後の待機時間

  // LEDをゆっくりと暗くする
  for (int brightness = 128; brightness >= 0; brightness--) {
    for (int i = 0; i < NUM_FLASHING_LEDS; i++) {
      strip.setPixelColor(flashingIndices[i], strip.Color(0, brightness, brightness));
    }
    strip.show();
    delay(10); // 明るさの変化速度を調整するための遅延
  }

  delay(500); // 最小の明るさに達した後の待機時間
}

  • このプログラムを作成した時の考え方。

LEDをほわんほわんと光らせてみたいなと思ってプログラミングしてみました。
思ったより見ていて癒される感じかと思います。

折角のカラーLEDなので、色を変えられると気分も変わって良いかもしれませんね。

  • 実行結果

水色でほわんほわんと光っている感じです。
gifに変換してアップをやってみましたが調整は慣れが必要そうですね。

Vid20240801_cnv.gif

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?