ArduinoIDEでATtinyのモデル番号を判定する


UNO+ArduinoISPを使ってATtinyにスケッチを書き込む方法をこちらで 紹介しました。
スケッチによってはATtinyのモデルごとにピン番号を変えたくなることが有ります。
以下の様にdefineを使うことで、モデル毎にピン番号を変更することができます。
/*
 * ATtiny blink
 */
#if defined(__AVR_ATtiny84__)
  #define outPin 3  // PA7 with FemtoCow
#elif defined(__AVR_ATtiny85__)
  #define outPin 3  // PB3
#elif defined(__AVR_ATtiny861__)
  #define outPin 3  // PB6
#elif defined(__AVR_ATtiny461__)
  #define outPin 3  // PB6
#elif defined(__AVR_ATtiny2313__)
  #define outPin 3  // PA0
#elif defined(__AVR_ATtiny4313__)
  #define outPin 3  // PA0
#elif defined(__AVR_ATtiny13__)
  #define outPin 3  // PB3
#endif
#define wait 1000

void setup() {
  pinMode(outPin,OUTPUT);
  digitalWrite(outPin,LOW);
}

void loop() {
  digitalWrite(outPin,HIGH);
  delay(wait);
  digitalWrite(outPin,LOW);
  delay(wait);
}

DIPパッケージのATtinyで試していないのは、ATtiny281  ATtiny26  ATtiny13  ATtiny88ぐらいですが、
前の3つはFlashサイズが小さい(これらを使うならATtiny84/85/861で事足りる)、
ATtiny88は28ピンで大きすぎる(これを使うなら同じ28ピンのATMega328を使う)という理由で、
おそらく試すことは無いと思います。

続く....