Jak napisać w Bascomie procedurę pobrania 10-ciu próbek (z jednego ADC(0)) tak by odrzucić 5 skrajnych, wybrać 5 środkowych wartości i policzyć z nich średnią? Możne ktoś podpowiedzieć?
Z góry dziękuję.
Z góry dziękuję.
Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tamModerowany przez _Robak_:Jeśli tak kolega sądzi to proszę nie korzystać z wiedzy użytkowników tego forum i zacząć się samemu uczyć, albo przenieść się na inne forum.
PiotrPitucha napisał:Witam
Propozycje dzielenia przez ilość próbek np. 10 są bezsensowne, jeśli już uśredniać to można to zrobić z głową, daj 16 próbek i przesuń wynik w prawo
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'config ADC
Start Adc
Dim W As Word , Volt As Word , Volt_d As Byte
W = Getadc(0)
Volt = W * 5
Volt_d = Volt Mod 10
Volt = Volt / 10 For I = 1 To (x-1)
For J = x To 2 Step -1
Tab1 = Tab(j)
Tab2 = Tab(j - 1)
If Tab2 > Tab1 Then
Tab(j) = Tab2
Tab(j -1) = Tab1
End If
Next J
Next Ichifchif napisał:W moim przypadku pomogło zbieranie pomiarów do tablicy Tab(x) as Word, następnie sortujesz wyniki np metodą bąbelkowąFor I = 1 To (x-1) For J = x To 2 Step -1 Tab1 = Tab(j) Tab2 = Tab(j - 1) If Tab2 > Tab1 Then Tab(j) = Tab2 Tab(j -1) = Tab1 End If Next J Next I
Liczysz średnią odrzucając skrajne wyniki - kilka pierwszych i ostatnich (zależy jaka chcesz mieć dokładność).