Skocz do zawartości

Oversamplig esp8266 - zagwozdka


moszeusz

Pomocna odpowiedź

Cześć, 

Mam dwa programy: 

1)

const int analogInPin = A0;  // Pin wejściowy analogowy
const int oversampling = 256; // Liczba próbek do oversamplingu
float c=0;

void setup() {
  Serial.begin(9600); 
}

void loop() {
  long sum = 0; 

  
  for (int i = 0; i < oversampling; i++) {
    sum += analogRead(analogInPin);
    delayMicroseconds(10);
  }

 
  int average = sum / 16;
  //c = (average-220)/5.1807;

  Serial.print("Wartosc oversamplingu:");
  Serial.println(average);
 // Serial.print("Wartosc napiecia:");
  //Serial.println(c,2);

  delay(500); 
}

Oraz 2)

const int analogInPin = A0;
const int over = 256;
float c=0;

void setup() {

  Serial.begin(9600);

}

void loop() {
  
  long raw = analogRead(analogInPin);
  long ADCW=0;
     
  for (int i=0; i<over; i++){
  ADCW += raw ;
  delayMicroseconds(10);
  }

  c=ADCW/16;

  //Serial.print("Raw: ");
  //Serial.println(analogRead(analogInPin));
  Serial.print("Wartosc oversamplingu:");
  Serial.println(c);
  delay(500); 
}

Oba te kody, poza nazwami zmiennych, różnią się, że mam dodatkową zmienną raw = analogRead (analogInPin). W pierwszym przypadku - oversampling działa elegancko, w drugim - nie chce on działać. Jestem raczej amatorem i nie ogarniam dlaczego tak się dzieje. Proszę o wytłumaczenie. Dzięki 😉

Edytowano przez moszeusz
  • Lubię! 1
Link do komentarza
Share on other sites

W drugim przypadku nie działa bo w pętli for nie sprawdzasz analog'a...więc odczytasz tylko raz do zmiennej raw a później w pętli for 256 razy będziesz dodawał ten sam wynik który otrzymałeś przed wejściem do for

  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.