i2c and barometer HP01D


Closed Thread
Results 1 to 3 of 3
  1. #1
    Join Date
    Jul 2007
    Posts
    65

    Default i2c and barometer HP01D

    Hi all

    got that sensor for a while an I taught it would be nice to plug and play with it, but it's not behaving nice to me so far.

    After a long read of the spec sheet, I came up with the following code
    Code:
    'I2C data communication with HP01D, low cost pressure/temp sensor
    ;i2Dpin var PORTB.7
    ;i2CLKpin var PORTB.6
    ; HP01Pres var WORD
    ; HP01Temp var WORD
    
    ; ******* READING PRESSURE *************************************************
    
    
      I2CWRITE i2Dpin,i2CLKpin,$EE,$FF,[$F0]  ; resquest pressure reading from sensor
      ; $EE is WRITE command to the HP01D
      ; $FF is address to write in
      ; $F0 is to read Pressure  , $E8 is to read temp 
    
      pause 38  ; at least 38ms is required before we can read the data
    
      I2CWRITE i2Dpin,i2CLKpin,$EE,$FD     ; set sensor for retrieve result
      ; $EE is WRITE command to the HP01D
      ; $FD set sensor to read?
    
    ,
      I2CREAD i2Dpin,i2CLKpin,$EF,[HP01Pres.highbyte,HP01Pres.lowbyte],NoREADAck   ; Read values
      ; $EF is READ command to the HP01D
    taugh it was pretty slick, but It does not work at all

    I think there might be a problem at line
    I2CWRITE i2Dpin,i2CLKpin,$EE,$FD ; set sensor for retrieve result

    because i'm not sending any data? But that's the way the sensor wants it...
    can shiftout do a trick here?

    I also tried with I2C_SLOW setting, but no data comes out

  2. #2
    Join Date
    Nov 2005
    Location
    Perth, Australia
    Posts
    429


    Did you find this post helpful? Yes | No

    Default

    I would also change the line you mentioned to:
    I2CWRITE i2Dpin,i2CLKpin,$EE,[$FD]

    I would also change the 1st one to:
    I2CWRITE i2Dpin,i2CLKpin,$EE,[$FF,$F0]

    If that does not help, I would try adding the define: DEFINE I2C_HOLD 1

    Do you have 4.7k pull-up resistors on both i2c lines?
    "I think fish is nice, but then I think that rain is wet, so who am I to judge?" - Douglas Adams

  3. #3
    Join Date
    Jul 2007
    Posts
    65


    Did you find this post helpful? Yes | No

    Default

    I've moved to a simple 12F683 to drive the chip and I could get readings, but nothing valid as for results

    now with your suggestion it seems to be getting better!

    well at least for the pressure reading which in the spec sheet should be in the 30000 range.
    I get 37771

    still have a bug with temperature reading tough....
    I get 29591 where the spec sheet call for 4100 as reference(D2).
    It also swing a lot more than expected over time. With my finger on the sensor it climbs to 30096 and those should be degre units..

    I will dig into that a bit more

    thanks for the suggestion

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts