Hola, estoy haciendo una librería en la cual quiero hacer uso de la del DHT y despues de otros sensores. El código que tengo es el siguiente:
El archivo.h
#ifndef sensores_h
#define sensores_h
#if (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
#include <../DHT/DHT.h>
class SENSOR
{
public:
float readSensor(int idSensor);
private:
float _sensorValue;
};
#endif
Archivo.cpp
#if (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
#include <sensores.h>
DHT dht22(PIN_DHT, DHTTYPE);
float SENSOR::readSensor(int idSensor)
{
_sensorValue=0.0;
switch(idSensor)
{
case DHT22_TEMP:
_sensorValue=dht22.readTemperature();
break;
case DHT22_HUMIDITY:
_sensorValue=dht22.readHumidity();
break;
default:Serial.println("ERRROR: no existe el sensor");
break;
}
}
Al compilar me sale el siguiente error:
DHT.h:24: error: expected initializer before ‘class’
la librería del dht que tengo es la siguiente (si compilo el ejemplo de la librería dht funciona correctamente):
archivo.h:
#ifndef DHT_H
#define DHT_H
#endif
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#define MAXTIMINGS 85
#define DHT11 11
#define DHT22 22
#define DHT21 21
#define AM2301 21
class DHT {
private:
uint8_t data[6];
uint8_t _pin, _type, _count;
boolean read(void);
unsigned long _lastreadtime;
boolean firstreading;
public:
DHT(uint8_t pin, uint8_t type, uint8_t count=6);
void begin(void);
float readTemperature(bool S=false);
float convertCtoF(float);
float readHumidity(void);
};
//extern DHT dht22;
#endif
¿Como puedo resolver este problema?
Gracias,
Saludos.