Странности с АЦП

Пушной звер
Offline
Зарегистрирован: 17.03.2013

суть, читаю данные с АЦП в массив, дабы потом усреднить значения..

   for (int i=0; i<=9; i++)  {         
     sData[i]  = analogRead(analogInPin);
   }

затем этот массив шлю в компорт

  for (int i=0; i<=9; i++)  
    {   
  Serial.print(sData[i]); 
  Serial.print(", "); 
    }
  Serial.println(" "); 

а в терминале вижу следующее,

если дать 5 вольт

1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1025,  
1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1025,  
1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1025,  
1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1025,  

 

если замкнуть на массу

0, 0, 0, 0, 0, 0, 0, 0, 0, 1,  
0, 0, 0, 0, 0, 0, 0, 0, 0, 1,  
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  
0, 0, 0, 0, 0, 0, 0, 0, 0, 1,  
0, 0, 0, 0, 0, 0, 0, 0, 0, 1,  

а это если дать задержку в миллисекунд 50, сразу за analogRead

1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1074,  
1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1074,  
1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1074,  
1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1074,  
 

откуда лишнее???

Snubist
Offline
Зарегистрирован: 18.02.2013

Для начала желательно видеть весь код.

А что происходит при увеличении,  уменьшении массива?

maksim
Offline
Зарегистрирован: 12.02.2012

Да покажите весь код, потому как телепаты в отпуске.
Можно предположить, что вы массив обьявили так: int sData[9];

Пушной звер
Offline
Зарегистрирован: 17.03.2013

maksim пишет:

Да покажите весь код, потому как телепаты в отпуске.
Можно предположить, что вы массив обьявили так: int sData[9];

совсем не в отпуске. все верно, вылез из массива, спасибо.