Tabla de contenido:

Medición de temperatura con XinaBox y un termistor: 8 pasos
Medición de temperatura con XinaBox y un termistor: 8 pasos

Video: Medición de temperatura con XinaBox y un termistor: 8 pasos

Video: Medición de temperatura con XinaBox y un termistor: 8 pasos
Video: 👉DIY Nuevo kit medidor de temperatura y humedad WIFI. Reporta a tu celular estés donde estés📱⚡ 2024, Noviembre
Anonim
Medición de temperatura con XinaBox y un termistor
Medición de temperatura con XinaBox y un termistor

Mide la temperatura de un líquido usando una entrada analógica xChip de XinaBox y una sonda termistor.

Paso 1: Cosas utilizadas en este proyecto

Componentes de hardware

  • XinaBox SX02 x 1 xChip sensor de entrada analógica con ADC
  • XinaBox CC01 x 1 xChip versión de Arduino Uno basada en ATmega328P
  • Resistencia 10k ohmios x 1 resistencia de 10k para red divisor de voltaje
  • Sonda de termistor x 1 10k a 25 ° C Sonda de termistor impermeable NTC
  • Programador USB XinaBox IP01 x 1 xChip basado en FT232R de FTDI Limited
  • XinaBox OD01 x 1 xChip Pantalla OLED de 128x64 píxeles
  • XinaBox XC10 x 4 conectores de bus xChip
  • XinaBox PU01 x 1 xChip USB (Tipo A) Fuente de alimentación
  • Fuente de alimentación USB de 5V x 1 Power Bank o similar

Aplicaciones de software y servicios en línea

IDE de Arduino

Herramientas manuales y máquinas de fabricación

Destornillador de punta plana Para apretar o aflojar la abrazadera del terminal de tornillo

Paso 2: historia

Introducción

Quería medir la temperatura de un líquido creando un termómetro simple. Al usar XinaBox xChips, pude lograr esto con relativa simplicidad. Usé el xChip de entrada analógica SX02 que acepta 0 - 3.3V, el xChip CC01 basado en el ATmega328P y el xChip de pantalla OLED OD01 para ver mis resultados de temperatura.

Termistor que mide la temperatura del agua en un vaso.

Paso 3: descargue los archivos necesarios

Necesitará las siguientes bibliotecas y software:

  • xSX0X: biblioteca de sensores de entrada analógica
  • xOD01 - Biblioteca de pantallas OLED
  • Arduino IDE - Entorno de desarrollo

Haga clic aquí para ver cómo instalar las bibliotecas.

Una vez que haya instalado el IDE de Arduino, ábralo y seleccione "Arduino Pro o Pro Mini" como la placa para cargar su programa. También asegúrese de que esté seleccionado el procesador ATmega328P (5V, 16MHz). Vea la imagen a continuación.

Seleccione la placa Arduino Pro o Pro Mini y el procesador ATmega328P (5V, 16MHz)

Paso 4: ensamblar

Haga clic en el programador xChip, IP01 y el CC01 xChip basado en ATmega328P juntos usando conectores de bus XC10 como se muestra a continuación. Para cargar al CC01, deberá colocar los interruptores en las posiciones 'A' y 'DCE' respectivamente.

IP01 y CC01 hicieron clic juntos

Luego, tome su resistencia de 10kΩ y atornille un extremo en el terminal marcado "IN" y el otro extremo en el terminal de tierra, "GND", en el SX02. Tome los cables de la sonda del termistor y enrosque un extremo en Vcc, "3.3V", y el otro extremo en el terminal "IN". Vea el gráfico a continuación.

Conexiones SX02

Ahora combine OD01 y SX02 con CC01 simplemente haciendo clic juntos usando los conectores de bus XC10. Vea abajo. El elemento plateado de la imagen es la sonda del termistor.

Unidad completa para programación

Paso 5: Programa

Inserte la unidad en el puerto USB de su computadora. Descargue o copie y pegue el código a continuación en su IDE de Arduino. Compile y cargue el código en su tablero. Una vez cargado, su programa debería comenzar a ejecutarse. Si su sonda está a temperatura ambiente, debe observar ± 25 ° C en la pantalla OLED como se muestra a continuación.

Después de cargar, observe la temperatura ambiente en la pantalla OLED

Paso 6: termómetro portátil

Retire la unidad de su computadora. Desmonte la unidad y vuelva a montarla utilizando PU01 en lugar de IP01. Ahora tome su fuente de alimentación portátil USB de 5 V, como un banco de energía o similar, e inserte el nuevo conjunto en ella. Ahora tiene su propio termómetro portátil con buena precisión. Vea la imagen de portada para verlo en funcionamiento. Medí agua caliente en un vaso. Las siguientes imágenes muestran su unidad completa.

Unidad completa compuesta por CC01, OD01, SX02 y PU02.

Paso 7: Conclusión

Este proyecto tomó menos de 10 minutos para ensamblar y otros 20 minutos para programar. el único componente pasivo requerido era una resistencia. Los xChips simplemente hacen clic juntos, lo que lo hace muy conveniente.

Paso 8: Código

ThermTemp_Display.ino Arduino Investigue los termistores para comprender los cálculos en el código.

#include // incluye la biblioteca principal para xCHIP

#include // incluye biblioteca de sensores de entrada analógica #include // incluye biblioteca de pantalla OLED #include // incluye funciones matemáticas # define C_Kelvin 273.15 // para conversión de kelvin a celsius #define series_res 10000 // valor de la resistencia en serie en ohmios #define B 3950 // Parámetro B para termistor #define room_tempK 298.15 // temperatura ambiente en kelvin #define room_res 10000 // resistencia a temperatura ambiente en ohmios #define vcc 3.3 // tensión de alimentación xSX01 SX01 (0x55); // establece el voltaje flotante de la dirección i2c; // variable que contiene el voltaje medido (0 - 3.3V) float therm_res; // resistencia del termistor float act_tempK; // temperatura real kelvin float act_tempC; // temperatura real en celsius void setup () {// ponga su código de configuración aquí, para que se ejecute una vez: // inicialice las variables a 0 voltage = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // iniciar la comunicación en serie Serial.begin (115200); // iniciar la comunicación i2c Wire.begin (); // inicia el sensor de entrada analógica SX01.begin (); // iniciar la pantalla OLED OLED.begin (); // borrar la pantalla OD01.clear (); // demora para normalizar demora (1000); } void loop () {// ponga su código principal aquí, para que se ejecute repetidamente: // lea el voltaje SX01.poll (); // almacena el voltaje de volatge = SX01.getVoltage (); // calcular la resistencia del termistor therm_res = ((vcc * series_res) / voltage) - series_res; // calcula la temperatura real en kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // convierte kelvin a celsius act_tempC = act_tempK - C_Kelvin; // imprimir la temperatura en la pantalla OLED // formateo manual para mostrar en el centro OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); retraso (2000); // actualiza la pantalla cada 2 segundos}

Recomendado: