Hi bendotchen,
I have used the info on this link:
http://tronixstuff.com/2010/10/20/tutor … e-i2c-bus/
I used the following sketch that was designed to use with a temperature sensor. It reads the Zephyr sensor but obviously not the air flow:
#include “Wire.h”
#define cn75address 0x48 // with pins 5~7 set to GND, the device address is 0x48
void setup()
{
Wire.begin(); // wake up I2C bus
Serial.begin(9600);
}
void getCN75data(byte *a, byte *b)
{
// move the register pointer back to the first register
Wire.beginTransmission(cn75address); // “Hey, CN75 @ 0x48! Message for you”
Wire.write(0); // “move your register pointer back to 00h”
Wire.endTransmission(); // “Thanks, goodbye…”
// now get the data from the CN75
Wire.requestFrom(cn75address, 2); // “Hey, CN75 @ 0x48 - please send me the contents of your first two registers”
*a = Wire.read(); // first received byte stored here
*b = Wire.read(); // second received byte stored here
}
void showCN75data()
{
byte aa,bb;
float temperature=0;
getCN75data(&aa,&bb);
if (aa>127) // check for below zero degrees
{
temperature=((aa-128)*-1);
if (bb==128) // check for 0.5 fraction
{
temperature-=0.5;
}
}
else // it must be above zero degrees
{
temperature=aa;
if (bb==128) // check for 0.5 fraction
{
temperature+=0.5;
}
}
Serial.print("Temperature = ");
Serial.print(temperature,1);
Serial.println(" degrees C");
delay(1000);
}
void loop()
{
showCN75data();
}
I still trying to get meaningful reading from it.
Did you manage to get it working?
Any help would be appreciated.
KInd regards ,
Miguel