以前、ArduinoでNeoPixelを光らせていたのですが、今回はAVR単体で動かしてみました。
今回使用したのはATmega8です。
Arduinoで動かしたときの記事はこちら。
ATmega8への書き込みは、今までと同様にArduino経由で行います。
ボードパッケージは、以前使ったものにATmega8が含まれていたので、それを使います。
その時の手順は過去の記事にまとめています。
だいたい必要な準備は揃った状態でしたので、使ったものを簡単にまとめておきます。
- 使用したArduinoライブラリ:Adafruit NeoPixel
- 追加したボードパッケージ:MiniCore
- 使用したAVR:ATmega8
- NeoPixel型番:WS2812B
ヒューズビットの設定は下記のようにしました。
ここでの注意点は、クロック周波数くらいでしょうか。
今回は内部の8MHzを使用しました。
周波数が低すぎると、NeoPixelが正しく動作しない可能性があります。
書き込み装置のArduino NanoとATmega8の配線は下記のようにします。
ATmega8のピン配置は、ATmega88と同じですね。
スケッチはArduinoの時と同じもので大丈夫です。
使用するピンだけ気にすればOK。
今回は信号線に470Ωの抵抗も入れておきました。
動作確認した時の様子がこちらです!
試しに単三電池2本を繋げてみたら、何故か動きました。
エネループを使ってるので、確実に3V以下なんですけど…。
ATmega8の動作電圧は4.5~5.5V。
NeoPixelの動作電圧は3.7V~5.3Vなんですよね…。
こんなにシンプルな構成でNeoPixelを光らせることができるなら、何かを作るときに小型化が狙えそうですね。
ちなみにNeoPixelは好きな数だけ切り出して使えるので、1つ手元にあると色々と遊べて楽しいですよ。
しかし、これだとATmega8が大きすぎるくらいなので、8ピンのATTiny85などが良さそう。
AVR、ちょっとずつ使えるようになってきて楽しいです。