Arduino Uno Rev3からATtiny-85へ書き込む
Arduino Uno R3を書込装置にしてATtiny-85へ書き込む際の自分用メモ(2度目の書き込み時にはまってしまったので)。
初期設定
Arduino IDEの「File」->「Preferences」を開き、「Settings」タブの「Additional Boards Manager URLs」へ以下を追加し「OK」をクリック。
http://drazzy.com/package_drazzy.com_index.json
「Tools」->「Board」->「Boards Manager」をクリックするとBoards Managerが開くので「attinycore」と入力し検索結果から「ATTinyCore by Spance Konde」を選択しインストール。
これで、「Tools」->「Board」->「ATTinyCore」を選べるようになる。ここまでは一度、Arduino IDEで設定しておけばOK。
書き込み
2回目以降の書き込みはここから。Arduino Uno R3、ブレッドボード(小さいやつで良い)、ジャンパワイヤー6本、電解コンデンサ10μF×1個を準備。
の順となる。なお、後者はジャンパワイヤ等でのArduino Uno R3とATtiny-85の接続が必要となるが、前者の作業時に後者の接続を行わず順に行う。
Arduino Uno R3を書き込み装置にする
Arduino Unoに何かをつないでいるようであれば、抜く。後述するATtiny-85への書き込み装置の準備もこの段階ではせずにArduino IDEを起動したマシンとのみ接続する。
「File」->「Examples」->「11.ArduinoISP」->「ArduinoISP」のスケッチを呼び出し、Arduino Uno R3へ書き込む。「Done uploading」となったらArduino Uno R3の書き込み装置化は終了。
書き込み装置にしたArduino Uno R3からATtiny-85へ書き込む
Arduino Uno R3をArduino IDEを起動したマシンから一旦外し、以下の通りATtiny-85と接続する。
GPIOなどはデータシートのPDF2ページ目を参照。ATtiny-85自体のピン番号とGPIOの番号は違うので注意が必要。
https://akizukidenshi.com/download/ds/atmel/attiny25_attiny45_attiny85.pdf
Arduino Uno | ATtiny-85 |
---|---|
D10 | 1 |
GND | 4 |
D11 | 5 |
D12 | 6 |
D13 | 7 |
5V | 8 |
Reset(+)とGNDを電解コンデンサ10μFで接続 |
あとはArduino IDEを起動したマシンとArduino Uno R3を接続し、「Tools」->「Board」->「ATTinyCore」->「ATtiny25/45/85」を選択。「Chip」->「ATtiny85」、「Clock Source」->「16Mhz」、など。
一度、「Tools」->「Burn Bootloader」を書き込み、その後、ATtiny-85へ書き込みたいソースコードを「Verify」->「Upload」->「Done Uploading」で終了。
なお、ATtiny-85のピン6番がGPIO 1となる。
ATtiny-85 | Pinout |
---|---|
1 | 5 |
2 | 3 |
3 | 4 |
4 | GND |
5 | 0 |
6 | 1 |
7 | 2 |
8 | VCC |
ピン6番(GPIO 1)をチカチカさせるLチカコードを書き込んでHelloworld。
void setup() { pinMode(1, OUTPUT); } void loop() { digitalWrite(1, HIGH); delay(500); digitalWrite(1, LOW); delay(500); }