Go Down

Topic: Batterie-Anzeige 3,2"TFT (Read 269 times) previous topic - next topic

Danie_

Hallo,

ich versuche gerade eine Batteryanzeige, wie sie heute nahezu alle Smartphones haben in ein Projekt zu integrieren.

Dazu habe ich mir die TFT_ExtensionV2 libarry runtergeladen.
Siehe: https://github.com/AndrewMascolo/TFT_ExtensionV2

Da gibt es eine Bargraph Anzeige. Ich habe mir besonders das meter.ino Beispiel angeschaut.
Aber ich bekomme es einfach nicht hin, dass es vernünfig ausschaut!

Grundlegend möchte ich es einfach in die obere rechte ecke setzen, die Prozent-Anzeige mittig in den Bargraph setzen und die Farben, je nach verbleibender Kapazität ändern.
Nice to have wäre dann noch eine Möglichkeit, die Anzeige ab einer gewissen Schwelle im Sekundetakt rot blinken zu lassen. Aber das stelle ich vorerst mal hinten an!


Probleme, die mir beim testen aufgefallen sind:
- Schriftart "big" passt  nicht in das kleine Symbol -> wie kann ich hier das Font ändern?
- keim umlaufender Rand um den Bargraph
- Prozent-Anzeige nicht mittig (horizontal schon, da es ja eine 3 stellige Zahl ist - Vertikal ist es aber nicht zentriert) -> Optisch nicht perfekt
- Balken ist immer Grün -> kein Plan, wie die Parameter dafür zu ändern sind :/

Irgendwie bin ich damit nicht wirklich zufrieden und daher auf der Suche nach einer besseren Lösung!
Bin für jeden Tipp dankbar!

Die Doku ist leider nicht gerade ausführlich....


Gruß Daniel




Klaus_ww

- Schriftart "big" passt  nicht in das kleine Symbol -> wie kann ich hier das Font ändern?
Nimm halt die normale Schriftart.

- keim umlaufender Rand um den Bargraph
Musst Du selbst drumherum malen.

- Prozent-Anzeige nicht mittig (horizontal schon, da es ja eine 3 stellige Zahl ist - Vertikal ist es aber nicht zentriert) -> Optisch nicht perfekt
Kannst Du doch über die Koordinaten einstellen?

- Balken ist immer Grün -> kein Plan, wie die Parameter dafür zu ändern sind :/
Weiß ich nicht, müßte ich auch rumprobieren.


Die Doku ist leider nicht gerade ausführlich....
Meinste jetzt die zur UTFT? Die ist doch sehr gut.
Die zu den Extensions hab' ich mir nicht angeschaut, werde das aber mal bei Gelegenheit machen.
Wenn ich hier sehr knapp antworte dann wegen der elenden Tipperei auf dem Tablet.

Klaus_ww

Läuft der Code bei Dir richtig?

Code: [Select]


#include <UTFT.h>
#include <UTouch.h>
#include <TFT_ExtensionV2.h>

extern uint8_t BigFont[];

UTFT myGLCD(ITDB32S,38,39,40,41);
UTouch  myTouch( 6, 5, 4, 3, 2);

Base B(&myGLCD, &myTouch);
Meter Voltage_Bar(&B, VERTICAL);

void setup()
{
//  Serial.begin(115200);
  myGLCD.InitLCD(LANDSCAPE);
  myGLCD.clrScr();
  myGLCD.setFont(BigFont);
  myTouch.InitTouch(LANDSCAPE);
  myTouch.setPrecision(PREC_MEDIUM);
  myGLCD.setBackColor(TRANSPARENT);
  myGLCD.fillScr(BLACK);

  Voltage_Bar.Coords(0, 20, 90, 150); // FIRST, must set coordinates before setting Range and optional starting value
  Voltage_Bar.Attributes(ROUNDED, FILL);  //
  Voltage_Bar.Colors(RED, YELLOW, GREEN, BLACK ); // Optional but good to have some color
  Voltage_Bar.SetDirection(LTR); // bottom to top   // Optional
  Voltage_Bar.Percentages(90, 50); // RED starts at 90% from bottom, YELLOW start at 50% and GREEN starts at 0
  Voltage_Bar.SetRange(0, 1023);                 // SECOND, Must be set after coordinates
  Voltage_Bar.SetStartingValue(0);                // THIRD (Optional, but must be set after range)
  Voltage_Bar.HeaderText("VOLTS", WHITE, (byte)Big);
  Voltage_Bar.ProgressText(WHITE, GREY, Big, BOTTOM);
  Voltage_Bar.Draw();
  
  for (int i = 0; i <= 1024; i += 16) // demo voltage
  {
    Voltage_Bar.SetValue(i);
    Voltage_Bar.Progress();
  }

}

void loop() {
  // put your main code here, to run repeatedly:

}
Wenn ich hier sehr knapp antworte dann wegen der elenden Tipperei auf dem Tablet.

Danie_

Hallo Klaus_ww,

ja, der code läuft richtig! Der Beispiel Code aus den Beispielen läuft nicht. Da passen dir Koordinaten nicht! ABer auch durch Anpassen bekam ich es nicht zum laufen.
In deinem Code ist auch der umgebende Rand zu sehen..


Welche Änderungen sollte ich denn noch machen, damit ich es als Batterie-Anzeige oben rechts habe?
Im Endefekt kann ich nur die Koordinaten anpassen. Damit ändert sich dann auch die größe.

Werd jetzt erstmal ein bisschen testen :)

Klaus_ww

Muss ich auch mal mit spielen, hab das nur quick'n dirty aus dem Beispiel abgeändert.
Interessiert mich aber auch, also spielen wir doch beide mit Koordinaten etc. und schauen was passiert.
Wenn ich hier sehr knapp antworte dann wegen der elenden Tipperei auf dem Tablet.

Danie_

Hallo,

die Koordinaten hab ich hinbekommen, allerdings musste ich feststellen, dass es mit der Lib nicht wirklich funktioniert. Wenn man z.B. 90% "Ladung" hat, und rot sagen wir bei 30% losgeht, wird bis 30% rot gezeichnet und ab 30% dann grün...
Finde ich nicht wirklich passend :/

Wenn du es hinbekommen hast, lass es mich wissen.

Ich bin mittlerweile auf eine Eigenkreation umgesprungen.
Ist ganz einfach gehalten. Siehe Anhang.
Wirklich nur zum Testen mal kurz zusammengeschrieben. Sicher nicht optimal. Die Prozentzahl im Balken fehlt noch und auch das Blinken ab x-Prozent fehlt noch...
Außerdem wäre eine Anzeige, ob geladen wird oder nicht bestimmt nicht verkehrt!

Evtl. könnte man es in die Lib mit einbauen oder als Request für die Libary anfragen.


Gruß Danie

Klaus_ww

Ich kriegs's auch nicht hingebastelt, dass die Anzeige horizontal verläuft.
Vertikal kein Problem - Farben kein Problem - Größe kein Problem.

Aber wenn Du jetzt ne Lösung hast dann ist's ja fein.
Wenn ich hier sehr knapp antworte dann wegen der elenden Tipperei auf dem Tablet.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy