背景
超小型マイコンであるAttiny202を使う。動作確認としてLチカをさせた。
Attiny202はUSB端子を持たないため、Arduino IDEから直接書き込むことはできない.そこでArduino unoを経由してプログラムを書き込む。
Arduinoの設定
Arduinoには、ATmega328PというマイコンとUSB-シリアル変換器が搭載されています。
AttinyはUARTではなく、UPDIという方式で書き込むため
jtag2updi(https://github.com/ElTangas/jtag2updi )をツールとして
PC → USB → arduino UNO → UPDI信号 → ATtiny202
の流れで書き込みます。
初期セットアップ
この動画(4:20~)を参照ください。
https://youtu.be/LIkqbkBBbU4?si=42wAXUyPG11z_zK_
書き込み時の手順
-
1.Arduino IDE を起動し、File → Sketchbook から、保存してある jtag2updi を開く。
これは初期セットアップ時と同じ手順です。環境によってはうまく書き込めなくなることがあるため、私は ATtiny に書き込む前に毎回この手順を実行 しています。 -
2.複数のタブが開くので、その中の jtag2updi.ino をコンパイルして、変換器として使う Arduino にアップロードする。
このとき、Tools > Board は Arduino Uno など、jtag2updi を書き込む側の Arduino に設定する。 -
3.Arduino への書き込みが終わると、その Arduino は ATtiny 書き込み用の変換器 として動作する。
次に、新しいスケッチ、または ATtiny に書き込みたいスケッチを開き、Tools を以下のように設定する。
・Programmer → jtag2updi
・Board → ATtiny202/402/412 (megaTinyCore)
・使用するマイコンに応じて、Chip も正しく設定する
※上手く書き込めない場合は、IDEを再起動し、1.からやり直すと改善する場合があります。
制作後
※Lチカさせています。コードのpinoutと接続ピンが違うので注意、
※基板は秋月さん(https://akizukidenshi.com/catalog/g/g118304/ 100円ってすごい、、、!
コード
const int ledPin = 4;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}


