int index;
int index_1;
int index_2;
float yint;
// int x[3] = {1,2,3};
// float y[3] = {1,2,3};
// int x[21] = {1023, 980, 937, 894, 851, 808, 765, 722, 679, 636, 593, 550, 507, 464, 421, 378, 335, 292, 249, 206, 163};
// float y[21] = {231.8151167, 210.2572, 190.1562953, 171.4646984, 154.1347051, 138.1186112, 123.3687125, 109.8373048, 97.4766839, 86.2391456, 76.0769857, 66.9425, 58.7879843,
// 51.5657344, 45.2280461, 39.7272152, 35.0155375, 31.0453088, 27.7688249, 25.1383816, 23.11};
int x[5] = {718, 1400, 2000, 3000, 5000};// RPM
float y[5] = {0, 10, 20, 50, 100};//accelerator pedal
int x_test[5][5] = {{1023, 980, 937, 894, 851},
{1023, 980, 400, 894, 851},
{980, 980, 937, 400, 400},
{1023, 400, 937, 894, 500},};
int ADC1=680;
float readp1;
int readTest;
int readTest2;
double ad1 =A1;
float readp2;
double ad2 =A2;
void setup()
{
Serial.begin(9600);
}
void expinter1()
{
index = 0;
index_1 = 0;
index_2 = 0;
readp1 = analogRead(ad1);readp1 = map(readp1,0,1023,718,4999);
readp2 = analogRead(ad2);readp2 = map(readp2,0,1023,0,100);
readTest = analogRead(ad1);readTest = map(readp1,0,1023,0,4);
for (int i=0;i<=4;i=i+1)
{
if(readp1< x[i])
{
index_1=i;
}
// if(readp2< y[i])
// {
// index_2=i;
// }
}
yint = y[index_1+1] + (readp1-x[index_1+1])*(y[index_1]-y[index_1+1])/(x[index_1]-x[index_1+1]);
}
void test1interp()
{
index_1 = 0;
index_2 = 0;
readp1 = analogRead(ad1);readp1 = map(readp1,0,1023,718,4999);
readTest = analogRead(ad1);readTest = map(readTest,0,1023,0,4);
index_1=readTest;
readp2 = analogRead(ad2);readp2 = map(readp2,0,1023,0,100);
readTest2 = analogRead(ad2);readTest2 = map(readTest2,0,1023,0,4);
index_2=readTest2;
// Serial.println(x_test[index_1][index_2]);
// Serial.print(index_1);Serial.print("\t");Serial.println(index_2);
// x_test[5][5]
yint = y[index_2+1] + (readp1-x[index_1+1])*(y[index_2]-y[index_2+1])/(x[index_1]-x[index_1+1]);
// yint = y[index_2+1] + (readp1-x[index_1+1])*(y[index_2]-y[index_2+1])/(x[index_1]-x[index_1+1]);
}
// int x[5] = {718, 1000, 2000, 3000, 5000};// RPM
// float y[5] = {0, 10, 20, 50, 100};//accelerator pedal
void loop() {
test1interp();
// expinter1();
// Serial.println("");
// Serial.println("");
// Serial.println("");
// Serial.print(readp1);Serial.print("\t");Serial.print(yint); Serial.print("\t");Serial.println(readp2);
delay(1000);
}
/*
index = 0;
readp1 = analogRead(ad1);
readp1 = map(readp1,0,1023,718,4999);
Serial.print("current pot 1 ");Serial.println(readp1);
Serial.print("current pot 2 ");Serial.println(readp2);
for (int i=0;i<=20;i=i+1)
{
if(readp1< x[i])
{
index=i;
}
}
yint = y[index+1] + (readp1-x[index+1])*(y[index]-y[index+1])/(x[index]-x[index+1]);
Serial.print("x");Serial.print("\t");Serial.println("y");
Serial.print(x[index+1]);Serial.print("\t");
Serial.println(y[index+1]);
Serial.print(readp1);Serial.print("\t");
Serial.println(yint);
Serial.print(x[index]);Serial.print("\t");
Serial.println(y[index]);
*/