前回Arduino Unoを使ってArduino Pro Miniにスケッチを書き込みました。
今回はArduino Pro Miniよりさらに小さいATtiny85というAVRマイコンにスケッチを書き込みたいと思います。
↓↓前回の記事はこちら↓↓
ATtiny85とは
とても小さなAVRマイコンです。AVRが何かはWikipediaなどを参照してください。
見た目はこんな感じです。
驚くべきはその小ささです。前回のArduino Pro Miniもかなり小さいですがATtiny85はもっとコンパクトです。並べてみるとその小ささがわかると思います。
こんなに小さいですが、最大クロックが20MHzでフラッシュメモリが8KBあるのでそれなりのプログラムを動かすことができます。
Arduinoスケッチを書き込む
今回もArduino Unoを使ってこのATtiny85にスケッチを書き込んでいきます。
書き込むスケッチは前回と同じLEDを1秒毎に点滅させるもの(Lチカ)です。
void setup()
{
pinMode(1, OUTPUT);
}
void loop()
{
digitalWrite(1, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(1, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
では、このスケッチを書き込むための準備を行っていきます。
まずはArduinoでATtiny85を使うためのライブラリをインストールしていきます。
「ファイル」-「環境設定」を選択します。
追加のボードマネージャのURLに「http://drazzy.com/package_drazzy.com_index.json」と入力し「OK」ボタンを押します。
「ツール」ー「ボード」ー「ボードマネージャ」を選択します。
テキストボックスに「attiny」を入力するとATtinyCoreが表示されるので「インストール」ボタンを押してインストールします。
次にArduino UnoにArduinoISPを書き込みます。これはArduinoをAVRマイコンの書き込み機として使う際に利用するスケッチです。
「ファイル」ー「スケッチ例」ー「11.ArduinoISP」を選択します。
ボードが「Arduino/Genuino Uno」になっていることを確認し、ArduinoISPのスケッチを書き込みます。
これでArduino Unoを書き込み機にすることができました。
次に、ブートローダの書き込みを行います。
※初回のみでOK
「ツール」を選択し、下記の設定にします。
ボード:ATtiny25/45/85
Chip:Attiny85
Clock:8 MHz(internal)
シリアルポート:Arduino Unoを接続しているポート
書込装置:Arduino as ISP
この状態で「ブートローダを書き込む」を選択します。
ブートローダの書き込みが完了したら、いよいよATtiny85にスケッチを書き込みます。
配線は以下のように行いLチカのスケッチを書き込みます。
Arduino Uno | ATtiny85 |
5V | 8番ピン |
GND | 4番ピン |
D10 | 1番ピン |
D11 | 5番ピン |
D12 | 6番ピン |
D13 | 7番ピン |
Reset⇒コンデンサ10µFの+ |
スケッチを書き込むために毎回この配線をするのは面倒なのでArduinoのシールドを自作しておくと便利かもしれません。
Lチカをやってみる
ATtiny85にスケッチを書き込めたなら実際にLチカを実施してみます。
問題なく動いていることが確認できました。
最後に
今回はATtiny85にArduinoのスケッチを書き込みLチカをやってみました。
こんなに小さなものが実際に動いているところを見ると感動し、色々なことができそうでワクワクしますね。
ATtiny85用のゲームなどを作っている方もいるようですので、いずれ触ってみたいと思います。
コメント
参考にさせていただきました。
ATTINY85のピン配置図を記載されていたら他の方にも役立つかと思います。