Display 1,14 Zoll 135x240 Pixel Treiber ST7789V

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

    • Display 1,14 Zoll 135x240 Pixel Treiber ST7789V

      Hallo alle Miteinander, such einen Treiber für das Display 1,14 Zoll 135x240 mit dem Treiber ST7789V.
      anbei ein Bild und die lib die ich gefunden habe, diese funktioniert aber leider nicht so richtig, da sie für 240x240 Pixel geschrieben wurde.
      Anbei mal ein Test Programm, beim flashen wird es richtig dargestellt, aber im Betrieb nicht richtig
      Files
    • Hallo Heiko,

      das Display scheint angesprochen zu werden, aber irgendwie scheint es nicht die Daten zu löschen .
      Dort sind immer noch die nicht richtig dargestellten Daten aus dem alten Programm.
      Es wechselt immer zwischen Bild 1 und Bild 2 in 3 sekunden Rythmus.

      Gruß Thomas
      Files
    • Und was noch auffällt, beim flashen ist das Display deutlich heller als im Betrieb.
      Ich meine ich hätte im Datenblatt gelesen das man das Display heller stellen kann.
      Ist genauso wie mit dem altem Programm, da waren die Linien beim flashen deutlich heller als im Betrieb.
      Files
    • Hallo Heiko,

      laut Datenblatt ich meine ab Seite 150 steht was zur Helligkeitseinstellung.

      Datenblatt ist zu groß um es mitzuschicken, hier ist der Link.:

      newhavendisplay.com/appnotes/datasheets/LCDs/ST7789V.pdf

      8.21 Display Dimming
      8.21.1 General Description
      A dimming function (how fast to change the brightness from old to new level and what are brightness
      levels during the change) is used when changing from one brightness level to another. This dimming function
      curve is the same in increment and decrement. The basic idea is described below.



      Gruß Thomas
    • Hier der Code funktioniert nicht mit der Uhrzeit und B1 bis B6

      Source Code

      1. Do
      2. If FlagRefreshDisplay = 1 then
      3. cls
      4. Setfont Color16x16
      5. Boxfill(0 , 0) -(239 , 134) , Black
      6. Setfont Color8x8
      7. Lcdat 8, 2 , "Linie Ziel Abfahrt(min)" , White , Black
      8. Box(0 , 22) -(234 , 22) , White
      9. Box(0 , 118) -(234 , 22) , White
      10. Box(180 , 22) -(22 , 118) , White
      11. Box(0 , 118) -(234 , 22) , White
      12. Lcdat y1 , 4 ,"1" , Orange, Black ' Displayzeile 2-7 Angabe der Zugnummer max. 2 Zeichen
      13. Lcdat y2 , 4 ,"2" , Orange, Black
      14. Lcdat y3 , 4 ,"33" , Orange, Black
      15. Lcdat y4 , 4 ,"13" , Orange, Black
      16. Lcdat y5 , 4 ,"S1" , Orange, Black
      17. Lcdat y6 , 4 ,"S2" , Orange, Black
      18. Lcdat y1 , 210 ,"min" , Orange, Black
      19. Lcdat y2 , 210 ,"min" , Orange, Black
      20. Lcdat y3 , 210 ,"min" , Orange, Black
      21. Lcdat y4 , 210 ,"min" , Orange, Black
      22. Lcdat y5 , 210 ,"min" , Orange, Black
      23. Lcdat y6 , 210 ,"min" , Orange, Black
      24. Lcdat y1 , 34 ,"Is-Wermingsen" , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      25. Lcdat y2 , 34 ,"Brockhausen" ,Orange, Black
      26. Lcdat y3 , 34 ,"Altena BF" , Orange, Black
      27. Lcdat y4 , 34 ,"IS-Nussberg" , Orange, Black
      28. Lcdat y5 , 34 ,"Iserlohn BF" , Orange, Black
      29. Lcdat y6 , 34 ,"Menden BF" , Orange, Black
      30. Bahn1 = " " + str(B1)
      31. Lcdat y1 , 190 ,"B1" , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      32. Bahn2 = " " + str(B2)
      33. Lcdat y2 , 190 ,"B2" , Orange, Black
      34. Bahn3 = " " + str(B3)
      35. Lcdat y3 , 190 ,"B3" , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      36. Bahn4= " " + str(B4)
      37. Lcdat y4 , 190 ,"B4" , Orange, Black
      38. Bahn5 = " " + str(B5)
      39. Lcdat y5 , 190 ,"B5" , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      40. Bahn6 = " " + str(B6)
      41. Lcdat y6 , 190 ,"B6" , Orange, Black
      42. tmpString = Str(Stunden)+"00" 'Einblendung der Uhrzeit unterste Displayzeile
      43. Zeit = Right(tmpString,2) + ":"
      44. tmpString = Str(Minuten)+"00"
      45. Zeit = Zeit + Right(tmpString,2)
      46. Lcdat 128,120,Zeit,White,Black
      47. Lcdat 128 , 30 ,"Uhrzeit", White , Black
      48. decr B1 'bei jedem Durchlauf runterzählen der Abfahrtszeit
      49. decr B2
      50. decr B3
      51. decr B4
      52. decr B5
      53. decr B6
      54. if B1 = 0 then y1 = 105 'immer wenn die Bahn auf der Anzeige
      55. if B1 = 0 then y2 = 30 'die Abfahrtszeit 0min erreicht wird diese in
      56. if B1 = 0 then y3 = 45 'die untereste Zeile geschoben
      57. if B1 = 0 then y4 = 60 'und alle anderen rücken um 12 Pixel nach oben.
      58. if B1 = 0 then y5 = 75
      59. if B1 = 0 then y6 = 90
      60. if B1 = 0 then B1 = 60
      61. if B2 = 0 then y2 = 105
      62. if B2 = 0 then y3 = 30
      63. if B2 = 0 then y4 = 45
      64. if B2 = 0 then y5 = 60
      65. if B2 = 0 then y6 = 75
      66. if B2 = 0 then y1 = 90
      67. if B2 = 0 then B2 = 60
      68. if B3 = 0 then y3 = 105
      69. if B3 = 0 then y4 = 30
      70. if B3 = 0 then y5 = 45
      71. if B3 = 0 then y6 = 60
      72. if B3 = 0 then y1 = 75
      73. if B3 = 0 then y2 = 90
      74. if B3 = 0 then B3 = 60
      75. if B4 = 0 then y4 = 105
      76. if B4 = 0 then y5 = 30
      77. if B4 = 0 then y6 = 45
      78. if B4 = 0 then y1 = 60
      79. if B4 = 0 then y2 = 75
      80. if B4 = 0 then y3 = 90
      81. if B4 = 0 then B4 = 60
      82. if B5 = 0 then y5 = 105
      83. if B5 = 0 then y6 = 30
      84. if B5 = 0 then y1 = 45
      85. if B5 = 0 then y2 = 60
      86. if B5 = 0 then y3 = 75
      87. if B5 = 0 then y4 = 90
      88. if B5 = 0 then B5 = 60
      89. if B6 = 0 then y6 = 105
      90. if B6 = 0 then y1 = 30
      91. if B6 = 0 then y2 = 45
      92. if B6 = 0 then y3 = 60
      93. if B6 = 0 then y4 = 75
      94. if B6 = 0 then y5 = 90
      95. if B6 = 0 then B6 = 60
      96. Reset FlagRefreshDisplay 'Flag Löschen
      97. End If
      98. loop
      Display All
    • Hallo Mitch64,

      stimmt, hatte durch die Umformatierung der Texte, das falsch geschrieben,
      aber weisst du was bei den Variablen B1 bis B6 nicht stimmt ?

      Source Code

      1. Bahn1 = " " + str(B1)
      2. Lcdat y1 , 190 ,"B1" , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      3. Bahn2 = " " + str(B2)
      4. Lcdat y2 , 190 ,"B2" , Orange, Black
      5. Bahn3 = " " + str(B3)
      6. Lcdat y3 , 190 ,"B3" , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      7. Bahn4= " " + str(B4)
      8. Lcdat y4 , 190 ,"B4" , Orange, Black
      9. Bahn5 = " " + str(B5)
      10. Lcdat y5 , 190 ,"B5" , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      11. Bahn6 = " " + str(B6)
      12. Lcdat y6 , 190 ,"B6" , Orange, Black
      13. tmpString = "00"+Str(Stunden) 'Einblendung der Uhrzeit unterste Displayzeile
      14. Zeit = Right(tmpString , 2) + ":"
      15. tmpString ="00" +Str(Minuten)
      16. Zeit = Zeit + Right(tmpString,2)
      17. Lcdat 128,120,Zeit,White,Black
      18. Lcdat 128 , 30 ,"Uhrzeit", White , Black
      Display All
    • Hallo Mitch,

      Fehler gefunden.

      Source Code

      1. Bahn1 = "00" + Str(B1)
      2. Lcdat y1 , 190 ,B1 , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      3. Bahn2 = "00" + Str(B2)
      4. Lcdat y2 , 190 ,B2 , Orange, Black
      5. Bahn3 = "00" + Str(B3)
      6. Lcdat y3 , 190 ,B3 , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      7. Bahn4= "00" + Str(B4)
      8. Lcdat y4 , 190 ,B4 , Orange, Black
      9. Bahn5 = "00" + Str(B5)
      10. Lcdat y5 , 190 ,B5 , Orange, Black ' Bahnbezeichnung Bahn 1-6 max. 13 Zeichen
      11. Bahn6 = "00" + Str(B6)
      12. Lcdat y6 , 190 ,B6 , Orange, Black
      Display All
    • six1 wrote:

      Natürlich müsste dann deine LIB in der Lage sein, diese Schnittstellen / CS anzusteuern.
      Leider erwachtet sie ein Alias und eine Konstante.
      @ Thomas 1964 Versuch mal in der Config das ', Cs1 = Portd.3' weg zu lassen und dafür zwei Zeilen:
      Portd.3=0
      Config Portd.3 = OUTPUT
      einzufügen. Geht das Display noch normal (und reagiert nicht mehr nach Portd.3=1 )wäre es möglich die CS "zu Fuß" zu setzen für das jeweilige Display .
    • versuchen kannst du es ja mal.

      BASCOM Source Code

      1. $regfile = "m328pdef.dat" 'ATmega328P (Arduino)
      2. $crystal = 16000000
      3. $hwstack = 64
      4. $swstack = 60
      5. $framesize = 60
      6. Cs_1 Alias Portd.2
      7. Config Cs_1 = Output
      8. Cs_2 Alias Portd.3
      9. Config Cs_2 = Output
      10. Cs_1 = 1
      11. Cs_2 = 1
      12. Const Portrait = 0
      13. Const Rotate_180 = 1
      14. $lib "glcd-ST7789V_135x240.lib"
      15. ' Designate the connection port of LCD. A0 = [DC], Rst = [RES] , Si = [SDA] , Sclk = [SCL]
      16. Config Graphlcd = Color , A0 = Portd.4 , Rst = Portd.5 , Si = Portd.6 , Sclk = Portd.7
      17. Cs_1 = 0
      18. Initlcd 'Init Display 1
      19. Cls
      20. Cs_1 = 1
      21. Cs_2 = 0
      22. Initlcd 'Init Display 2
      23. Cls
      24. Cs_2 = 1
      25. Const Black = &B0000_0000
      26. Const Red = &B1110_0000
      27. Const Green = &B0001_1100
      28. Const Blue = &B0000_0011
      29. Const Magenta = &B1110_0011
      30. Const Yellow = &B1111_1100
      31. Const Cyan = &B0001_1111
      32. Const White = &B1111_1111
      33. '
      34. Const Orange = &B1110_1100
      35. Const Brightgreen = &B0011_1101
      36. Const Brightblue = &B0001_1111
      37. Const Darkred = &B1010_0000
      38. Const Darkgreen = &B0001_0000
      39. Const Darkblue = &B0000_0010
      40. Do
      41. Cs_1 = 0 'Display 1 aktiv
      42. Setfont Color8x8
      43. Lcdat 1 , 1 , "Red" , Red , Black
      44. Lcdat 9 , 0 , "Green" , Green , Black
      45. Box(10 , 50) -(30 , 80) , Cyan
      46. Boxfill(120 , 20) -(150 , 50) , Green
      47. Circle(180 , 60) , 20 , Yellow
      48. Lcdat 80 , 85 , "1234" , Green , Black
      49. Cls
      50. Cs_1 = 1
      51. Cs_2 = 0 'Display 2 aktiv
      52. Setfont Color8x8
      53. Lcdat 1 , 1 , "Red" , Red , Black
      54. Lcdat 9 , 0 , "Green" , Green , Black
      55. Box(10 , 50) -(30 , 80) , Cyan
      56. Boxfill(120 , 20) -(150 , 50) , Green
      57. Circle(180 , 60) , 20 , Yellow
      58. Lcdat 80 , 85 , "1234" , Green , Black
      59. Cls
      60. Cs_2 = 1
      61. Wait 2
      62. Loop
      63. End
      Display All