Oculta Arduino termómetro

¿Sabías que muchos chips Arduinos y ATtiny tienen un termómetro incorporado? La temperatura no está calibrada, por lo que se debe tomar un par de lecturas para caracterizarla. Encontré la idea original en el artículo - Termómetro de secreto . He añadido soporte para Leonardo, así como varios ATtinys y proporciona una función para la caracterización de lo.

Leyendo el Sensor de temperatura

Aquí está el código para leer los datos en bruto:

 long readTemp() { // Read temperature sensor against 1.1V reference #if defined(__AVR_ATmega32U4__) ADMUX = _BV(REFS1) | _BV(REFS0) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0); ADCSRB = _BV(MUX5); // the MUX5 bit is in the ADCSRB register #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(REFS1) | _BV(MUX5) | _BV(MUX1); #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADMUX = _BV(REFS1) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0); #else ADMUX = _BV(REFS1) | _BV(REFS0) | _BV(MUX3); #endif delay(2); // Wait for ADMUX setting to settle ADCSRA |= _BV(ADSC); // Start conversion while (bit_is_set(ADCSRA,ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both long result = (high << 8) | low; // combine the two return result; } 

Masaje de los datos en bruto

Una vez tengas los datos en bruto, se puede calibrar midiendo dos temperaturas conocidas y escala según corresponda. Esta es una función poco simple para llevar a cabo esa normalización:

 float normalizeTemperature(long rawData) { // replace these constants with your 2 data points // these are sample values that will get you in the ballpark (in degrees C) float temp1 = 0; long data1 = 274; float temp2 = 25.0; long data2 = 304; // calculate the scale factor float scaleFactor = (temp2 - temp1) / (data2 - data1); // now calculate the temperature float temp = scaleFactor * (rawData - data1) + temp1; return temp; } 

Calibración de

Para obtener las cuatro constantes necesarias, simplemente ejecute el llamado programa sketch el readTemp() función a temperatura ambiente. Tenga en cuenta la temperatura y los datos en bruto punto. Introduzca estos valores para cualquier conjunto de puntos de datos. A continuación, ya sea poner tu Arduino en el frigorífico o el horno (en una posición realmente baja) y medir los puntos de dos segundos datos. Reemplace las cuatro constantes con sus datos. No importa que orden que enumerarlos. También puede ingresar sus datos en grados centígrados o Fahrenheit. El cálculo lineal es independiente de las unidades mientras consistente en que sistema utilizas.

He probado este código en el Leonardo, pero también debería funcionar en la ONU, y ATtinyx4 y ATtinyx5 de la serie chips así. Si te gusta este truco, hay un compañero instructableartículo sobre Vcc de medición utilizando la referencia interna 1,1 voltios que pueda ser de interés también.

Artículos Relacionados

Arduino - termómetro analógico de LED

Arduino - termómetro analógico de LED

originalmente pensé que este proyecto podría ser demasiado básico para compartir en Instructables, pero desde entonces he realizado hay espacio para el aprendizaje en cada nivel de habilidad. Espero que lo disfruten.Después de leer numerosos libros y
Arduino - termómetro de diodo

Arduino - termómetro de diodo

diodos pueden utilizarse como sensores de temperatura. Aunque no son muy precisas pero son útiles para conseguir una lectura gruesa de la temperatura. He utilizado un diodo 1N4007 como mi sensor.Aquí encontrará detalles sobre el circuito y el código:
Termómetro de Arduino DIY con DS18B20

Termómetro de Arduino DIY con DS18B20

Hola, todo el mundo! Hoy voy a mostrarte cómo hacer LCD o serie * termómetro DS18B20 digitaltemperature sensor usando Arduino, protoboard, puentes. Así que usted puede medir la temperatura del aire, líquidos como el agua y la temperatura de la tierra
Termómetro de Arduino usando el Sensor de temperatura LM35

Termómetro de Arduino usando el Sensor de temperatura LM35

Termómetro de Arduino usando el Sensor de temperatura LM35 es una muy simple de implementar Arduino basado en proyecto. Su inició un proyecto perfecto si usted es un principiante y acaba prácticamente pruebas proyectos de Arduino.En este proyecto nos
Con un solo LED RGB o una tira de LED para mostrar información: reloj, termómetro y un comunicador raro

Con un solo LED RGB o una tira de LED para mostrar información: reloj, termómetro y un comunicador raro

Uno de los primeros proyectos que hice con un Arduino era una guirnalda de luces de Navidad. De hecho, fue hecho de una tira de LED RGB sencilla cortar en dos, como Arduino tiene sólo 6 salidas PWM de hardware. No quería triviales arcoiris y colores
Smart termómetro Personal con Arduino

Smart termómetro Personal con Arduino

Este instructable es preparado como parte de nuestra tarea para TfCD (tecnología para el diseño de concepto) el curso en TU Delft. Se prepara el siguiente instructivo:bo Koperdraat: 4209567Karthik Mahadevan: 4501578En este instructable aprenderá a co
Arduino OLED termómetro e higrómetro con DHT11 para principiantes

Arduino OLED termómetro e higrómetro con DHT11 para principiantes

¡ Hola! Voy a mostrarte cómo hacer un Arduino OLED termómetro e higrómetro * con DHT11.El OLED que utilizamos hoy en día es 1.3″ pulgadas en tamaño, características 128 × 64 píxeles y usa el Bus SPI. En el siguiente paso encontrará más información út
Siete segmentos Display termómetro - Arduino basado

Siete segmentos Display termómetro - Arduino basado

Hoy voy a mostrar cómo hacer su propio termómetro de 7 segmentos - 2 dígitos - con Arduino uno y sensor de temperatura DS18B20.Prefiero construir mi propio circuito de arduino basado usando el poseedor de uno de ATmega328p, pero esto es opcional para
Termómetro digital con Arduino

Termómetro digital con Arduino

Este proyecto utiliza un Arduino, un sensor de temperatura DS18B20 y una pantalla de LCD de 16 x 2 para mostrar la temperatura actual del aire. Se puede hacer con o sin un protoboard, pero un protoboard es mucho más fácil de alambre.Muestra la temper
Termómetro de Arduino

Termómetro de Arduino

Su caliente aquí en Los Ángeles! Además de la enorme sequía California es en su no tan cool por aquí últimamente. Quería construir algo para ver cuán caliente era realmente, y aquí está!Lea este instructivo y mal enseña cómo puede convertir unos poco
Termómetro de Arduino + LCD I2C

Termómetro de Arduino + LCD I2C

He decidido darle un divertido termómetro de concepto de Arduino en caso de que es el medio de la noche, las farmacias no están funcionando, no se siente bien y quiere comprobar la temperatura de su cuerpo. Si tienes Arduino a tu lado, este es un aho
Arduino LCD termómetro

Arduino LCD termómetro

Hola chicos este es Gaige TheEngineer aquí para darle un proyecto arduino básico: termómetro de la pantalla LCD de ArduinoEsto es algo que un niño de 12 años de edad puede hacer bastante fácil. Tan por favor disfruta y revisa mi canal de Youtube (aun
Arduino desde cero - Termómetro Digital

Arduino desde cero - Termómetro Digital

He querido hacer proyectos con Arduinos, pero $ 30 una pieza de sus proyectos se caro. Así que quiero mostrarte cómo puedes hacer tu propio Arduino desde cero y ahorrar dinero haciéndolo. Hacer tu propio Arduino para alrededor $8. Para este instructa
Termómetro de tira de LED Arduino

Termómetro de tira de LED Arduino

Había comprado recientemente una tira LED de Radio Shack (Nº de pieza: 2760339) que se basa en el chipset de TM1803 y estaba buscando un proyecto utilizar en.Me estaba inspirado termómetro habitación de un bebé de Gro-Egg que tenía, que los cambios d