В микроконтроллер ATtiny88 встроен датчик температуры. АЦП микроконтроллера ATtiny88 имеет 6 основных, а в корпусах с 32-мя выводами ещё два дополнительных входных канала. Кроме того, имеется ещё один входной канал АЦП с датчиком температуры.

Датчик температуры находится на кристалле микроконтроллера и который подключен к несимметричному входному каналу АЦП ADC8. При измерении температуры, в качестве источника опорного напряжения АЦП, должно быть выбрано внутреннее опорное напряжение 1,1 В.

Вывод напряжения питания для аналого-цифрового преобразователя AVCC должен быть внешне подключен к VCC, даже если АЦП не используется. Если используется АЦП, рекомендуется, чтобы этот вывод был подключен к VCC через LC фильтр нижних частот. Рекомендовано L=10mH, C=100nF.

Измеренное АЦП напряжение имеет линейную зависимость от температуры. Чувствительность составляет примерно 1 LSB / ° C, а точность зависит от метода пользовательской калибровки.

#include <SoftwareSerial.h>
SoftwareSerial mySerial(0, 1); // RX-зелёный, TX-белый

void setup() {
  //You must use the internal 1.1v bandgap reference when measuring temperature
  analogReference(INTERNAL);
  mySerial.begin(4800);
}

void loop() {
  //ADC_TEMPERATURE is #defined to be the channel for reading the temperature; this varies between parts.
  int temperature = analogRead(ADC_TEMPERATURE);
  mySerial.println(temperature);
  delay(1000);
}

Скетч 1. Пример программы, измеряющей температуру датчика температуры встроенного в микроконтроллер ATtiny88.