hallo zusammen wie die Überschrift schon sagt möchte ich in einem TFT Display den Text um 90 Grad drehen.
Es ist ein 3.2 Zoll Display von Sainsmart.
hat vielleicht jemand einen Tipp wie ich es ganz unkompliziert hinbekomme?
Welche Lib?!?!?
Bei UTFT geht das einfach mit print():
print(char *st, int x, int y, int deg)
Der letzte Parameter ist der Winkel in Grad (der ist default = 0, wenn man ihn nicht angibt). Das dauert aber EWIG da er für jeden einzelnen Pixel eine Koordinatentransformation mit 4 trigonometrischen Berechnungen macht. Da kann man dabei zusehen wie er den Text schreibt.
Du kannst auch das komplette Display ständig drehen wenn du das Display so initialisierst:
display.InitLCD(PORTRAIT);
Download:
http://henningkarlsen.com/electronics/library.php?id=52
genau diese Library ist das.
muss ich bei:
UTFT myGLCD (ITDB32S,38,39,40,41);
das ITDbs32 durch PORTRAIT ersetzen?
wenn ja bleibt das Display allerdings weiß
Nein. Das ist der Konstruktor. Der bleibt. Da wird der Typ des Displays festgelegt
Aus den Beispielen:
UTFT myGLCD(ITDB32S,19,18,17,16);
void setup()
{
myGLCD.InitLCD(); //<--- hier PORTRAIT in Klammern. LANDSCAPE muss man nicht hinschreiben, da das der Default Wert ist.
myGLCD.clrScr();
}
Also so:
myGLCD.InitLCD(PORTRAIT);
Sieht man auch daran wie die Methode im Header definiert ist:
void InitLCD(byte orientation=LANDSCAPE);
Das = heißt, dass dieser Wert übergeben wird wenn man bei Aufruf nichts übergibt. Genauso ist print definiert:
void print(char *st, int x, int y, int deg=0);
Wenn man also nur das char Array und die Koordinaten übergibt ist deg automatisch 0
Und schau dir mal die Doku zu der Lib an. Da ist das alles erklärt:
http://henningkarlsen.com/electronics/resource/UTFT/UTFT.pdf