Honeywell pressure sensor ASDX015d44r help!

Hello!

I am trying to get the dynamic pressure from the sensor and used for that the following arduino code:

float p = 0.0;
int pin = A1;

void setup()
{
  Serial.begin(9600);
  pinMode(pin, INPUT);
}

void loop()
{
  p = analogRead(pin);
  Serial.println(p);
  delay(500);
}

In the serial monitor i keep getting a constant value of 20 and it does not change when i blow the sensor. I have connected in a proper way the pins to the arduino board. Sensor datasheet: Datasheet

I am new to using arduino so please be kind and help me with this.

Thank you, Luiza

Some quick comments:

  • This is a differential pressure sensor - when you test the sensor with air, make sure the other port is blocked.
  • Your sketch shows A1 input - check your connections.
  • This sensor requires a bypass capacitor in order to function correctly.

Thanks for the reply!

Finally i think i got it to work. The sensor was connected to A1 input but connected to 5V supply. I switched it to 3.3V and the sensor seems to work. When doing nothing the value that the sensor sends to my pc is arround 105 (± 1) and changes when i blow one of the port.

I have writen another code:

int p_pin = A0;

float sensorValue;
float p_din;
float tas;
float ias;
float mach;

float a = 340.29; // Speed of sound at sea level in m/s
float p0 = 101.4; // Pressure at sea level in kPa

float offset = 0.3;
float sensitivity = 0.04;

void setup()
{
  pinMode(p_pin, INPUT);
  Serial.begin(9600);
}

void loop()
{
  sensorValue = analogRead(p_pin);
  float voltage = (float) sensorValue / 1023.0 * 3.3;  
  float pressure = (voltage - offset) / sensitivity;  
  tas = sqrt(2*pressure*1000/p0)-4; // subtract 4 for callibration
  if(tas<1)
  {
    tas = 0.0;
  }
  
  Serial.println(tas);
  delay(500);
}

I have chosen the offset and sensitivity values to get tas = almost zero when air is not driven into the one of the sensor ports. My next question is if i did the code properly to get the data from the sensor and transform it into what i want to get from it(the dynamic pressure) ? Also i could not test the sensor in motion to see if tas is correct, i just blow it and get a value arround 5, 6 m/s which in my opinion is a correct value for human blowing speed.

Finally i think i got it to work. The sensor was connected to A1 input but connected to 5V supply. I switched it to 3.3V and the sensor seems to work. When doing nothing the value that the sensor sends to my pc is arround 105 (± 1) and changes when i blow one of the port.

  • If you have the ASDX015D44R sensor, it requires a 4.75 V ~ 5.25 V power supply.
  • It also requires a 220nF (0.22µF) capacitor between the +Vs and GND pin.
  • What type of Arduino board do you have … 3.3V or 5V?
  • Please post your circuit diagram or at least a description of all connections.