Arduinoを使ってATtiny85にプログラムを書き込む

Arduino Nano を ISP (In-System Programmer) にする

Arduino IDE のファイルメニューの Examples から ArduinoISP のサンプルスケッチを開く。 ボードとポートを選択し、スケッチを Arduino Nano にアップロードする。 アップロードした後、Arduino と ATtiny85 の接続を開始できる。

以下は ATtiny85 のピン配置図です。VCC と GND、6 つの PB (Port B) ピンがある。 alt

データシート: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet-Summary.pdf

次の表のように Arduino と ATtiny85 を接続する。

Arduino Nano ATtiny85
5V VCC
GND GND
D10 (SS) PB5
D11 (MOSI) PB0
D12 (MISO) PB1
D13 (SCK) PB2

また、ATtiny にプログラムをアップロードする際にリセットされないように、Arduino の RESET ピンと GND ピンの間に 10uF コンデンサを追加する。

ATtiny85 にブートローダを書き込む

まず、Arduino IDE で ATtiny へのサポートを有効にする必要がある。 Preferences の Additional Boards Manager URLs に次の URL を追加: https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

そしてボードマネージャに移動し、attiny を検索してインストールする。

alt

インストールしたら、ブートローダを書き込むするための準備ができた。 Tools メニューで次のように設定し、”Burn Bootloader” を選択すると、ブートローダの書き込みが始まる。

  • Board: ATtiny25/45/85
  • Processor: ATtiny85
  • Clock: Internal 8 MHz
  • Programmer: Arduino as ISP

alt

コードのアップロード

ブートローダを ATtiny85 に書き込んだ後、コードをアップロードできる。 コードをアップロードするには、通常の Upload アイコンをクリックするのではなく、 Sketch メニューから Upload using programmer を選択する。

また、コードのアップロードを容易にするために、ユニバーサル基板や 8 ピン DIP ソケットなどで以下の画像のようなものを作った。

これでブートローダの書き込みとコードのアップロードが楽になる。