以前、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、ちょっとずつ使えるようになってきて楽しいです。