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

[bascom] prezentacja pomiaru ADC w postaci procentowej

tomson5 16 Wrz 2010 13:26 1664 8
REKLAMA
  • #1 8516732
    tomson5
    Poziom 16  
    Witam.
    Potrzebuję przedstawić wynik pomiaru przetwornika ADC w postaci procentowej.
    Przy założeniu że:
    0.35V = 0%
    3V = 100%
    Wynik pomiaru przechowuję w zmiennej A1.
    Co należy wykonać, aby zmienna przyjęła takie wartości?
    Oczywiście znak "%" będzie tylko na wyświetlaczu LCD a nie w zmiennej.
  • REKLAMA
  • Pomocny post
    #2 8516777
    mario06
    Poziom 15  
    Podstawy matematyki, odrzucasz skrajne te poniżej 0.35V i powyżej 3V a obliczenie to: (VAL - 0.35) / 2.65 * 100 % . A najlepiej cały proces wykonać zaraz po przetworzeniu przez przetwornik gdy wartość jest w postaci bitowej.
  • REKLAMA
  • #3 8516807
    tomson5
    Poziom 16  
    Dzięki
    Niby podstawy a coś wpaść na to nie mogłem

    pozdrawiam
  • REKLAMA
  • #4 8518339
    tomson5
    Poziom 16  
    Zamiana na procenty działa świetnie.
    Potrzebuje jeszcze pomysł aby wartości napiecia poniżej 0,35V ograniczone były do 0% a nie jak w tej chwili wyświetlane są jak wartość ujemna tak samo muszę zablokować górny próg 3V aby powyżej niego nie wskazywało np: 110%
    nad tym pomyślę sam bo mam jakieś pomysły.
    Natomiast nie wiem jak zamaskować te "procenty" tak aby nie było widać części dziesiętnych chcę aby wynik był bez przecinka i ułamków.
    funkcja fusing zawęziła mi do jednego miejsca po przecinku a Ja chcę same jedności

    myślałem o zamianie zmiennej liczbowej na zmienną tekstową za pomocą funkcji STR ale potem nadal nie wiem jak na wyświetlaczu "zasłonić" ułamek
  • REKLAMA
  • #5 8518472
    tadzik85
    Poziom 38  
    Ogranicz ifami, zaokrągla się funkcją round.
  • Pomocny post
    #6 8518530
    mario06
    Poziom 15  
    Odnośnie wartości całkowitej to nie wiem jak w bascomie, ale w C jest reszta z dzielenia lub dzielenie całkowite i wtedy dzielić przez 1, z pascala były polecenia mod i div.
  • #7 8518544
    tomson5
    Poziom 16  
    Również z "IFami" miałem pomysł więc jutro to uzupełnie
    Natomiast funkcja round jest jak najbardziej na miejscu
    Zemściła się na mnie nieodrobiona lekcja z książki, akurat ten temat przeleciałem pobieżnie.

    Dzięki wielkie
  • Pomocny post
    #8 8519801
    cepelia
    Poziom 20  
    
    
    dim a as Integer 'tu trzymasz zmienną z pomiaru
    dim as as string  'tu zrobisz z niej stringa i odpowiednio pokażesz na lcd
    
    if a < 3  then 
      a=0
    else 
      a = a
    end if 
    
    if a > 30 then
      a=0
    else
      a=a
    end if
    
     as = Str(a)
     as = Format(as , "00 %")
    
    lcd as
    


    poczytaj o funkcji format bo pisałem to z głowy i nie wiem dokładnie czy składnia jest poprawna ale wydaje mi się że tak
REKLAMA