Arduino Unoを使ってATtiny85にスケッチを書き込む

Arduino

前回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 UnoATtiny85
5V8番ピン
GND4番ピン
D101番ピン
D115番ピン
D126番ピン
D137番ピン
Reset⇒コンデンサ10µFの+

スケッチを書き込むために毎回この配線をするのは面倒なのでArduinoのシールドを自作しておくと便利かもしれません。

Lチカをやってみる

ATtiny85にスケッチを書き込めたなら実際にLチカを実施してみます。

問題なく動いていることが確認できました。

最後に

今回はATtiny85にArduinoのスケッチを書き込みLチカをやってみました。

こんなに小さなものが実際に動いているところを見ると感動し、色々なことができそうでワクワクしますね。
ATtiny85用のゲームなどを作っている方もいるようですので、いずれ触ってみたいと思います。

コメント

  1. 木村 より:

    参考にさせていただきました。
    ATTINY85のピン配置図を記載されていたら他の方にも役立つかと思います。

タイトルとURLをコピーしました