В микроконтроллер 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.