//********************************************************************
unsigned long micros_th = 0;
volatile int tz; 
volatile int th;                            //импульсы тахометра
int resultInput[8];                        //массив значений входов
String stringOne = "";                      //основная строка
int i;                                      //счетчик циклов

//********************************************************************
void setup(){ 
  for(i=0; i<=7; i++){                     //обнуление массива значений  
    resultInput[i]=0; 
  } 
  Serial.begin(115200);                     //инициализация ком порта 
  attachInterrupt(1, tahometr,   RISING);   //прерывание тахометра по фронтам импульса
} 
//********************************************************************
void loop(){
 
  resultInput[0]  = th;                    //   A11       Тахометр
  resultInput[1]  = analogRead(0);         //   B9        Буст
  resultInput[2]  = analogRead(1);         //   B10       Смесь
  resultInput[3]  = analogRead(2);         //   B11       Темп масла АКПП
  resultInput[4]  = analogRead(3);         //   B12       Давление топлива
  resultInput[5]  = analogRead(4);         //   B13       Давление масла
  resultInput[6]  = analogRead(5);         //   B14       Температура масла
  resultInput[7]  = digitalRead(4);        //   A10       Детонация   

  for(i=0; i<=6; i++){                     //передаем аналоговые данные из массива в COM-port
   stringOne =  String(stringOne + resultInput[i]);
   stringOne =  String(stringOne + ",");
  } 
  
  stringOne =  String(stringOne + resultInput[7]+ ",::");

  Serial.print (stringOne);
  
  stringOne =  String("");
 
  
  tz = tz - 1;
  
  if (tz == 0){th = 0;}
 
  delay(50);
 }


//********************************************************************
void tahometr(){                            //измеряем частоту на входе тахометра по прерыванию
  th=(2900000.0/( micros() - micros_th));
  micros_th = micros();
  tz = 10;
}

