Pressure sensor ABPDLNN100MG2A3

Hi all
I am working on ABPDLNN100MG2A3 pressure sensor from honeywell which is a i2c interface, I have read the data form the sensor and stored two 8 bit variable a and b ,now the issue is how to convert the values in these two variable to millibar. Kindly share the thoughts.

Thankyou

I would Google for the data sheet or specifications, if I didn't obtain one along with the device. Do some research.

yes thankyou aarg

Okay, did you find what you were looking for? If you share it we can comment.

actually I want to convert the raw value from the sensor to millibar I am stuck there...

datasheet

The pressure ranges are listed on page 6. Look up the specific model you have there, the min/max pressure is listed in mbar in the first few columns.

yes aarg my sensor is 0-100 millibar range my question is how to convert the raw values from the i2c to millibar

Figure 2, page 4.

Output (% of 2^14 counts)

Do you have any code?

yes im working with stm32 i have the code for stm 32 can i share it

Why didn't you?

HAL_I2C_Master_Receive(&hi2c2,(0x28<<1),ABP_Pressure,2,100);
ABP_Pressure[0] - will hold the first 8 bit of the i2c data from the sensor
ABP_Pressure[1] - will hold the second 8 bit of the i2c data from the sensor

That isn't code. Please post your entire sketch. Unless your problem is solved.

By the way, is this an Arduino sketch, or an STM Cube IDE project?

uint8_t i2c_data[4];

i2c_data[0] = 0x08;
//i2c_data[1] = 0x08;

while(1)
{
	HAL_I2C_Master_Transmit(&hi2c2, (0x71<<1), i2c_data, 1, 100);
	HAL_I2C_Master_Receive(&hi2c2,(0x28<<1),ABP_Pressure,2,100);
	sprintf(data, "%u\r\n", ((ABP_Pressure[0]<<8)|ABP_Pressure[1]));
	HAL_UART_Transmit (&huart1, data, strlen (data), 100);
	//sprintf(data, " %u\r\n", ABP_Pressure[1]);
	//HAL_UART_Transmit (&huart1, data, strlen (data), 100);

	HAL_Delay(200);
}

Okay, I see this is not an Arduino program. But I'll be patient and ask, what is wrong?

It is obvious that you haven't read the forum guidelines. Please go back and edit your post to put the code in code tags so it displays properly in the forum.

Is this code outputs anything?

Please read the entire forum introduction that I linked to. Then fix the post you made by adding code tags. Please answer each and every question that is asked here.

ok

uint8_t ABP_Pressure[2];`
i2c_data[0] = 0x08;
	//i2c_data[1] = 0x08;

	while(1)
	{
		HAL_I2C_Master_Transmit(&hi2c2, (0x71<<1), i2c_data, 1, 100);
		HAL_I2C_Master_Receive(&hi2c2,(0x28<<1),ABP_Pressure,2,100);
		sprintf(data, "%u\r\n", ((ABP_Pressure[0]<<8)|ABP_Pressure[1]));
		HAL_UART_Transmit (&huart1, data, strlen (data), 100);
		//sprintf(data, " %u\r\n", ABP_Pressure[1]);
		//HAL_UART_Transmit (&huart1, data, strlen (data), 100);

		HAL_Delay(200);
	}

Yes, and what happens when you compile and run it? Are we supposed to guess?

I am getting values as below

1601
1604
1601
1606
1600
1601
1609
1604
1607
1608

Thankyou

That isn't possible. You have no print statements in your code. Probably, you ignored the request to post all of it.

Anyway, those are likely raw data values. All you need to do is scale it according to the chart we discussed earlier on.