How long are the cables between Arduino and the SHT15?
A quick look at the code triggert the following question:
think some int's should be unsigned int or ..
int getData16SHT(int dataPin, int clockPin) {
int val;
// Get the most significant bits
pinMode(dataPin, INPUT);
pinMode(clockPin, OUTPUT);
val = shiftIn(dataPin, clockPin, 8);
val *= 256; << if val = 0xFF there will be a signed overflow!
....
==>
unsigned int getData16SHT(int dataPin, int clockPin) {
unsigned int val = 0;
// Get the most significant bits
pinMode(dataPin, INPUT);
pinMode(clockPin, OUTPUT);
val = shiftIn(dataPin, clockPin, 8);
val *= 256;
....