2026年10月24日土曜日

シリアル制御フルカラーテープLEDを使う(その2)

 さて、このSK6812にはどのような制御信号を与えれば良いのだろうか。仕様は次の様になっている。

 超音波距離計で使ったPL-9823と今回のSK6812の制御信号の違いは1を表すコードのデューティ比がSK6812では1:1(=50%)になっている点だ。この信号の生成には超音波距離計に準じて次の論理式で可能だろう。

    0 code = /SDO & SCK & Fosc/2

    1 code = SDO & SCK  

    PWMパルス = 0 code + 1 code 

ここでSDOはSPIの出力、SCKはSPIのクロック、そしてFosc/2はCLKRを使ってFoscを2分周して生成できる。 

このLEDを駆動する標準的なデータレートは800Kbpsだが、PIC16F18326で生成できるこれに近いデータレートは750Kbpsだ。1個のLEDに与えるデータは24bitなので1個駆動するのに32μsかかり、テープ1本即ち30個のLEDを駆動しようとすると1ms弱かかる。もしテープを10本繋げると100回/秒の速度で書き換えが可能だ。

一方 ソフトを考えると1個のLEDに3バイト(=24bit)のデータバッファーが必要であり、30個なら90バイト、テープ10本なら900バイトが必要になる。PIC16F18326のスタティックメモリーは2KBしかないのでこれくらいが限界と考えて良さそうだ。

 (続く)

 

シリアル制御フルカラーテープLEDを使う

知り合いから 店の前に置く看板を目立たせたいとの相談を受けた。色々考えたがシリアル制御のフルカラーテープLEDを使うのが応用範囲が広そうなので挑戦してみる事にした。要は前に作った「超音波距離計(その4)」に使ったフルカラーLEDの応用だ。

早速秋月に行って手頃なSK6812搭載の1mのテープを買ってみて超音波距離計に繋いでみた。

もちろん信号がLEDの仕様が合っていないので正常には動作しないがLEDの明るさや信号に応答する事は確認できた。

そこで早速回路を考えてみた。端子はそれほど必要ないので超音波距離計に使ったPIC16F18346 ではなく足しの数の少ない PIC16F18326 を使おう。この1mのテープの最大消費電力は6W/5Vなので最大1.2Aの電流が流れる。テープの両端には3端子のコネクタが接続されている。3端子の内訳は+/-の電源と制御用の信号だ。テープは直列に何本も繋げられるが、あまり長くすると最初のコネクタやテープに流れる電流が限界を超えるだろう。長く連結する場合は電源はテープごとに個別に与えるのが良さそうだ。

この回路で基板を起こした。大きさは5cm×5cm程度になった。
早速これを発注した。

(続く)