有名なWS2812Bのようなアドレス指定可能なRGBおよびRGBW LEDを使用すると、エンジニアは限られた予算で素晴らしい照明効果を適用できます。この興味深い プロトコルを詳細に検討しましたが、物事を「明るく」したい場合は、 Adafruit NeoPixelライブラリを使用できます。
NeoPixelライブラリはArduinoおよびAdafruitボードでは問題なく動作しますが、 ATtiny85 ではどうでしょうか?この小さなチップは、 プログラム可能なLED バンクを単独で実行できますか?簡単に答えると「はい」ですが、ATtiny85を正常に動作させるにはいくつかの変更を加える必要があります。
ArduinoでATtiny85 RGB LEDをプログラミングする
開始するには、次の手順に従ってください。
1.Arduino IDEにAdafruit NeoPixelライブラリをインストールします。これは通常、ライブラリ マネージャー (メニューまたはCtrl + Shift + I) を介して検索とインストールを実行するだけです
2. 付属の例 (ここでは「strandtest」を使用します) をロードし、LEDの数やRGB LEDモジュールのチェーンを実際に制御するピンなどのオプションをカスタマイズします
3. ATtiny85の場合は、 Arduino IDEをセットアップします (まだセットアップしていない場合)。チップの物理ピンはArduino IDEと同じように番号が付けられていないことに注意してください。そのため、 この図 を参考にしてください。LED制御に1つのピンだけが必要な場合は、Arduino IDEのピン0 (物理ピン5) がチップのドットの反対側の角にあります
4. [ツール] で、ボードを [ATtiny25/45/85] に、プロセッサをATtiny85に設定します
5. このライブラリは工場出荷時の設定では動作しないため、クロック速度として [内部8 MHz] を選択します
6. ATtiny85とプログラマを接続したら、[ブートローダーの書き込み] をクリックして、チップをこの速度で実行するように指示します
16 MHzクロックも動作する可能性がありますが、テストには含めませんでした。また、使用するLEDに応じて、他のオプションを変更する必要がある場合もあります。
アップロードしてGo!!
プログラマーを使用して変更したサンプル コードをアップロードします。電源とアースのリード線を電圧源に接続し、信号入力をATtiny85で割り当てたピンに接続します。すべてが正しく接続されていれば、さまざまな色の変化が見られ、1つまたは複数のアドレス指定可能なLEDを制御するための非常にコンパクトなセットアップが実現します。
PlatformIOでのATtiny85プログラミング
ここでVisual Studio Codeを使用して紹介されているように PlatformIOを使用している場合は、このIDEを使用してATtiny85をプログラムすることもできます。このテーマに関するステップバイステップのチュートリアルは説明しませんが、これに対応する 基本的なサンプル コード を確認することはできます。コードを実行するには、適切なライブラリが必要で、ATtiny85を8 MHzで動作するように設定する必要があります。私はArduino IDEを使用してクロック速度を設定しました。
最後に、チップに合わせてplatformio.iniファイルを変更します。私にとってうまくいった構成は以下の画像で確認できます。