Cómo utilizar la RTD PT100 con Arduino Cloud
Usar un RTD PT100 (Detector de Temperatura de Resistencia) con un Arduino y conectarlo a la Nube IoT de Arduino a través de Wi-Fi te permite monitorizar remotamente las temperaturas con alta precisión y fiabilidad. En este tutorial, te guiaremos a través del proceso de configuración de tu sensor PT100 con un Arduino que tenga capacidades Wi-Fi, y luego integraremos los datos en Arduino Cloud para la monitorización remota y el registro.
Qué necesitarás
- Sensor de temperatura RTD PT100
- Amplificador/Módulo RTD – Por ejemplo, un Amplificador Adafruit MAX31865, que está específicamente diseñado para RTDs.
- Arduino con capacidad Wi-Fi – Arduino MKR WiFi 1010 , ESP32, o similar.
- Cables puente
- Cuenta Arduino IoT Cloud
Comprender el sensor PT100 y el amplificador
El sensor RTD PT100 cambia de resistencia en respuesta a la temperatura. La resistencia del PT100 es de 100 ohmios a 0°C y cambia linealmente con la temperatura. Para interconectarlo con el Arduino, necesitas un amplificador como el MAX31865, que convierte los cambios de resistencia en señales digitales legibles por el Arduino.
Paso 1: Cableado de la RTD PT100 y el amplificador
Conecte la RTD PT100 al amplificador. La mayoría de los amplificadores RTD como el MAX31865 vienen con entradas etiquetadas para configuraciones RTD de 2, 3 o 4 hilos. He aquí cómo conectar una RTD PT100 de 3 hilos a un módulo MAX31865 y luego conectar el módulo al Arduino
Sensor PT100 a MAX31865:
- Conecta un lado del RTD a la patilla RTD+.
- Los otros dos cables van a las conexiones RTD- y RTD Middle (siga el etiquetado del módulo específico).
Amplificador MAX31865 a Arduino:
- VCC del MAX31865 a 3,3V en el Arduino.
- GND del MAX31865 a GND en el Arduino.
- SDO (MISO) del MAX31865 a MISO en el Arduino.
- SDI> (MOSI) del MAX31865 a MOSI en el Arduino.
- SCK del MAX31865 a SCK en el Arduino.
- CS> del MAX31865 a cualquier pin digital disponible en el Arduino (por ejemplo, D5).
Paso 2: Instalar las bibliotecas necesarias
Para simplificar tu código Arduino, instala las librerías necesarias:
Biblioteca MAX31865 de Adafruit
- Abre el IDE de Arduino.
- Vaya a Sketch > Incluir biblioteca > Gestionar bibliotecas.
- Busca Adafruit MAX31865 e instálalo.
Biblioteca Arduino IoT Cloud
- Ir a Sketch> Incluir Biblioteca> Gestionar Bibliotecas
- Busca ArduinoIoTCloud e instálalo.
Paso 4: Crear una cuenta Arduino IoT Cloud y configurar una nueva cosa
- Vaya a Arduino IoT Cloud e inicie sesión o cree una cuenta.
- Crea un nuevo Thing en Arduino IoT Cloud, que será el objeto que contenga tus datos de temperatura.
- Defina una variable en la Cosa (por ejemplo, temperatura de tipo Float) que almacenará y mostrará las lecturas de temperatura del sensor PT100.
- Selecciona el tipo de dispositivo y configúralo para que se conecte a Wi-Fi.
Paso 5: Escribir el código Arduino
Aquí hay un fragmento de código de ejemplo para leer desde el sensor PT100 y subir los datos a Arduino Cloud.
#include <Adafruit_MAX31865.h> #include <ArduinoIoTCloud.h> #include <WiFiNINA.h> // Wi-Fi credentials const char* ssid = "Your_SSID"; const char* password = "Your_PASSWORD"; // MAX31865 configuration #define MAX31865_CS_PIN 5 // Chip Select pin Adafruit_MAX31865 max31865 = Adafruit_MAX31865(MAX31865_CS_PIN); // Arduino Cloud variable float temperature; // Function to read temperature from the PT100 sensor float readTemperature() { // Configure the RTD sensor type max31865.begin(MAX31865_3WIRE); // Choose the right wiring configuration (2, 3, or 4 wire) float temp = max31865.temperature(100, 430); // 100 ohms for PT100, 430 is the reference resistor return temp; } // IoT Cloud setup void initProperties() { ArduinoCloud.addProperty(temperature, READ, ON_CHANGE, NULL); } void setup() { Serial.begin(9600); // Initialize MAX31865 if (!max31865.begin(MAX31865_3WIRE)) { Serial.println("Failed to initialize MAX31865!"); while (1); } // Connect to Wi-Fi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("Connected to WiFi!"); // Arduino IoT Cloud setup initProperties(); ArduinoCloud.begin(WiFi.status); } void loop() { // Update Arduino IoT Cloud ArduinoCloud.update(); // Read temperature and print it to Serial temperature = readTemperature(); Serial.print("Temperature: "); Serial.println(temperature); // Delay for stability delay(2000); }
Explicación del Código
- Configuración Wi-Fi: El código se conecta a tu Wi-Fi usando WiFiNINA.h.
- Configuración RTD: La librería Adafruit_MAX31865 configura el sensor con max31865.begin(MAX31865_3WIRE).
- Lecturas de temperatura: temperature = readTemperature() obtiene la temperatura y la asigna a la variable de temperatura creada en Arduino Cloud.
- Envío de datos a la nube: ArduinoCloud.update() sincroniza los datos de temperatura con tu cuenta Arduino IoT Cloud.
Monitorización de datos en Arduino IoT Cloud
- Vuelve a Arduino IoT Cloud y abre el panel de control de tu Cosa.
- Añada un widget (como un Indicador o un Gráfico) para visualizar la variable de temperatura en tiempo real.
Despliegue y pruebas
- Carga el código en tu placa Arduino.
- Abra el monitor en serie para verificar si las lecturas de temperatura se muestran correctamente.
- Comprueba el panel de control de Arduino IoT Cloud para asegurarte de que los datos de temperatura se transmiten y actualizan en tiempo real.
Conclusión
Este tutorial muestra cómo conectar una RTD PT100 a un Arduino con capacidad Wi-Fi e integrarla en Arduino IoT Cloud. Esta configuración es adecuada para la monitorización remota, el registro de datos y la implementación de sistemas inteligentes de monitorización de la temperatura. Puedes personalizar aún más la configuración añadiendo más funciones, como alertas por correo electrónico o integración con otros servicios IoT.
Debe estar conectado para enviar un comentario.