logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega 128 i Sharp GP2D12 w C.

Co_pat 13 Sty 2009 13:01 2541 11
REKLAMA
  • #1 5992186
    Co_pat
    Poziom 15  
    Witam!

    Mam taki problem, chciałem wykorzystać GP2D12 do pomiaru odległości. Chciał bym się dowiedzieć w jaki sposób można "przypisać" konkretnej wartości napięcia odległość, tak aby w dalszej części programu operować jedynie odległością? Oczywiście jak w temacie chodzi o programowanie w C.
  • REKLAMA
  • #2 5992202
    snow
    Poziom 31  
    Równaniem matematycznym?
  • REKLAMA
  • REKLAMA
  • #5 5992256
    Co_pat
    Poziom 15  
    Myślałem nad tym aby na podstawie charakterystyki przypisać każdemu napięciu odległość, ale ,że teoretycznie może być to nieskończenie wiele porównań to zrobić podział co ok mm i każdemu mm przypisać przedział napięcia, tylko to jest bardzo czasochłonne i do tego zajmie dość dużo miejsca.
    crazy_phisic czyli musiał bym wyznaczyć równanie prostej od odległości ok 8 cm i każdy pomiar napięcia podstawiać do równania?
  • #6 5992264
    crazy_phisic
    VIP Zasłużony dla elektroda
    Dokładnie tak, w zupełności wystarczy dopasowanie liniowe (y=ax+b) ;) Tylko proszę nie pytaj o szczegóły - bo to postawi Cię w złym świetle.
  • REKLAMA
  • #8 5992488
    __Grzegorz__
    Poziom 30  
    no to jeszcze masz przecież w zanadrzu
    aproksymację wielomianem....

    Excel zrobi to za Ciebie od ręki...

    Bardziej przydatny będzie fig.4 z ww. pdf-a.
    Fig.5 jest bardziej liniowy, ale przedstawia U=f(1/x)...
  • #10 5992748
    __Grzegorz__
    Poziom 30  
    Przenieść dane z wykresu (wsp. kwadracików) do arkusza w excelu,

    stworzyć z tego wykres liniowy

    dodać linię trendu odpowiedniego typu

    pokazać równanie linii trendu na wykresie (domyślnie nie jest pokazywana).

    otrzymana zależność to będzie U=f(x),
    ty pewnie będziesz chciał x=f(U) ....

    :)

    W związku z tym, o ile to możliwe, aproxymację zrób dla x>10cm,
    gdyż w przeciwnym wypadku:
    - będzie problem z dobra aproxymacją tego,
    - zależności x=f(U) nie będziesz w stanie opisać funkcją...


    Dla x>10 mamy:

    Atmega 128 i Sharp GP2D12 w C.

    Funkcja odwrotna jest ... banalna :)
  • #12 6440929
    qtch
    Poziom 12  
    zamiast aproksymowac wielomianem mozesz tez stworzyc tzw. Look Up Table (LUT) - tablice zapisana w pamieci programu (jest jej pod dostatkiem w A128), tablica bedzia miala tyle wartosci, ile moze przyjac ADC dla pomiarow z Sharpa, u mnie od okolo 60-560. Wartosc ADC bedzie indeksem (ew. przesuniesz o stala wartosc zeby wyeliminowac nieuzywane wartosci ADC) tablicy a jej wartoscia odleglosc ktora wczesniej obliczysz lub zmierzysz. Poszukaj gdzies juz widzialem wartosci tablicy dla Sharpa GP2D12
REKLAMA