AW: ForumsController: Eine Display-Diskussion
Hier mal wieder ein kleines Update zum DOGXL Display "Projekt":
Leider hatte ich die letzte Woche nicht ganz so viel Zeit, die ich in die Weiterentwicklung stecken konnte, aber ein paar Neuigkeiten gibts doch
Da die analogen Anzeigen nicht nur mein Steckenpferd sind, habe ich mich nochmal an die Umsetzug eines analogen Tachos gemacht.
Beim ersten Versuch hatte ich die Geschwindigkeitswerte, die im Kreisbogen angezeigt werden einfach auf der X-Achse skaliert und auf den Kreisbogen projiziert.
Das hatte aber dazu geführt, dass die Skalierung im Kreisbogen des Tachos nicht linear war und das hat mir überhaupt nicht gefallen.
Also habe ich die Skalierung so verändert, dass diese sich gleichmäßig im Kreisbogen darstellen läßt, was jetzt nicht ganz so trivial war (zumindest für mich als Hobby-Programmierer). Dazu musste ich auf trigonometrische Funktionen (sin, cos) zurückgreifen, also ein kleiner Auffrischungskurs in Sachen Mathematik

Das Ergebnis gefällt mir wesentlich besser als der erste Versuch.
Zunächst hatte ich den Kreisbogen für den Tacho ganz ohne Skalierung, wie im Vorschlag von agentm. Nur fand ich dies dann recht zweckfrei, denn nur eine Anzeige im Kreisbogen ohne grafische Orientierung welcher Geschwindigkeit dies entspricht, brachte m.E. mehr Verwirrung und führte automatisch dazu, dass man sich ausschliesslich auf die digitale Anzeige konzentrierte. Also habe ich mich für eine Skalierung in der analogen Anzeige entschieden.
Um den analogen Tacho neben dem bisherigen "Cockpit" testen zu können, habe ich aber erst einmal die "Multi-Screen" Funktion implementiert. So konnte ich im "TEST" Screnn am Tacho basteln ohne das bisherige Cockpit zu tangieren.
Bedingt durch die Skalierung im Tacho musste ich diesen größer darstellen und fast das ganze Display ausnützen, denn in einer kleineren Version sah das dann so gequetscht aus, und war deshalb für mich ein optisches NO-GO.
Trotzdem wäre in der aktuellen Ausführung noch genug Platz um z.B. rechts und links die "Bar-Graphen" für Batterie, Power, etc. zu platzieren.
Da es ich aber um ein PoC handelt wollte ich das erste Ergebnis erstmal hier vorstellen um Feedback einzuholen, bevor ich an der weiteren Integration von Komponenten arbeite.
Um das Display auch irgendwann einmal komfortabel bedienen zu können, habe ich mich dem Vorschlag eines Forums-Mitglied angeschlossen und mir einen Lenkertaster mit 3 Tasten besorgt (macro 2h rc). Die Tastereinheit ist aus Gummi und wesentlich kleiner, als ich das auf den Produktfotos vermutet hatte. Er hat einen guten Druckpunkt und ist optisch sehr unauffällig am Lenker anzubringen. Hier ein Foto mit Größenvergleich zu einer 2 Euro Münze:
Zum Display:
Die Kadenz-Anzeige, die ich im Tacho platziert habe ist jetzt ohne Animation, die war mir dann doch zu "nervös". Allerdings wird die Kadenzanzeige auch nur dann eingeblendet, wenn man pedaliert. Alternativ könnte man, wenn nicht pedaliert wird, das Fahrrad Symbol an der Stelle anzeigen lassen.
Ich bin auf euer Feedback gespannt
Allerdings habe ich jetzt ein anderes Problem bekommen.
Der Speicher des Arduino wird langsam knapp und wenn ich aktuell versuche die BMP085.h zu aktivieren (Temp/Drucksensor), ist dafür schon kein Platz mehr.

Der Code ist momentan noch sehr aufgebläht, und ich werde versuchen diesen zu optimieren bzw. zu reduzieren.
Da ich ja new-be mit den Arduino bin, hat vielleicht jemand, der mehr Erfahrung mit Arduino Programmierung hat als ich, gute Tipps wo man Speicher sparen kann. Z.B. durch Verwendung anderer Variablentypen, Auslagerung von Code in Funktionen, abspecken der Libraries um Funktionen, die nicht genutzt werden, etc....
Bevor ich nun weiter an Bildschirminhalten und deren Darstellung feile, versuche ich die Taster Bedienung zu implementieren. Sollte das nicht klappen, müßte ich das Konzept komplett umstellen. Wir werden sehen....
Ich werde euch auf dem Laufenden halten...
Gruß
Frank