LEDを点けたり消したりするだけでは少しつまらないので、キャンドルの炎のように光るLEDをプログラミングしてみましょう。

最近提供を開始したRP2040やSTM32の開発ボードには、少なくとも1つのカラーLEDが搭載されているので、開発ボードだけでこのLEDキャンドルを楽しむことができます。

LEDの前に薄いティッシュペーパーなどを置いて光を拡散させて、部屋を暗くしてみると、(それなりに)キャンドルのように見えます。

from machine import Pin
from neopixel import NeoPixel
import time
import math

def yuragi(x): # 1/fゆらぎの生成
    if x < 0.5:
        v = x + x*x*2
    else:
        v = x-(1-x)*(1-x)*2
    if math.fabs(v - x) < 0.005:
        if v > 0.5:
            v = v - 0.01
        else:
            v = v + 0.01
    return v

rgb = NeoPixel(Pin('LED2',Pin.OUT), 1) # 'LED2'は開発ボードに合わせ'RGB'など適切な端子機能名に変更

xt = 0.1 # 初期値

while True:
    xt = yuragi(xt)
#    print(xt)
    rgb[0] = (55+int(xt*200),30,0) # 赤色をの明るさをゆるがせて、ベースに少し薄く緑色を追加
    rgb.write()
    time.sleep_ms(50)