[SOLUCIONADO] ¿Cómo crear una nueva librería que a su vez incluya un DHT11?

Un saludo a todos.

Estoy intentando crear una librería para el control de la climatización de una habitación.

Dicha librería debe incluir un sensor, variable tipo DHT, de temperatura/humedad, modelo DHT11, por lo que en los archivos .h y .cpp importo las librerías adecuadas.

Al constructor le paso el pin analógico asociado al DHT11.

El problema es que no sé donde crear la variable sensor, tipo DHT, dentro de la librería para, una vez inicializado el sensor con sensor.begin(), leer los datos de temperatura y humedad con los métodos correspondientes.

En resumen: Debo crear una librería cuyo constructor recibe el parámetro del pin analógico requerido para leer datos de un detector de temperatura/humedad DHT11, creando internamente en la librería un objeto DHT.

Os pido vuestra ayuda para solucionar el problema y os doy las gracias por adelantado

En mis respuestas de los dos post, cuyos enlaces pongo a continuación, podras ver ejemplos de cómo hacerlo:

Utilizando clases dentro de otras clases

Error 'A2' is not a type

Si con ello no tienes claro cómo hacerlo expón aquí tus dudas y el código de lo que tengas hecho hasta ahora, aunque no funcione.

Nota: lee el punto 7 del post Normas del FORO EN ESPAÑOL para saber cómo publicar fragmentos de código correctamente.

Muchísimas gracias “IgnoranteAbsoluto”.

Lo he solucionado gracias a la información que aportas el los hilos citados.

A continuación muestro el código de ControlClima.h

#ifndef CONTROL_CLIMA_H
#define CONTROL_CLIMA_H

#include "Arduino.h"
#include <DHT.h>
#include <DHT_U.h>


class ControlClima {

  public:
    /*Constructor 1*/
    ControlClima(byte _pinSensor, byte _pinCal, byte _pinRefrig);

    /*Constructor 2*/
    ControlClima(byte _pinSensor, byte _pinCal, byte _pinRefrig, float _tInf, float _tSup);
   
  private:
    /*Variables internas privadas para recoger los parámetros de entrada*/
    //Pines para el control
    byte pinSensor;
    byte pinCal;
    byte pinRefrig;

    //Temperaturas de consigna
    float tInf;
    float tSup;

    //Sensor
     DHT sensorDHT;


};

#endif

El código de ControlClima.cpp, que he usado para probar la compilación, a falta de desarrollar los diversos métodos, donde el método auxControlClima únicamente es una auxiliar para verificar el compilado, es el siguiente:

#include "Arduino.h"
#include "ControlClima.h"


/*Constructor 1*/
ControlClima::ControlClima(byte _pinSensor, byte _pinCal, byte _pinRefrig): sensorDHT(_pinSensor, DHT11)
{
  pinSensor = _pinSensor;
  pinCal = _pinCal;
  pinRefrig = _pinRefrig;

}


/*Constructor 2*/
ControlClima::ControlClima(byte _pinSensor, byte _pinCal, byte _pinRefrig, float _tInf, float _tSup): sensorDHT(_pinSensor, DHT11)
{
  pinSensor = _pinSensor;
  pinCal = _pinCal;
  pinRefrig = _pinRefrig;

  tInf = _tInf;
  tSup = _tSup;

}

void ControlClima::auxControlClima() {
  sensorDHT.readTemperature();
}

Un saludo