int CSPin = 4; int MISOPin = 3; int SCKPin = 5; byte byte1; byte byte2; int temp;
void setup() { pinMode(CSPin, OUTPUT); // digitalWrite(CSPin, HIGH); pinMode(SCKPin, OUTPUT); pinMode(MISOPin, INPUT_PULLUP); Serial.begin(9600); // EDIT delay(350); // Allow sensor to do its 1.st reading after powerUp. (I guess this can be removed) }
void loop() { digitalWrite(CSPin, LOW); delay(1); // EDIT: This may be removed ??? byte1 = shiftIn(MISOPin, SCKPin, MSBFIRST); byte2 = shiftIn(MISOPin, SCKPin, MSBFIRST); // EDIT. Add: byte2 = byte2 & 0xF8; // mask away 3 bits. You dont need them digitalWrite(CSPin, HIGH); temp = (int) byte1 << 8; temp |= byte2; float temp2 = (float)temp / 128; // EDIT equals >>3 and \* 0.0625; temp = temp >> 3; // Edit //Serial.println(temp, BIN); Serial.println(temp2); Serial.println("\*\*\*\*"); delay(2000); }