- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 3 von 3

Thema: Problem bei der Berechung einer linearen Funktion und der knovertierung für ein LCD

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.05.2013
    Beiträge
    7

    Problem bei der Berechung einer linearen Funktion und der knovertierung für ein LCD

    Anzeige

    Praxistest und DIY Projekte
    Hallo zusammen,
    ich stehe momentan vor folgendem Problem: Ich möchte mein konvertiertes 10-Bit Analogsignal (uint16_t) einem Wert von 0V ... 15V (Char oder String) zuweisen und an einem LC-Display ausgeben (am liebsten "XX.XX V"). Das LC-Display kann nur Strings bzw. Chars ausgeben. Jetzt habe ich folgendes versucht:

    void adcw_to_lcd (void)
    {
    char adc_ergebnis [4];
    double m;

    m = (15/1024)*ADCW;
    dtostrf (m,3,2,adc_ergebnis);

    lcd_string (adc_ergebnis);
    lcd_string (" V");
    }

    Ich habe schon versucht "m = 2.14" und Dies dann einfach auszugeben und es hat funktioniert. Mein zweiter verrsuch war dann 2*ADCW auszugeben und es hat auch geklappt, aber sobald ich einen Bruch einfüge klappt es nicht mehr.
    Frage1: Wo genau liegt mein Fehler
    Frage2: Wie löst man so was am elgantetsten? Sollte ich andere Variablen verwenden, gibt es befehle für lineare funktionen oder sollte ich ie Methode anders aufbauen??? Wenn möglich anfängerfreundliche Tipps bzw. Beispiele geben.

    Danke im Vorraus.
    Geändert von Schirmo (03.06.2013 um 19:07 Uhr)

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Zitat Zitat von Schirmo Beitrag anzeigen
    Frage1: Wo genau liegt mein Fehler
    Hier: (15/1024)
    Das ist eine Integer-Division, und hat damit 0 als Ergebnis.


    Zitat Zitat von Schirmo Beitrag anzeigen
    Frage2: Wie löst man so was am elgantetsten?
    Indem du daraus eine Float-Division machst.

    Noch eleganter wäre allerdings, wenn du die Formel umstellen und komplett auf Gleitkomma verzichten würdest (und statt dessen Festkomma verwendest).
    Geändert von sternst (03.06.2013 um 22:33 Uhr)
    MfG
    Stefan

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    23.05.2013
    Beiträge
    7
    Danke, jetzt klappts endlich.

Ähnliche Themen

  1. problem bei der verwendung einer twi bibliothek (avr-gcc)
    Von avrrobot im Forum Software, Algorithmen und KI
    Antworten: 18
    Letzter Beitrag: 17.01.2011, 21:13
  2. Antworten: 18
    Letzter Beitrag: 15.08.2007, 23:34
  3. Antworten: 3
    Letzter Beitrag: 05.06.2007, 14:22
  4. Probleme bei der Zeilendarstellung für LCD (EADIP204)
    Von Foooob im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 06.07.2006, 12:51
  5. Wie kann ich in der < und > Funktion eine Toleranz ein
    Von Arne im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 14.01.2005, 20:14

Berechtigungen

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

12V Akku bauen