Hab ein Problem mit folgendem Code, der eine float-Zahl (Amps), die zuvor durch dtostrf umgewandelt wurde, auf ein 4x16 Display printen soll. Während die Ausgabe auf dem Serial Monitor bei z.B. outstr= 1.12 korrekt angezeigt wird, erscheint auf dem Display (lcd.print) nur "00.12". Die Zahl vor dem Komma wird also immer "verschluckt". Weiss jemand wieso?
Ich habe nun weiter am Code gearbeitet. Jetzt kommen plötzlich random float-Zahlen wo per Setup eigentlich die fixen strings ("Current Draw" etc.) geprintet werden sollten. Die floats ändern synchron mit den korrekten berechneten floats rechts.
Wieso das? Ich printe ja nirgends floats z.B. auf x=0 (also ganz links des Displays)
float CurrentVal = A0; // voltage input from current measuring
float TempVal = A1; // voltage input from temp sensor
float RpowerVal = A2;
float FpowerVal = A3;
Das sind constante bytes.
Warum bastelst Du da mit dtostrf?
lcd.print(outstr); // print the calculated value to lcd-display
Current = (((((analogRead(CurrentVal)) * 5.0) / 1024.0) - 0.5) * 7.518); // calculating the current
dtostrf(Current, 5, 1, outstr);
Warum setzt du den Sketch nicht direkt hier rein und verwendest Code-Tags?
Dann kann den auch jeder lesen. Oder möchtest du, dass den nicht jeder liest ?