NeoPixel系のLEDをコントロールするのにATtiny202を使ってみています。
NeoPixel系のLEDリングをATtiny202を使ってシリアル接続のモジュールにしてみた

動作は問題がないのですが,ATtiny202ではバッファにとれるメモリが少なく,私のプログラムではRGBLEDが24個ぐらいのコントロールが限界でした。

そこで,ATtiny202と同じ系列で手に入るマイコンとしてRAMが1KBあるATtiny1604を試してみました。


システム構成はATtiny202をATtiny1604に変更しただけです。





ATtiny1604の書き込みなどの環境設定はATtiny202と同様で,ArduinoIDEではチップ名を変更し,書き込み機からのUPDIのピンを変更するだけです。

ATtiny202をArduino IDEで使うための環境整備のメモ


ATtiny1604の14Pinの配列です。



(Github https://github.com/SpenceKonde/megaTinyCore/blob/master/megaavr/extras/ATtiny_x04.md より一部転載)



動作結果です。特に問題なく動いています。





ただ,最大の目的はコントロールできるLED数を増やすためにバッファを多くとることだったのですが,,,どうも200個のRGBLED,600byteぐらいのバッファで限界のようです,,。

目標としていた256個のLED設定では動きませんでした(;_;)。


プログラムで200個のLEDを設定してダウンロードしたところ,バッファにも使うグローバル変数はRAMの60%を使用しているようでした。




うむ,ローカル変数の使用量にどれぐらいを見込むべきなのか,,わかりませんねぇ(^^;;;;;;;;;。


ま,ATtiny1604がATtiny202と同じプログラムとタイミングで動く事,RGBLEDが200個ぐらいまでコントロールできるバッファがとれる事などは分かりました。

また,ATtiny1604は1個100円ほど,今回はマルツで110円ぐらいで手に入りましたが,なかなか使いでがありそうで良かったですV(^^)。