2.8" ISP DISPLAY ILI9341 mit Touch ISP XPT2046

2.8" ISP DISPLAY ILI9341 mit Touch ISP XPT2046

Beitragvon Rocktagon » Mi 16. Nov 2016, 10:22

Hierbei geht es um das 2.8" ISP Display mit Touchscreen und baugleichen (http://www.ebay.de/itm/191982674608)
s-l1600 (1).jpg

Um den Touchscreen ISP (XPT2046 Chip) an zu steuern:

Code: Alles auswählen
#define touch_irq 7 //Wenn das Display berührt wird Daten abfragen
#define touch_cs 9


//**** Touchspreen SPI (XPT2046)
word getCoord(uint8_t ctrl) {
  word last = 0;
  word akt = 0;
  for (byte i = 0; i < 255; i++) {
    last = akt;
    akt = SPI.transfer(0);
    akt = (akt << 4) | (SPI.transfer(ctrl) >> 4);
    if (last == akt) return akt;
  }
}


byte getTouch() {
  if (digitalRead(touch_irq) != LOW) return 0;
  digitalWrite(touch_cs, LOW);
  word x = getCoord(0x93) - 192 ; //192 = Kalibrierung. Muss evtl auf das jeweilige Display angepasst werden
  wordy = getCoord(0xD3) - 192;
  SPI.transfer(0);
  SPI.transfer(0xD4);
  digitalWrite(touch_cs, HIGH);
  Serial.println(x);
  Serial.println(y);
}

void initTouch() {
  pinMode(touch_cs, OUTPUT);
  pinMode(touch_irq, INPUT_PULLUP);
  SPI.begin();
  digitalWrite(touch_cs, LOW);
  SPI.transfer(0xD4); //Start Touch_IRQ
  digitalWrite(touch_cs, HIGH);
}


Für das Display selbst (ILI9341 Chip) benutze ich das Lib von http://marekburiak.github.io/ILI9341_due/ da es fast doppelt so schnell ist wie das Adafruit Lib. Es ist allerdings auch etwas größer.
Damit das Display läuft habe ich einen Widerstand 4.7K Ohm zwischen Reset und Vcc gelötet. Oft wird geschrieben den Reset Pin direkt an VCC oder aufs Board etc zu verbinden, damit lief das Board bei mir aber nicht. Und das Display ist NICHT 5V tolerant! man muss bei allen Datenlienen einen Spannungsteiler oder Levelconverter benutzen und das Display auch nur mit 3.3V versorgen. Das display geht bei 5V nicht kaputt aber es läuft auch nicht.
Danach kann das Board ganz normal mit den Beispiel Sketches benutzt werden.

Das ganze sollte bei den baugleichen 2.2"/2.4" Displays genauso gehen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 142
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Zurück zu Arduino

Wer ist online?

Mitglieder in diesem Forum: NewBot und 0 Gäste

Fatal: Not able to open ./cache/data_global.php