3,5" TFT 320x480Pixel mit ILI9486

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Hallo Leute,

      ich bin neu hier im Forum und habe da gleich eine Riesen Frage zu dem ILI9486. Wie und was wird von den ganzen Pinnen am Raspberry angeschlossen und wie kann ich den Code der hier zur Verfügung gestellt dann Verwenden?
      Ich bin da absoluter Neuling.

      Ein Tuturial dazu wäre da nicht Verkehrt.

      Könnte einer so hilfreich sein und mir beschreiben wie ich da nun vorgehe?

      lg und danke
    • Oh, falsches Forum erwischt? Hier geht es um die Programmierung mit bascom (basic), die Programme laufen auf AVRs, nicht auf einen Raspberry. Erwarte hier also nicht zu viel, was deine Frage angeht. :/
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Hallo allerseits
      Zunächst einmal entschuldige ich mich für Sprachfehler, ich kenne kein Deutsch und benutze einen automatischen Übersetzer.

      Zweitens, vielen Dank an "hkipnik" für die Bereitstellung der Bibliothek für ILI9486. Das Beispielprogramm arbeitet sofort ohne Änderungen.

      Ich verwende das Waveshare XPT2046-Display. Das einzige, was ich im Code tun musste, war, über einen Prozessor-Pin "1" am LCD_BL-Port des Displays einzugeben.

      Ich möchte jedoch einige Themen ansprechen.
      1) Die Kalibrierungsfunktion bietet keine horizontale Ausrichtung der Anzeige. Kleinigkeiten, aber Anfänger können sich darin verlieren.
      2) Ich verstehe nicht, wie CS-Signale im Beispielprogramm verwendet werden. In dem von mir verwendeten Display befinden sich 3 Signale, eines für das LCD, das andere für das Touchpanel und das dritte für die SD-Karte. Der Programmcode enthält etwas für mich Unverständliches.
      3) Ich möchte Sie nach der Arbeitsgeschwindigkeit fragen. In dem Beispielprogramm habe ich ein Stück Code-Zeichenlinien zwischen allen Punkten auf der LCD-Kante hinzugefügt. Insgesamt zeichnet das Programm 480 + 320 = 800 Zeilen. Es dauert ungefähr 9 Sekunden. Ich benutze ATmega2560 Prozessor mit 16MHz Takt. Um ehrlich zu sein, enttäuscht mich diese Geschwindigkeit ein bisschen. Ich frage mich, ob etwas dagegen unternommen werden kann.

      Grüße
      Piotr aus Polen
    • Hallo Zusammen,

      ich benütze momentan das 3.5" Raspberry Display(ILI9486) mit den SPI-Routinen von "Mister Display" (ILI9486-SPI-M2560) die wirklich prima funktionieren. Ich möchte jetzt aber auf einen ATXMega umsteigen. (ATXMEGA 256 A3)
      Hat jemand die Routinen schon für einen XMega angepasst?
      Oder gibt es ILI9486 SPI-Routinen für den XMega?
      (Sollte es XMega Routinen zur parallelen Anteuerung geben, bin ich auch interessiert, dann muß ich halt das Display wechseln!)

      Viele Grüße
      Bernd

      The post was edited 1 time, last by MEGANIX ().

    • Hallo Community,

      komme gerade dazu dieses Display einmal in Betrieb zu nehmen.

      lcdwiki.com/3.5inch_Arduino_Display-Mega2560

      Hat schon jemand dieses Display am Arduino Mega2560 per SPI in Funktion?

      Habe die Port-Pins in Hkipniks ILI9846 Programm entsprechend der Angaben im Link (Interface Definition) auf den neuen 36-poligen Stecker angepaßt.

      In der Zeichnung sieht man die Port-Pin Zuweisungen, wie sie beim Raspi-Display (Stecker seitlich) bisher funktioniert haben und wie ich sie für das Mega-Steckdisplay angepaßt habe, hoffentlich korrekt.

      Alle Signale an den neu zugewiesenen Port-Pins sind korrekt vorhanden, d.h. man erkennt am Oszi auch, dass sich die Signale nach einem Programm-Durchlauf wiederholen.

      Doch leider werden keine Texte/Bilder nach Hkipnik dargestellt, der Display-Schirm leuchtet nur durch die Hintergrund-Beleuchtung weiß-hell.


      Hat jemand einen Tipp für mich.

      Gruß
      Ulrich
      Files
    • Hallo Hkipnik,

      super, das war es a_33_25b631e8 . Alle Features sind vorhanden und schnell ist das Display auch noch, und ich habe den 16MHz Quarz gegen einen 20Mhz ausgetauscht.

      Hatte mir dieses Shield bestellt:
      amazon.de/dp/B01N2N7LZA?tag=du…1&linkCode=osi&th=1&psc=1

      Mega2560 von unten gesteckt und von oben das Display und alle Pins weiterhin zugänglich.

      The post was edited 1 time, last by Ulrich ().

    • Hallo Hkipnik,

      im Header des Programm's aus Beitrag 20 stehen Bezeichnungen wie ILI9481-86-88.
      Die Pin-Belegung dieser Display unterscheiden sich offenbar von der Belegung des ILI9846?

      Ist das ein Schreibvertauscher?

      Zur Speed des ILI9846:
      Die Geschwindigkeit mit welcher aufeinanderfolgende 16-Daten via WR-Kommando geschrieben werden liegt zwischen 360ns und 380ns. (Quarz 20MHz). Das finde ich schon sehr beachtlich!

      edit: sorry, sorry, der Schreibvertauscher lag bei mir a_45_132ca9f5
      Nochmals vielen Dank für deine genialen Display-Programme.

      The post was edited 2 times, last by Ulrich ().

    • Hallo Hkipnik,

      ich habe ein kleines Problem mit der Darstellung einer Box im Vergleich zu einer Linie.

      Linien-Definition: Lcd_line 0 , 300 , 480 , 300 , Yellow LCD-Mode = 3


      Mit dieser Linien-Einstellung soll eine Linie von x=0, y=300 nach x=480,y=300 gezeichnet werden. Dies erscheint auch zum Darstellungsbereich
      des 320x480 Displays passenend.

      Mit diesen Box-Einstellungen: Lcd_box 0 , 0 , 5 , 300 , 1 , Yellow , Red LCD-Mode = 3

      hätte ich erwartet, dass eine Box von Punkt x=0, y=0 mit einer Breite von 5 Pixeln und einer Länge von 300 Pixeln dargestellt wird und sich die Unterkante der Box mit der Linie trifft.

      Es ist jedoch so, dass die Box deutlich oberhalb der Linie aufhört.

      Ich könnte die Box-Länge ja entsprechend skalieren um auf die gleiche Höhe der Linie zu kommen, aber war das so vom Programm gewollt, oder interpretiere ich da etwas falsch.

    • Hallo Michael,

      habe das gerade daraufhin noch mal überprüft:

      um mit dem Length-Wert (300) der Box auf den gleichen Wert der Linie (Y=300) zu kommen, muss ich 60 zum Length-Wert von 300 hinzuaddieren. Also bei
      Lcd_box 0 , 0 , 5 , 360 , 1 , Yellow , Red LCD-Mode = 3

      trifft die Box auf die Linie, entspricht einer ergänzenden Scalierung von 1,2 mal dem Y-Wert einer Linie.

      Bei den Werte-Einstellungen habe ich zum Prüfen keine Variablen, sondern ganze Zahlenwerte eingesetzt. Kann dennoch etwas abgeschnitten werden?