Most AVR chips (microcontrollers) have an internal temperature sensor, hence we can use this option to get temperature range in rare condition, this might show higher than external temperature. Before step into Arduino Internal temperature Sensor experiment make sure your Arduino board micro controller have internal temperature sensor.
List of AVR microcontrollers having internal temperature sensor given,
ATmega168A : Yes
ATmega168P : Yes
ATmega328 : Yes
ATmega328P : Yes
ATmega32U4 (Arduino Leonardo) : Yes
Refer your Arduino board chip to know about the internal temperature sensor.
The internal temperature of microcontroller varies depends on its work load.
To measure temperature in degree Celsius.
[stextbox id=”info”]temperature = (ADCW – 324.31) / 1.22;[/stextbox]
Arduino internal temperature sensor Code
// Internal Temperature Sensor // Example sketch for ATmega328 types. // www.theorycircuit.com // Arduino Internal temperature sensor void setup() { Serial.begin(9600); Serial.println(F("Internal Temperature Sensor")); } void loop() { // Show the temperature in degrees Celcius. Serial.println(GetTemp(),1); delay(1000); } double GetTemp(void) { unsigned int wADC; double t; // The internal temperature has to be used // with the internal reference of 1.1V. // Channel 8 can not be selected with // the analogRead function yet. // Set the internal reference and mux. ADMUX = (_BV(REFS1) | _BV(REFS0) | _BV(MUX3)); ADCSRA |= _BV(ADEN); // enable the ADC delay(20); // wait for voltages to become stable. ADCSRA |= _BV(ADSC); // Start the ADC // Detect end-of-conversion while (bit_is_set(ADCSRA,ADSC)); // Reading register "ADCW" takes care of how to read ADCL and ADCH. wADC = ADCW; // The offset of 324.31 could be wrong. It is just an indication. t = (wADC - 324.31 ) / 1.22; // The returned temperature is in degrees Celcius. return (t); }
Steps to Use Arduino Internal Temperature Sensor:
Step 1: Check the Arduino board Chip about Internal temperature sensor.
Step 2: Connect Arduino with system.
Step 3: Upload the Arduino code for Internal temperature sensor.
Step 4: Obtain the temperature reading in Arduino Serial Monitor.
Prototype
How it Works?
how to calculate temperature offset value??explain in detail…