Raspberry Pi Pico互換機でNeoPixelを使ってみる

電子工作

皆さんこんにちは、Itaです。今回は、私が持っているRaspberry Pi Pico互換機に付属しているNeoPixelを使用してみましたので、どのように使うのか紹介していきたいと思います。

NeoPixelはフルカラーで光るLEDで、中にICチップが入っており自分で光る色や明るさを調整できるというものです。
自分でイルミネーションを作ってみたいという方や派手な装飾を作ってみたいという方などにおすすめです。

コード① 単色

今回私は、MicroPythonを使ってやっていきたいと思います。まずは簡単な単色をただ光らせるものをやっていきたいと思います。

import machine
import neopixel

# 設定
NEOPIXEL_PIN = 23  # NeoPixelの制御ピン
NUM_PIXELS = 1     # LEDの数(内蔵なら1)
COLOR = (25, 0, 0)  # 点灯させる色をRGBで指定(ここでは赤色)

# NeoPixelの初期化
np = neopixel.NeoPixel(machine.Pin(NEOPIXEL_PIN), NUM_PIXELS)

# 単色をLEDに設定して点灯
np[0] = COLOR  # LEDに色を設定(赤色)
np.write()     # 変更を反映

RGB指定は0から255まで指定可能ですが値が大きくなるとまぶしすぎる恐れがあります
色によりますが大体50くらいが安全です。

“COLOR”のところを変えると様々な色を出すことができます。

黄(25,25,0) 赤(25,0,0) 緑(0,25,0)

コード② グラデーション

import machine
import neopixel
import time

# 設定
NEOPIXEL_PIN = 23  # NeoPixelの制御ピン
NUM_PIXELS = 1     # LEDの数(内蔵なら1)

# NeoPixelの初期化
np = neopixel.NeoPixel(machine.Pin(NEOPIXEL_PIN), NUM_PIXELS)

# RGBの初期値
r, g, b = 255, 0, 0  # 赤からスタート

# グラデーションループ
while True:
    # 赤 -> 緑
    for i in range(256):
        r = 255 - i
        g = i
        b = 0
        np[0] = (r, g, b)
        np.write()
        time.sleep(0.02)  # 速度調整

    # 緑 -> 青
    for i in range(256):
        r = 0
        g = 255 - i
        b = i
        np[0] = (r, g, b)
        np.write()
        time.sleep(0.02)

    # 青 -> 赤
    for i in range(256):
        r = i
        g = 0
        b = 255 - i
        np[0] = (r, g, b)
        np.write()
        time.sleep(0.02)

赤→緑→青の順で色を変化させます。
各色の値を”for i in range(256)”を使って段階的に変えていきます。今回は次の色の値を大きくするのと同時に前の色の値を小さくしてグラデーションを行っています。

最後に

今回はプログラムだけで色を変えてみたので、ボタンなどを使って色を変化させたり明るさを変えてみたりするとより面白いかと思います。また、マイコン内臓タイプだけでなくテープタイプなどもあるのでそちらも試してみると面白いと思いました。

コメント

タイトルとURLをコピーしました