RGBマトリクスLEDには、信号線1本で制御できるタイプがあると知り、16x16のものを買ってみました。
以下のWS2812Bを並べたものです。

https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf

これを使って、クイズ番組のアタック25で石を置いていくルールを多少アレンジしたイルミネーションを作ってみました。
買い置きがあるマイコンの中で最弱のDigispark(互換品)で作ってみました。
FastLEDライブラリを使えば簡単ですが、少なくともLED数x3バイトのワークが必要なので使えません。
# Digisparkで使われているATTiny85のRAMは512バイト
使用する色はデジタルRGBの7色でいいので、FastLEDは使わないことにして、LEDに送信する部分から作りました。
正確なタイミングを生成する部分はインラインアセンブラを使っています。
点灯するルールは以下の通り。

一辺が偶数なので、初期配置は中央に4つ、ランダムな色を置く。
ターンごとにランダムに一色選び、
(1) 挟める場合はその候補からランダムに置く。
(2) ない場合、次も自分のターンが続けば挟める場所の候補からランダムに置く。
(3) それもない場合、他の石に隣接する場所(斜めを含む)の中からランダムに選んで置く。
全て埋まったら終了とし、色をソートしたあと、各色をカウントし、ベスト3を表示する。

SEも付いています。
3和音で、それぞれの音でリリースレートを変え、ディストーションもかけています。

5V20Aの電源を用意したのですが、BRIGHTNESS:0xff(最大)では眩しすぎます。
全部白だと10A近く流れ、熱もすごいです。
0x18で全部白だと1Aちょっとだったので、これくらいなら5V1AのACアダプタで済みます。
# 全部白になる確率はほぼ0

回路はとても簡単です。


写真では白っぽく写っていますが、肉眼で見るともっと鮮やかな色です。


https://github.com/kwhr0/Digispark-Attack256

このページの情報は自由に使用できますが、いっさいの保証もサポートもありません。
何らかの損害を受けたとしても、免責とします。