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
Mehrere TFT Screens
07.02.2019, 19:24
Beitrag #1
Mehrere TFT Screens
Hallo,
benötige für ein Projekt 4 TFT Screens die einzeln über SPI angesteuert werden können. Habe ich nun geschafft. Es läuft mit der Adafruit Library, würde aber gerne auch die "TFT library for S6D02A1" von bodmer umsteigen.
Hat jemand schonmal mit der genannten Library mehrere TFTs angesteuert?
Das Problem dabei ist, dass man die Pins schon vorher in der.h Datei festlegt und nicht mehrere Instanzen mit Unterschiedlichen Pins festlegen kann.

Falls jemand einen Tipp hat wäre ich sehr dankbar!

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.02.2019, 19:26
Beitrag #2
RE: Mehrere TFT Screens
Links zu den Libs würden es uns erleichtern, da mal rein zu schauen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.02.2019, 19:31
Beitrag #3
RE: Mehrere TFT Screens
Natürlich. Ich vergaß.
Bitteschön: https://github.com/Bodmer/TFT_S6D02A1
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.02.2019, 19:42
Beitrag #4
RE: Mehrere TFT Screens
Du musst "nur" die 3 Pins in den Konstruktor übernehmen. rst kann nach meiner Meinung für alle gleich sein.
Ungetestet:
Code:
// in der TFT_S6D02A1.h
TFT_S6D02A1(int16_t _W = S6D02A1_TFTWIDTH, int16_t _H = S6D02A1_TFTHEIGHT, int8_t cs, int8_t dc, int8_t rst);


// in der TFT_S6D02A1.cpp:
TFT_S6D02A1::TFT_S6D02A1(int16_t w, int16_t h, int8_t cs, int8_t dc, int8_t rst)
{
  _cs   = cs;
  _dc   = dc;
_rst = rst;
....
Damit solltest Du beliebige Instanzen anlegen können.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.02.2019, 19:52
Beitrag #5
RE: Mehrere TFT Screens
Vielen Dank für die schnelle Antwort.
So etwas in die Richtung hatte ich mir auch vorgestellt.

Werde ich auf jeden Fall ausprobieren.

Was ich jetzt mit den SPI TFTs gelernt habe ist, dass man RST,dc und CS für jede neue Instanz neu Belegen muss um die TFTs einzeln anzusteuern.
Das erschließt sich mir überhaupt nciht aus der SPI Logik...aber naja.
Nach langer Sucherei auf die Lösung gekommen.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.02.2019, 19:57 (Dieser Beitrag wurde zuletzt bearbeitet: 07.02.2019 19:58 von Tommy56.)
Beitrag #6
RE: Mehrere TFT Screens
CS brauchst Du aus der SPI-Logik für jeden Teilnehmer einzeln. RST kann in meinen Augen für alle ein gemeinsamer Pin sein. DC scheint eine Besonderheit des Displays zu sein (evtl. kann man die auch zusammen legen) oder wie handelt die andere Lib das? (evtl. Link).
Ich habe das Ganze nur formal umgesetzt. Evtl. musst Du noch mal im Datenblatt des Displays schauen.
Was kann diese Lib Besonderes, was die andere nicht kann?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.02.2019, 20:11
Beitrag #7
RE: Mehrere TFT Screens
Ja das mit CS ist mir bewusst. Hab es nur bei den Tests rausgefunden das DC und Reset einen eigenen brauchen das es funktioniert.
Habe grad getestet mit dem umschreiben der Header und der cpp datei. Hat leider nicht funktioniert.
Fehlercode: Documents\Arduino\libraries\TFT_S6D02A1-master/TFT_S6D02A1.h:223:3: error: default argument missing for parameter 3 of 'TFT_S6D02A1::TFT_S6D02A1(int16_t, int16_t, int8_t, int8_t, int8_t)'

Anscheinend fehlen default parameter...

Ich möchte gerne diese Library, da man da verschiedene Fonts auswählen kann die dann auhc bei großer Schrift bei weitem nicht so pixelig sind wie mit den anderern Librarys.
Ein schöner Zusatzfaktor ist halt auch noch, dass es schneller ist mit dem Bild laden etc. was jetzt aber bei mir nicht der ausschlaggebende Punkt ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.02.2019, 20:15
Beitrag #8
RE: Mehrere TFT Screens
Du hast die Änderung in der TFT_S6D02A1.h vergessen.
Code:
// in der TFT_S6D02A1.h
TFT_S6D02A1(int16_t _W = S6D02A1_TFTWIDTH, int16_t _H = S6D02A1_TFTHEIGHT, int8_t cs, int8_t dc, int8_t rst);

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Mehrere Servos gleich ansteuern? LoroLoco 2 1.964 12.01.2018 10:29
Letzter Beitrag: hotsystems
  Mehrere RGB LEDs einzeln Blinken lassen mavericklp 2 1.809 04.02.2016 19:07
Letzter Beitrag: mavericklp
  Mehrere Funksteckdosen ansteuern Bernd_75 2 2.032 05.07.2015 12:09
Letzter Beitrag: Bernd_75
  USB "Verteiler" / mehrere Arduinos verbinden DerHorst 1 3.546 24.04.2015 16:45
Letzter Beitrag: DerHorst
  Mehrere LEDs schalten neon 6 4.379 14.03.2015 14:40
Letzter Beitrag: neon
  Arduino Mega und mehrere Shields / I2C funnyzocker 6 4.624 17.01.2015 10:17
Letzter Beitrag: Scherheinz
  Arduino Uno - Mehrere analoge Signale gleichzeitig Ðevon 8 8.514 14.04.2014 08:31
Letzter Beitrag: Ðevon
  mehrere Optokoppler ansteuern compu 0 2.744 24.08.2013 07:24
Letzter Beitrag: compu

Gehe zu:


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