In diesem Program hast Du einen Fehler beim Lesen drin:

  • i2c_start_wait(0xE4);
    //_delay_ms(65);
    Hbyte=i2c_readAck();
    Lbyte=i2c_readNak();
    i2c_stop();


Richtig muss es heißen:
  • i2c_start_wait(0xE4 + 0x01);
    //_delay_ms(65);
    Hbyte=i2c_readAck();
    Lbyte=i2c_readNak();
    i2c_stop();


Wahrscheinlich ist auch die Addresse mit 0xE4 falsch, da der Sensor default-mäßig auf 0xE0 eingestellt ist.

Gruß, uffi.