1
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?

(小ネタ)PL9823とWS2812B(旧Ver.)は同一バス上で制御できるか?

Last updated at Posted at 2023-12-09

あまりやろうとする人も居ない気もしますが、シリアルRGBフルカラーLEDの PL9823と、WS2812Bを両方使ったモノを作りたくなったので、基板データを作り始めました。

しかし、よくよく考えてみるとこの2つのLED、互換性があるとはどこにも書いてないようです。

(疑問) 君たち、同じバスで...動くの?

leds.png

左が PL9823、 右が WS2812B

情報を漁る

WS2812Bの方はめちゃくちゃ普及してて、カラーLEDがたくさん並んだLEDテープライトとかは、だいたいこれなので、Arduinoとかでも簡単に制御できます。ライブラリとかも これ とかが使えます。もちろん私も使う気満々です。

一方で、砲弾型が使いたい!という理由で追加したPL9823の方は、というと、販売元の秋月電子のサイトを見ると、少し情報がわかりにくいです。 WS2811(内蔵しているIC) PDFデータシート というリンクがあるので内蔵ICは WS2811互換?に見えるのですが、このデータシートを見ると電圧が 12Vとあります。

同じページにある PL9823-F5 PDFデータシート を見ると、[Power supply DC4.5-6V]とありますので、WS2811とは明らかに仕様が違いそうです。3.7-5.3VのWS2812Bとも違うみたいです。

なんとなく、データ制御まわりは WS2811 互換? で、 電気特性は独自、ってことっぽい気がします。

さらに WS2812B の方も最近バージョンアップして仕様が変わったとの情報もあります。

私の家にストックしてある WS2812Bは5年以上前に買ったリール(1000個!)なので、明らかに新Ver.ではなさそうですが、秋月で買ったものではないので、秋月の旧Ver.とも違う可能性もありますが、おそらく旧Ver.だと思います(リールに詳細Ver.の情報はないので確認難しい....)

うん。わからん!

実験するしかなさそうだ。

情報だけ漁ってても、よくわかりません。
仕方ないので、重い腰をあげて実験開始です。

実験回路

下記のような回路で実験しました。

WS2812B 1コ、PL9823 1コ、計2個だけで実験です。

schematics.png

こういう時は 5Vの Arduino UNOとか使った方が明らかに楽ですねー。
面倒ですが、作ろうとしている基板のマイコンにXIAO RP2040を使いたかったので、そちらで実験してみました。

地味に、表面実装用のWS2812BにLEDの足を移植するハンダ付けと、レベルシフター回路部分をブレッドボードに刺せるようハンダ付けするのが面倒でしたが、それらが終わればあとはブレッドボードに雑に組めました。

breadboard.jpeg

本当に雑!

実験スケッチ

Arduino で簡単なスケッチを書いて XIAO RP2040に書き込みます。

rgbledtest.ino / .cpp
#include <Adafruit_NeoPixel.h>

#define LED_PIN D7

Adafruit_NeoPixel pixels(2, LED_PIN);

void setup() {
}

int out = 0;

void loop() {
  out ^= 1;
  
  pixels.setPixelColor(out, pixels.Color(0, 0, 32));
  pixels.show();
  delay(1000);
  pixels.setPixelColor(out, pixels.Color(0, 32, 0));
  pixels.show();
  delay(1000);
  pixels.setPixelColor(out, pixels.Color(32, 0, 0));
  pixels.show();
  delay(1000);
  pixels.clear();
  pixels.show();
  delay(1000);
}

結果

動きました!

video.gif

が、ここで1点気づきが!

  • pixels.Color(R, G, B)が、PL9823では pixels.Color(G, R, B) になってるようです。Rを指定するとGが光り、Gを指定するとRが光ります。

ソフトウエア側でなんとかなりそうなので、問題ないということで!(雑!)

データシートを確認

WS2811(PL9823)
2811.png

WS2812B
2812B.png

なんでこんなところ変えたのかなー?

まとめ

  • PL9823とWS2812B(旧Ver.)はとりあえず同一バス上で動きました!
  • PL9823とWS2812Bは、制御コマンドのRGB指定の並びが異なる
  • 細かい互換性のチェックはできてないです。何か問題が発生するかもしれません。

というわけで、基板データの続きやります。

リファレンス(多謝!)

下記サイトを参考にさせていただきました。

1
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
1
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?