Hola buenas tengo un problema con la comunicación entre el sensor arriba indicado y arduino.
#include <Sensirion.h>
const uint8_t dataPin = 2; //Declaracion patillas arduino
const uint8_t clockPin = 3;
float temperature; //Declaracion variables
float humidity;
float dewpoint;
Sensirion tempSensor = Sensirion(dataPin, clockPin); //Declaracion objeto sensor
void setup()
{
Serial.begin(9600); //Declaracion puerto serie
}
void loop() {
tempSensor.measure(&temperature, &humidity, &dewpoint); //Llamada sensor
Serial.print("Temperature: "); //Escribe texto para acompañar al valor
Serial.print(temperature); //Escribe valor en la misma linea
Serial.print(" C, Humidity: "); //Escribe texto para acompañar al valor
Serial.print(humidity); //Escribe valor en la misma linea
Serial.print(" %, Dewpoint: "); //Escribe texto para acompañar al valor
Serial.print(dewpoint); // Escribe valor en la misma linea
Serial.println(" C");
delay(5000); //Tiempo de espera para la siguiente ejecucion
}
El problema es que me sale lo siguiente:
temperature: 0.0 humidity: 0.0 % dewpoint: 0.0
temperature: 0.0 humidity: 0.0 % dewpoint: 0.0
temperature: 0.0 humidity: 0.0 % dewpoint: 0.0
...
No se si el problema esta en el codigo, o que el sensor trabaja con 3,3 V. Pero creo eu ese no es el problema ya que he usado para la conexion la conexion recomendada en el datasheet. Ademas he modificado el archivo Sensirion.cpp de la libreria, en el que solo he cambiado el original por esto
extern "C" {
// AVR LibC Includes
#include <stddef.h>
#include <stdint.h>
#include <math.h>
// Wiring Core Includes
#include "WConstants.h"
}
Asi que no se cual es exactamente el problema, asi que si alguien tiene alguna idea que me lo diga.
Cualquier sugerencia sera bien recibida.