Arduino STM32のWS2812Bライブラリ(NeoPixel制御ライブラリ) その1
Arduino STM32には、WS2812Bライブラリ(NeoPixel制御ライブラリ)が、
標準で(最初から)用意されています。
このライブラリを使いたいと思い、ドキュメントが無いので
プログラムソースから日本語ドキュメントを作成しました。
Arduino STM32 リファレンス 日本語版
┗ WS2812Bライブラリ(NeoPixel制御ライブラリ)
ドキュメントを作成し、ライブラリの仕様を理解した上で
さっそく、BluePillボードで動作確認してみました。
ダメです。このライブラリ、まともに動作しません。
LEDが全く点灯出来ません。
色々とソースを修正して現時点で、やっとLED点灯するももの、
意図したとおりに制御出来ません。
このライブラリはSPIを使ってパルスを生成しています。
システムクロック72MHzを1/32に分周した2.25MHzのパルス幅 0.444μSを使っています。
パルス幅 0.444μSは許容範囲、
1ビットのデータは3パルス幅、
1つのLEDのRGBデータが24ビット、
1つのLEDは3×24=72パルス、
SPIは8パルス(8ビット)なので9バイト分、
これなら1個のLED単位でなんとか制御出来そうなのですが、リセット信号のがマズいようです。
ソースを見た限り、リセット信号の送信がされていないみたいなのですが..
更新
1ビット分の3パルスが0.444μS×3= 1.332 μS、
1.25 μS を超えているのがマズいようです。仕様では±0.6μSは許容範囲なのですが駄目っぽい。
24ビット分のデータの前半と後半部分がちゃんと受信されていないようです。
データはGRB(緑、赤、青)の順番で送信するのですが、
1点ルーレット表示は赤しかちゃんと点灯しません。
現在、ライブラリ修正中です。
« ココログのリニューアル後の不具合、2ヶ月経っても改善されず... | トップページ | Arduino STM32でキャラクタ液晶ディスプレイを使う »
「arduino」カテゴリの記事
- Freenove Mecanum ホイール カー キットを購入しました(2025.05.28)
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Zorin OSでArduino Uno互換機(CH340)が認識しない(2025.01.19)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- Arduino用 SKK日本語変換ライブラリの開発 その1(2024.12.28)
「STM32」カテゴリの記事
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- 「Arduino STM32 リファレンス 日本語版」が2万アクセス突破!(2021.03.26)
- SPI接続フラッシュメモリモジュールを入手しました(2020.05.13)
- Arduino STM32でキャラクタ液晶ディスプレイを使う(2019.06.01)
« ココログのリニューアル後の不具合、2ヶ月経っても改善されず... | トップページ | Arduino STM32でキャラクタ液晶ディスプレイを使う »
コメント