INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Float am LCD mit 5-6 Nachkommastellen
27.09.2014, 22:41
Beitrag #1
Float am LCD mit 5-6 Nachkommastellen
Hallo, ich bin neu hier.
Ich möchte von einem SPI-AD/Wandler (24Bit) ADS1248
den Wert als 2.560000 Volt am Display anzeigen.
Ich benutze bisher Power-Basic und würde den Befehl:
X = USING$(#.######",Volt) einsetzen.
X = Ergebnis als String,
Volt = Ergebnis der Umrechnung vom Wandler als float
Welchen Befehl müsste ich beim Arduino Mega2560 einsetzen ??
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.09.2014, 09:41
Beitrag #2
RE: Float am LCD mit 5-6 Nachkommastellen
(27.09.2014 22:41)HTO schrieb:  X = USING$(#.######",Volt) einsetzen.
X = Ergebnis als String,
Volt = Ergebnis der Umrechnung vom Wandler als float
Welchen Befehl müsste ich beim Arduino Mega2560 einsetzen ??
Hi,
wahrscheinlich sprintf. Siehe auch http://www.cplusplus.com/reference/cstdio/sprintf/.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.09.2014, 09:43 (Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2014 09:44 von HaWe.)
Beitrag #3
RE: Float am LCD mit 5-6 Nachkommastellen
float als 32-bit Zahl hat insgesamt nur ca. 6 Dezimalstellen, da darf also vor dem Komma nicht mehr viel vorkommen.
nur double (64bit) hat insgesamt mehr Stellen, ich fürchte aber, Arduino Sketch unterstützt kein double (zumindest nicht auf den AVRs, beim Due ARM-Cortex wschl schon)

Du kannst floats formatieren mit printf oder sprintf:
"%.6f" als Formatstring formatiert auf 6 Nachkommastellen

Code:
char stringbuf[20];
float testfloat=123.456789;
sprintf(stringbuf, "%.6f", testfloat);
Serial.println(stringbuf);


Musst du mal ein bisschen rumspielen, dann siehst du ja was rauskommt.
Achtung: Float-Formatierungen sind nicht standardmäßig freigeschaltet!

HTH!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.09.2014, 18:01 (Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2014 18:09 von rkuehle.)
Beitrag #4
RE: Float am LCD mit 5-6 Nachkommastellen
Moin HTO,

keine Panik, alle Arduino unterstützen double, Die meisten brauchen für double 4 Byte, der Due braucht 8 Byte.
Benutzen kannst du dtostrf() wie hier beschrieben: http://www.arduinoforum.de/arduino-Threa...e-anzeigen
Die läuft für float und double.
Auszug aus der IEEE754 wie sich die 32Bit zusammensetzen:
Zitat:Sign bit: 1 bit
Exponent width: 8 bits
Significand precision: 24 bits (23 explicitly stored)
This gives from 6 to 9 significant decimal digits precision
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.09.2014, 18:49 (Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2014 21:38 von tito-t.)
Beitrag #5
RE: Float am LCD mit 5-6 Nachkommastellen
also ich denke es ging in HaWes Post um
float =32 bit
und double =64 bit,

denn wenn man nur floats als "double" beuzeichnet und so tut als hätte man doppelte Genauigkeit, dann macht man sich doch nur selber was vor (ist natürlich einfacher für den Compiler) Wink
Schließlich ging es aber doch um die Zahl der Stellen, und nicht, ob man so tut als ob man double verwendet, aber doch mit einfachen float weiterrechnet Smile

Kurz: nur mit echten double hat man deutlich mehr als die 6 Stellen bei floats 8-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.09.2014, 22:17
Beitrag #6
RE: Float am LCD mit 5-6 Nachkommastellen
Danke für die schnelle Hilfe!!!
Ich will die Ausgabe auf einen LCD-Display 4x20 ausgeben.
Kann die Tips im Moment nicht testen weil ich erst in 3 Wochen wieder Zugriff auf den Arduino habe (Urlaub).
Werde mich dann wieder melden. Im Moment schreibe ich das Programm, um es dann zu testen.
Wenn es dann funktioniert, werde ich den Kompletten Code hier reinstellen.
Eine I2C-ADC vom Typ MCP3424 4Kanal 18 Bit funktioniert schon. Den ADC ADS1248 muss ich noch von
Power-Basic auf "C" des Arduino umschreiben.
Die Nachkommastellen brauche ich, um die Auflösung der ADCs am LCD zu nutzen.
Mit Serial Print kann ich das Teil nur in Verbindung mit meinen Laptop nutzen.
Ich will aber den Arduino ohne den PC betreiben, deshalb brauche ich die Anzeige am LCD-Display.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.09.2014, 22:57
Beitrag #7
RE: Float am LCD mit 5-6 Nachkommastellen
ein mit sprintf erstellten string ist universell verwendbar. Wenn du also strings auf dem lcd ausgeben kannst, dann funktioniert das mit sprintf ganz sicher.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.09.2014, 05:30
Beitrag #8
RE: Float am LCD mit 5-6 Nachkommastellen
(28.09.2014 22:57)tito-t schrieb:  ein mit sprintf erstellten string ist universell verwendbar. Wenn du also strings auf dem lcd ausgeben kannst, dann funktioniert das mit sprintf ganz sicher.

jupp das funzt dann, mit sprintf und den Stringfunktionen kannste ganze Ausgabezeilen zusammenstellen und dann in einem Rutsch aufs LCD ausgeben.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Rechnen mit float und unsigned long Rudi 3 300 03.06.2016 12:41
Letzter Beitrag: hotsystems
  float in eeprom goldfisch 4 667 28.12.2015 18:54
Letzter Beitrag: Bitklopfer
  Float über I2C zwischen 2 Arduinos UNO Marduino_UNO 9 1.616 19.10.2015 09:09
Letzter Beitrag: Retian
  Umrechnung float Geodaten in Grad'Min'Sec.secfrac HaWe 0 602 04.10.2015 11:42
Letzter Beitrag: HaWe
  Anzahl der Float-Kommastellen bei einem Return Retian 1 704 25.07.2015 18:09
Letzter Beitrag: HaWe
  große 2-dim float-Arrays schnell auf SD speichern und zurücklesen? HaWe 25 2.185 22.06.2015 14:41
Letzter Beitrag: Thorsten Pferdekämper
  float per NRF24 übertragen F2Ingo 9 1.643 14.04.2015 21:21
Letzter Beitrag: F2Ingo
  fehler in anzeige von float avoid 11 1.907 12.04.2015 16:32
Letzter Beitrag: HaWe
  SerLCD Float Werte anzeigen bquiet 3 1.682 17.08.2014 19:25
Letzter Beitrag: bquiet
Question Float in char/int - sd logger Hilgi 6 2.129 25.07.2014 12:50
Letzter Beitrag: Hilgi

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste