Unable to read data with 16 serial clock cycles
This is not an answer to your question but I cannot add it as a remark since it involves code.

You can greatly reduce your code by using for loops, e.g.:

   pinMode(5, OUTPUT); //LED 3
   pinMode(6, OUTPUT); //LED 4
   pinMode(7, OUTPUT); //LED 5
   pinMode(8, OUTPUT); //LED 6
   pinMode(9, OUTPUT); //LED 7
   pinMode(10, OUTPUT);//LED 8  


to

   int n;
   for (n = 5; n &lt; 11; n++)
   {
      pinMode(n, OUTPUT);
   }


And

digitalWrite(5,bitRead( myValFromTempSensor,0));
digitalWrite(6,bitRead( myValFromTempSensor,1));
digitalWrite(7,bitRead( myValFromTempSensor,2));
digitalWrite(8,bitRead( myValFromTempSensor,3));
digitalWrite(9,bitRead( myValFromTempSensor,4));
digitalWrite(10,bitRead( myValFromTempSensor,5));


to

int n = 0;
for (n = 0; n &lt; 6; n++)
{
    digitalWrite(n + 5,bitRead( myValFromTempSensor, n));
}


And

  digitalWrite(5,0);
  digitalWrite(6,0);
  digitalWrite(7,0);
  digitalWrite(8,0);
  digitalWrite(9,0);
  digitalWrite(10,0);


to

int n;
for (n = 5; n &lt; 11; n++)
{
    digitalWrite(n, 0);
}


Instead of hardcoded values 5 and 11 you can use defines, e.g.

#define LED_MIN 5
#define LED_MAX 11


and change

for (n = 5; n &lt; 11; n++)


to

for (n = LED_MIN; n &lt; LED_MAX; n++)