はじめに
前回はRaspberry PiのPythonによるNeoPixelの制御方法を述べました。本記事ではPICマイコンによるNeoPixelの制御方法を書いて参ります。
ウェブやXを検索すると,PICマイコンの中でもCLC (configurable logic cell)を搭載するタイプにて,SPIとCLCを巧く組み合わせる方法が知られていることが分かりました。Microchip社のアプリケーションノートAN1606にもPIC16F1509のCLCを用いたNeoPixelの制御方法が紹介されております*1。この方法では,SPIモジュールが送信している最中にPICマイコンのコアでは別の処理が可能となるというメリットがあります。
本記事ではそのようなスマートな方法ではなく,単純にI/OポートをHigh/Lowに制御するだけという脳みそ筋肉なシンプルな方法でNeoPixelを点灯させるべく試行錯誤した結果をまとめます。また,ボタン電池(CR2032)にてNeoPixel (WS2812B)を点灯できるか否かについても確認した結果を報告します。
完成イメージ
図1にPIC12F1840を用いたNeoPixel実験基板を示します。PIC12F1840はCLCを持っていませんが,1個のNeoPixel (WS2812B)を制御できました。また,WS2812Bのデータシートによると電源電圧(VDD)は+3.7 V ~ +5.3 Vとなっておりますが,それよりも低い電圧(消耗具合や負荷にも拠りますが2.5 ~ 2.8 V程度)しか出ていないボタン電池CR2032でも,さらにはVDDをPICマイコンのI/Oポートから供給しても点灯させることができました。










