はじめに
Arduino UnoでNeoPixelは簡単に動いた。
でもスペック足りていない感じだったので、
ESP32でも動かせるかどうか試した備忘録です。
同じプログラムを動かそうとすると動かない
どうもエラーが起きているが様子がわからない。
シンプルなプログラムで試す
ExampleのGetChipIDのコードにNeoPixelの最初の方のコードを入れたところ、
やっぱり発生する。
Adafruit_NeoPixelの初期化が悪いのかな?
PINを6から7に変えてみる
あれ、エラーでないな。PIN6がダメなのかな?
(そんなことあるのだろうか・・・?)
んー。とよくみると
あ、これ、7じゃなくて、17じゃん。
うごいた!!
ESP32でNeoPixel pic.twitter.com/mcIFIDHWC3
— tatmos (@tatmos) 2019年1月2日
でもちょっと、荒ぶってますね・・・
showの前にdelay(1)を入れると良いらしい。
showの前にdelay(1)を入れたところ pic.twitter.com/x4gZ4TcYVv
— tatmos (@tatmos) 2019年1月2日
まとめ
Arduinoとまったく同じコードが動くわけではないということがわかった。
ハード的に違うものね・・・
追記
Arduinoではadafruit_NeoPixelライブラリを使っていたけど、
ESP32で使おうとするといくつかのLEDが違う色が出てしまう感じだった。
で、いろいろ探してみると
ESP32では、FastLEDを使うと良さそう。