Honeywell HSC sensor not reading values

Hello,

I am using a Honeywell sensor HSCDDRD005PD3A3.

#include <Wire.h>
#include "HSC.h"

//  create an HSC sensor with I2C address 0x38 and power pin 2.
HSC hsc(0x38, 2);

void setup() 
{
  Serial.begin(115200);
  Wire.begin();
 
  //  set min / max reading and pressure, see datasheet for the values for your 
  //  sensor
  hsc.setMinRaw(0);
  hsc.setMaxRaw(16383);
  hsc.setMinPressure(-5.0);
  hsc.setMaxPressure(5.0);
 
  //  start the sensor
  Serial.print("start()\t\t");
  Serial.println(hsc.start());
} 

void loop() 
{
  //  update pressure / temperature
  Serial.print("update()\t");
  Serial.println(hsc.update());
  
  // print pressure
  Serial.print("pressure()\t");
  Serial.println(hsc.pressure());
  
  // print temperature
  Serial.print("temperature()\t");
  Serial.println(hsc.temperature());

  while(1) {
    // use Serial as a command stream
    while(Serial.available()) {
      hsc.commandRequest(Serial);
    } 
    delay(100);
  }

When I give the sensor pressure, the serial monitor does not show anything. I have attched a picture of the serial monitor.

Can anyone tell me where I am going wrong.

Thank you

IMG_4502 (1).JPG

Try address 0x38

Can you please explain?

I have given the address as 0x38 only.

HSCDDRD005PD**3**A3. Take a look in the datasheet

HSC hsc (0x38, 2)

The I2C address is 0x38 and I have used the same.

.. and then it shoud work @ 3V3 and pullups connected..

I have connected the pull ups too. 4.7k pull ups.

If the I2C-scanner program finds your sensor at the address, and still the example code(from a library written for that chip) wont return valid values => chip defective ?

Is this a differential pressure sensor? then apply +/- pressure to one of the vent-ports

Yes, This is a differential sensor.
I have changed the ports and tried to apply pressure, but the serial monitor just shows the initial temperature and zero pressure.

I dont know where I am going wrong.

The sensor is a new one so I dont think there is a problem with that.

This datasheet says that you can request 4 bytes from adr 0x38.
http://www.honeywellscportal.com/i2c%20comms%20digital%20output%20pressure%20sensors_tn_008201-3-en_final_30may12.pdf
I'd try (without the lib) to do the request and just printout, (in HEX) the 4 values the sensor delivers.
The two most significant bits of the 1st byte read, shoud be zero => 1st value not greater than 0x3F
Most likely all 4 values should be non-zero..

Take a look in the lib and datasheet and try and find if the master has to send commands to the sensor to get it going..

Hello,

I have written a code without the ssc/hsc library and it is showing some values now.

Thank you.