- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 7 von 7

Thema: Nachkommastellen kürzen - Wie?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.12.2005
    Beiträge
    161

    Nachkommastellen kürzen - Wie?

    Anzeige

    E-Bike
    Hallo zusammen,

    folgendes einfaches Beispiel:

    Spannung über ADC messen und am LCD anzeigen.

    U= (0 - 1023) 'wert vom ADC
    Const Ref = 5/1023
    Volt = U*Ref
    Lcd Volt; "Volt"

    Jetzt zeigt mir das LCD "4.999999517 Volt" an. Wie kann ich die Anzeige auf "4.99 Volt" kürzen?

    Danke für Eure Hilfe

    Gruß
    Markus

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    zb. mit Round()

    Volt = volt * 100
    Volt = Round(volt]
    Volt = volt / 100

    Aus 4.999999517 wird dann 5.00 was ja auch Sinvoll ist
    Gruß
    Ratber

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Dim V as String*10
    V=Str(Volt)
    V=Format(V,"0.00")
    Lcd V

    Damit hab man zwei Nachkommastellen und immer die gleiche Länge der Zahlen. Und somit nicht das Problem, das vor einer erneuten Ausgabe noch Ziffern der letzten Rechnung auf dem Display gelöscht werden müssen.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    25.09.2004
    Alter
    34
    Beiträge
    54
    schau dir dazu auch mal den befehl "fusing" in der bascom-hilfe an

    mfg Markus

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.12.2005
    Beiträge
    161
    Hallo zusammen,

    erstmal Danke für die Tips.

    @Ratber

    leider geht das nur bei dem ADC Wert von 1023, andere Werte werden dann wieder mit den ellenlangen Nachkommastellen ausgegeben.

    @Marco78

    funktioniert leider auch nicht weil:

    ich doch nicht mit versch. dim Variablen rechnen kann.

    Gib es da einen Trick oder bin ich zu doof dafür?

    Gruß
    Markus

    Hier nochmal der Ursprungs- Code mit den (leider) festen Dim As Variablen

    Code:
    Dim Volt As Single
    Dim Eu As Word
    Const Ref = 5 / 1023 
    
    Eu = 1023
     Volt = Eu * Ref
    
    LCD Volt; "Volt"
    Die Variable Eu kommt über RS232 rein und kann vom ADC ja von 0 - 1023 sein.

    Ich habs mit diesem hier probiert, leider ohne Erfolg: (Fehlermeldung beim Compilern)
    Code:
     Dim Volt as Single
    Dim V as String*10
    Dim Eu as Word
    
    Eu = 1023
    Volt = Eu*Ref
    V=Str(Volt)
    V=Format(v, "0.00")
    
    Lcd V ; "Volt"

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.12.2005
    Beiträge
    161
    @Grillmeister Markus

    Fusing FUNZT!! Danke das wars was mir hier gefehlt hat! MERCI

    Gruß
    Markus

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    @Markus


    leider geht das nur bei dem ADC Wert von 1023, andere Werte werden dann wieder mit den ellenlangen Nachkommastellen ausgegeben.
    Stimmt,hab den beknackten Rechenfehler vergessen.
    Gruß
    Ratber

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test