Duffer at Math it seems ! help

Newbie here - with a Uno for xmas !

What I intend to do is measure the temperature distribution ( in magnitude and time ) in a pelleted 'soild' fuel as it burns down - inside a can ( with variable rates of air supplied from below ) .
I have added an arduino shield for measuring the output of 4 thermocouples - ( type K ) - from Ryan McLaughlin
Ultimate output is to an Excel spreadsheet - via PLX-DAQ - to plot a chart.

After much assistance from Ryan ! I have got the setup recording to Excel - with a sketch just to measure room temperatures.

However - there are perculiarities in PLX -DAQ - which I am struggling to modify the sketch to scale the Serial outputs to something PLX-DAQ will accept

/*
  Multi_Temp.pde - Example using the MAX6675 Library.
  Created by Ryan McLaughlin <ryanjmclaughlin@gmail.com>
*/

#include <MAX6675.h>

int LED1 = 6;		// Status LED Pin
int CS0 = 7;		// CS pin on MAX6675
int CS1 = 8;		// CS pin on MAX6675
int CS2 = 9;		// CS pin on MAX6675
int CS3 = 10;		// CS pin on MAX6675
int SO = 12;		// SO pin of MAX6675
int SCK = 13;		// SCK pin of MAX6675
int units = 1;		// Units to readout temp (0 = ?F, 1 = ?C)
float error1 = 0.0;	// Temperature compensation error
float error2 = 0.0;	// Temperature compensation error
float error3 = 0.0;	// Temperature compensation error
float error4 = 0.0;	// Temperature compensation error
int status = 0;		// Varible to control the status led

float temp[4];


MAX6675 temp0(CS0,SO,SCK,units,error1);
MAX6675 temp1(CS1,SO,SCK,units,error2);
MAX6675 temp2(CS2,SO,SCK,units,error3);
MAX6675 temp3(CS3,SO,SCK,units,error4);


// Setup Serial output and LED Pin  
// MAX6675 Library already sets pin modes for MAX6675 chip!
//Warning : PLX_DAQ only accepts data between values 11 and 199 : outside this range generates an error
 // So if attampting to read t/c from 1 to 1000 degC range will need to reduce intervals - say 10deg, so 200deg outputs as 20 - then have excel x10
 // on interval 10deg: PLX range 11 to 199 : translates as 110deg to 1990deg - hmmmm ! 
 //on interval 5 deg : PLX range 11 to 199 :translates as 22deg to 995 deg ! better ...could introduce a fixed offset of say +150 ie, y=mx+c : gives 172deg to 1145 deg
 //on interval 5 deg & offset = + 28 deg: PLX range 11 to 199 :translates as 27deg to 1023 deg
void setup() {
	Serial.begin(9600);
	pinMode(LED1, OUTPUT);
}


void loop() {
  temp[0] = temp0.read_temp(5);		// Read the temp 5 times and return the average value 
  temp[1] = temp1.read_temp(5);		// Read the temp 5 times and return the average value 
  temp[2] = temp2.read_temp(5);		// Read the temp 5 times and return the average value 
  temp[3] = temp3.read_temp(5);		// Read the temp 5 times and return the average value 

  
  
  //  Serial.print("Temperature: \t");	// Print Header to Serial
  Serial.print("DATA,TIME,TIMER");   // required by PLX-DAQ
  for (int i=0; i<4; i++){	 // Loop through each of the four temps
    status = 0;			 // Reset the status to 0 before we check for errors
    Serial.print(",");	          // comma must precede each data for PLX-DAQ
    if(temp[i] == -1) {		 // If there is an error with the TC, temperature will be -1
      Serial.print("11");	 // Temperature is -1 and there is a thermocouple error............. elect to send "999" for PLX-DAQ
        status++;		 // Add to the status varible so status LED turns on
    } else {
      Serial.print(((temp[i]-28)/5));   // Print the temperature to Serial : algorithm for PLX-DAQ : temp range = 83 to 1023deg - its automatically truncated
     // Serial.print((temp[i]));  // for a first test 11 to 199 deg C :t/c's at room temp
    }
    //Serial.print("\t");	         // Print a tab to demininate the data
  }
	
  if(status > 0) {               // Check if we should turn on the status LED
    digitalWrite(LED1, HIGH);    // Turn on the status LED
  } else {
    digitalWrite(LED1, LOW);     // Turn off the status LED
  }
  Serial.println(" ");

  delay(2000);    // Wait two second before reading again
}

The room temperature test used

Serial.print((temp[i]));  // for a first test 11 to 199 deg C :t/c's at room temp

For testing in a small gas flame - off the cooker

Serial.print(((temp[i]-28)/5));

This adjustment all stems down to :-

//Warning : PLX_DAQ only accepts data between values 11 and 199 : outside this range generates an error

Unfortunately in Excel - I didnt get the flame temperatures. These are my readings:-

T/C#1 : Excel reading = 171 degC and from Multimeter reading = 820 degC
T/C#2 : Excel reading = 165 degC and from Multimeter reading = 830 degC
T/C#3 : Excel reading = 175 degC and from Multimeter reading = 840 degC
T/C#4 : Excel reading = 158 degC and from Multimeter reading = 825 degC

As it was a small flame - an I was holding the thermocouples in place with my hand - I am not concerned at the difference in readings say - the 4 Excel readings , or the 4 Multimeter readings - as a tiny movement of my fingers would cause a big temperature change.

But why is my Excel readings so low ???????

Paul

Since you are dividing the reading by 5, in order to make PLX-DAQ (whatever that is) happy, presumably in Excel you need to multiply by 5 again, and add the 28 back.

O heck ! its been a long trip since xmas ! stumbled at the last - so to speak ! :blush:

thank you PaulS