Anzeige 1,8" Uhranzeige

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

    • Anzeige 1,8" Uhranzeige

      Hallo, würde gerne für meine Eisenbahn eine Anzeigetafel für Ankunft und Abfahrt machen.
      Das Grundprogramm dank Hkipnik funktioniert.
      Jetzt würde ich das Programm aber gerne erweitern, das die Uhrzeit wirklich sich ändert.
      Desweiteren das sich jede Minute auch die Abfahrt/ Ankunftszeiten ändern.
      Hat irgendeiner schon mal eine Uhr ( ganz einfach muss nicht genau sein) programmiert ?
      Anbei der Code

      Source Code

      1. '*******************************************************************************
      2. 'Programm for Display ST7735R 1.8Zoll 128x160
      3. ' and Display ILI9163 1.8Zoll 128x160
      4. 'Bascom IDE 2.0.7.7
      5. '
      6. 'Version:13012014
      7. 'By Hkipnik
      8. ' © Copyright by H.Kipnik 2012
      9. 'Date 13.01.2014
      10. '*******************************************************************************
      11. ' SD Card CS --> portD.7
      12. ' Miso --> portb.4
      13. 'Display
      14. ' CS --> portb.2
      15. ' DC --> portb.1
      16. ' reset --> portb.0
      17. ' Mosi --> portb.3
      18. ' Clock --> portb.5
      19. '
      20. '
      21. '*******************************************************************************
      22. $regfile = "m328pdef.dat"
      23. $crystal = 20000000
      24. $hwstack = 50
      25. $swstack = 150
      26. $framesize = 150
      27. $baud = 57600
      28. '*******************************************************************************
      29. Const Sdcard = 0 'use SD Card = 1 no SD Card = 0
      30. Const Modus = 1 '0=Portrait 1=Landscape
      31. Const Driver = 1 '0=ST7735 1=ILI9163
      32. 'only Display ST7735
      33. 'Display typ Red or black Tab have different RGB order
      34. 'color of the display plastic wrap
      35. Const Disp_typ = 0 'RGB order 0=Black Tab 1=Red Tab
      36. '*******************************************************************************
      37. Config Portb.2 = Output
      38. Config Portb.1 = Output
      39. Config Portb.0 = Output
      40. Lcd_cs Alias Portb.2
      41. Lcd_dc Alias Portb.1
      42. Lcd_reset Alias Portb.0
      43. Lcd_reset = 1
      44. Lcd_cs = 1
      45. Lcd_dc = 1
      46. '*******************************************************************************
      47. 'Include Declaration
      48. $include "TFTDriver\ST7735_declarations.inc"
      49. '*******************************************************************************
      50. 'Use For Demo
      51. Dim Help_str As String * 15
      52. Dim Temp_str As String * 15
      53. Dim Zahler As Byte
      54. '*******************************************************************************
      55. 'Init SD Card and Spi
      56. #if Sdcard = 1
      57. $include "Avr-Dos\Config_MMCSD_HC.bas"
      58. $include "Avr-Dos\Config_AVR-DOS.bas"
      59. Init_sd_card
      60. #endif
      61. #if Sdcard = 0
      62. ' Config Portb.0 = Output 'auch wenn nicht genutzt
      63. ' Portb.0 = 1
      64. Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
      65. Spsr.0 = 1
      66. Spiinit
      67. #endif
      68. '*******************************************************************************
      69. 'Init the Dispaly
      70. Lcd_init
      71. Lcd_clear Black
      72. '*******************************************************************************
      73. #if Sdcard = 1
      74. Call Init_sd_card() 'Init SD Card
      75. Temp_str = "SD Card= " + Str(sd_ok)
      76. Lcd_text Temp_str , 1 , 1 , 1 , Yellow , Black
      77. ' 1 OK
      78. ' 0 Error
      79. Temp_str = "SD Card Typ= " + Str(mmcsd_cardtype)
      80. Lcd_text Temp_str , 1 , 20 , 1 , Yellow , Black
      81. ' 0 can't init the Card
      82. ' 1 MMC
      83. ' 2 SDSC Spec. 1.x
      84. ' 4 SDSC Spec. 2.0 or later
      85. ' 12 SDHC Spec. 2.0 or later
      86. Wait 2
      87. Lcd_clear Black
      88. #endif
      89. Lcd_clear Blue
      90. Wait 1
      91. Lcd_text "HAMBURG HBF Gleis Abf." , 1 , 3 , 4 , White , Blue
      92. Lcd_text "ICE577" , 1 , 20 , 4 , Blue , White
      93. lcd_text "Berlin HBF" , 42 , 20 , 4 , White , Blue
      94. Lcd_text "2", 110, 20, 4, White , Blue
      95. Lcd_text "17min", 127,20,4,White, Blue
      96. Lcd_text "ICE321" , 1 , 32 , 4 , Blue , White
      97. lcd_text "Koeln HBF" , 42 , 32 , 4 , White , Blue
      98. Lcd_text "3", 110, 32, 4, White , Blue
      99. Lcd_text "21min", 127,32,4,White, Blue
      100. Lcd_text "ICE437" , 1 , 44 , 4 , Blue , White
      101. lcd_text "Kiel HBF" , 42 , 44 , 4 , White , Blue
      102. Lcd_text "7", 110, 44, 4, White , Blue
      103. Lcd_text "11min", 127,44,4,White, Blue
      104. Lcd_text "RB2513" , 1 , 56 , 4 , Blue , White
      105. lcd_text "Luebeck" , 42 , 56 , 4 , White , Blue
      106. Lcd_text "4", 110, 56, 4, White , Blue
      107. Lcd_text "23min", 127,56,4,White, Blue
      108. Lcd_text "RB8715" , 1 , 68 , 4 , Blue , White
      109. lcd_text "HH-Altona" , 42 , 68 , 4 , White , Blue
      110. Lcd_text "9", 110, 68, 4, White , Blue
      111. Lcd_text "8min", 127,68,4,White, Blue
      112. Lcd_text "IC1455" , 1 , 80 , 4 , Blue , White
      113. lcd_text "Hagen HBF" , 42 , 80 , 4 , White , Blue
      114. Lcd_text "11", 110, 80, 4, White , Blue
      115. Lcd_text "18min", 127,80,4,White, Blue
      116. Lcd_text "Uhrzeit 13:45" , 40 , 118 , 4 , White , Blue
      117. Do
      118. '*******************************************************************************
      119. 'test landscape
      120. '*******************************************************************************
      121. #if Modus = 1
      122. For Zahler = 1 To 182
      123. Help_str = Str(zahler)
      124. Temp_str = Format(help_str , "000")
      125. Temp_str = Temp_str + ".bin"
      126. ' Lcd_pic 0 , 0 , 160 , 120 , Temp_str
      127. Next
      128. #endif
      129. Loop
      130. End
      131. '*******************************************************************************
      132. $include "TFTDriver\ST7735_functions-1.inc"
      133. #if Sdcard = 1
      134. $include "Avr-Dos\SD_card_init.inc"
      135. #endif
      136. $include "Font\Font8x8.font"
      137. $include "Font\Font12x16.font"
      138. $include "Font\font8x12.font"
      139. $include "Font\font6x10.font"
      140. $include "Font\font10x16.font"
      Display All
    • Hallo HansHans,

      klappt leider nicht

      Source Code

      1. S = 12
      2. M = 32
      3. Lcd_clear Blue
      4. Lcd_text "HAMBURG HBF Gleis Abf." , 1 , 3 , 4 , White , Blue
      5. Lcd_text "ICE577" , 1 , 20 , 4 , Blue , White
      6. Lcd_text "Berlin HBF 2 min" , 42 , 20 , 4 , White , Blue
      7. Lcd_text "ICE321" , 1 , 32 , 4 , Blue , White
      8. Lcd_text "Koeln HBF 7 min" , 42 , 32 , 4 , White , Blue
      9. Lcd_text "ICE437" , 1 , 44 , 4 , Blue , White
      10. Lcd_text "Kiel HBF 4 min" , 42 , 44 , 4 , White , Blue
      11. Lcd_text "RE8513" , 1 , 56 , 4 , Blue , White
      12. Lcd_text "HH-Altona 3 min" , 42 , 56 , 4 , White , Blue
      13. Lcd_text "RE2566" , 1 , 68 , 4 , Blue , White
      14. Lcd_text "Luebeck 5 min" , 42 , 68 , 4 , White , Blue
      15. Lcd_text "ICE566" , 1 , 80 , 4 , Blue , White
      16. Lcd_text "Hagen HBF 1 min" , 42 , 80 , 4 , White , Blue
      17. Lcd_text "Uhrzeit ";S;":";M;"" , 35 , 118 , 4 , White , Blue
      Display All
    • Hallo Michael,

      meinst du das so ?

      Lcd_text "ICE577" , 1 , 20 , 4 , Blue , White
      'Lcd_text "Berlin HBF 2 min" , 42 , 20 , 4 , White , Blue

      Bahn1 = "Berlin HBF 2 " + str(xyz) + " min"
      Lcd_text Bahn1 , 42 , 20 , 4 , White , Blue


      Lcd_text "ICE321" , 1 , 32 , 4 , Blue , White
      Lcd_text "Koeln HBF 7 min" , 42 , 32 , 4 , White , Blue
      Lcd_text "ICE437" , 1 , 44 , 4 , Blue , White
      Lcd_text "Kiel HBF 4 min" , 42 , 44 , 4 , White , Blue
    • jetzt klappt es

      Source Code

      1. '*******************************************************************************
      2. 'Programm for Display ST7735R 1.8Zoll 128x160
      3. ' and Display ILI9163 1.8Zoll 128x160
      4. 'Bascom IDE 2.0.7.7
      5. '
      6. 'Version:13012014
      7. 'By Hkipnik
      8. ' © Copyright by H.Kipnik 2012
      9. 'Date 13.01.2014
      10. '*******************************************************************************
      11. ' SD Card CS --> portD.7
      12. ' Miso --> portb.4
      13. 'Display
      14. ' CS --> portb.2
      15. ' DC --> portb.1
      16. ' reset --> portb.0
      17. ' Mosi --> portb.3
      18. ' Clock --> portb.5
      19. '
      20. '
      21. '*******************************************************************************
      22. $regfile = "m328pdef.dat"
      23. $crystal = 16000000
      24. $hwstack = 50
      25. $swstack = 150
      26. $framesize = 150
      27. $baud = 57600
      28. '*******************************************************************************
      29. Const Sdcard = 0 'use SD Card = 1 no SD Card = 0
      30. Const Modus = 1 '0=Portrait 1=Landscape
      31. Const Driver = 1 '0=ST7735 1=ILI9163
      32. 'only Display ST7735
      33. 'Display typ Red or black Tab have different RGB order
      34. 'color of the display plastic wrap
      35. Const Disp_typ = 0 'RGB order 0=Black Tab 1=Red Tab
      36. '*******************************************************************************
      37. Config Portb.2 = Output
      38. Config Portb.1 = Output
      39. Config Portb.0 = Output
      40. Lcd_cs Alias Portb.2
      41. Lcd_dc Alias Portb.1
      42. Lcd_reset Alias Portb.0
      43. Lcd_reset = 1
      44. Lcd_cs = 1
      45. Lcd_dc = 1
      46. '*******************************************************************************
      47. 'Include Declaration
      48. $include "TFTDriver\ST7735_declarations.inc"
      49. '*******************************************************************************
      50. 'Use For Demo
      51. Dim Help_str As String * 15
      52. Dim Temp_str As String * 15
      53. Dim Zahler As Byte
      54. Dim Bahn1 As String * 20
      55. Dim Bahn2 As String * 20
      56. Dim Bahn3 As String * 20
      57. Dim xyz as Byte
      58. xyz = 20
      59. '*******************************************************************************
      60. 'Init SD Card and Spi
      61. #if Sdcard = 1
      62. $include "Avr-Dos\Config_MMCSD_HC.bas"
      63. $include "Avr-Dos\Config_AVR-DOS.bas"
      64. Init_sd_card
      65. #endif
      66. #if Sdcard = 0
      67. ' Config Portb.0 = Output 'auch wenn nicht genutzt
      68. ' Portb.0 = 1
      69. Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
      70. Spsr.0 = 1
      71. Spiinit
      72. #endif
      73. '*******************************************************************************
      74. 'Init the Dispaly
      75. Lcd_init
      76. Lcd_clear Black
      77. '*******************************************************************************
      78. #if Sdcard = 1
      79. Call Init_sd_card() 'Init SD Card
      80. Temp_str = "SD Card= " + Str(sd_ok)
      81. Lcd_text Temp_str , 1 , 1 , 1 , Yellow , Black
      82. ' 1 OK
      83. ' 0 Error
      84. Temp_str = "SD Card Typ= " + Str(mmcsd_cardtype)
      85. Lcd_text Temp_str , 1 , 20 , 1 , Yellow , Black
      86. ' 0 can't init the Card
      87. ' 1 MMC
      88. ' 2 SDSC Spec. 1.x
      89. ' 4 SDSC Spec. 2.0 or later
      90. ' 12 SDHC Spec. 2.0 or later
      91. Wait 2
      92. Lcd_clear Black
      93. #endif
      94. do
      95. Lcd_clear Blue
      96. Lcd_text "HAMBURG HBF Gleis Abf." , 1 , 3 , 4 , White , Blue
      97. Lcd_text "ICE577" , 1 , 20 , 4 , Blue , White
      98. Bahn1 = "Berlin HBF 2 " + str(xyz) + "min"
      99. Lcd_text Bahn1 , 42 , 20 , 4 , White , Blue
      100. Lcd_text "ICE321" , 1 , 32 , 4 , Blue , White
      101. Lcd_text "Koeln HBF 7 min" , 42 , 32 , 4 , White , Blue
      102. Lcd_text "ICE437" , 1 , 44 , 4 , Blue , White
      103. Lcd_text "Kiel HBF 4 min" , 42 , 44 , 4 , White , Blue
      104. Lcd_text "RE8513" , 1 , 56 , 4 , Blue , White
      105. Lcd_text "HH-Altona 3 min" , 42 , 56 , 4 , White , Blue
      106. Lcd_text "RE2566" , 1 , 68 , 4 , Blue , White
      107. Lcd_text "Luebeck 5 min" , 42 , 68 , 4 , White , Blue
      108. Lcd_text "ICE566" , 1 , 80 , 4 , Blue , White
      109. Lcd_text "Hagen HBF 1 min" , 42 , 80 , 4 , White , Blue
      110. Lcd_text "Uhrzeit : " , 35 , 118 , 4 , White , Blue
      111. wait 2
      112. loop
      113. Do
      114. '*******************************************************************************
      115. 'test landscape
      116. '*******************************************************************************
      117. #if Modus = 1
      118. For Zahler = 1 To 182
      119. Help_str = Str(zahler)
      120. Temp_str = Format(help_str , "000")
      121. Temp_str = Temp_str + ".bin"
      122. ' Lcd_pic 0 , 0 , 160 , 120 , Temp_str
      123. Next
      124. #endif
      125. Loop
      126. End
      127. '*******************************************************************************
      128. $include "TFTDriver\ST7735_functions-1.inc"
      129. #if Sdcard = 1
      130. $include "Avr-Dos\SD_card_init.inc"
      131. #endif
      132. $include "Font\Font8x8.font"
      133. $include "Font\Font12x16.font"
      134. $include "Font\font8x12.font"
      135. $include "Font\font6x10.font"
      136. $include "Font\font10x16.font"
      Display All
    • Was passiert eigentlich mit einem Eintrag im Display, ich beziehe mich dabei auf das Foto aus Post #2, wenn der Zug dann abgefahren ist?

      Also nach Display fährt der Zug nach HH-Altona in 8 Minuten ab.
      8 Minuten später ist der Zug dann weg. Was passiert dann mit dem Eintrag?
      Bleibt der leer, oder rutschen die unteren Einträge nach oben?

      Wie kommen neue Einträge hinzu?

      Was sind da so deine Pläne?

      Ich könnte mir vorstellen, sowas per serieller der Steuerung zuzuspielen. Also z.B. den Zugtyp, Zielbahnhof und Abfahrtszeit. kommt seriell in deinem Programm an. Dieses rechnet nun die Minuten aus, bis der Zug abfährt.
      Alle Displayeinträge kann man dann in 3 Arrays vorhalten, eins für den Zugtyp, eines für die Abfahrtszeit und eines für den Zielbahnhof. So kann man mit einem Index durch das Array gehen und den Inhalt von Index 1 beispielsweise in Zeile 1 im Display darstellen.
      Mit Index 2 holt man sich die Werte aus den Arrays für Zeile 2 etc.

      Dann braucht man nur eine Routine, die diese Info auf das Display bringt.
      Diese kann dann Parameter wie Index bekommen, was gleichzeitig die Ausgabezeile im Display festlegt.
      Die Routine setzt dann den String für die Zeile zusammen und gibt den Wert auf dem Display aus.

      Die laufende Uhrzeit kannst du z.B. mit einer SoftClock machen mirt einer Routine SecTic.
      Immer wenn in der ISR dann die Uhr gestellt wird und die Sekunden den Wert 0 haben, muss ein Fag gesetzt werden (z.B. FlagRefreshDisplay). Dieses dann in der Hauptschleife abfragen und die Ausgabe aktualisieren lassen. Nach Aktualisierung das Flag löschen. Es wird ja dann eine Minute später von der ISR neu gesetzt.

      Dort solltest du dann auch ein Flag setzen (z.B. FlagUhrRefresh).
      Auch dieses Flag wird in der Hauptschleife afgefragt. Ist es gesetzt, wird die Uhrzeit auf den Display ausgegeben und das Flag gelöscht.

      So wird deine Anzeige mit einer laufenden Uhr versorgt, und die Anzeigen für die Abfahrtszeiten werden auch aktualisiert.

      Vielleicht sollte man auch die Züge in der Anzeige auch sortiert ausgeben. Die die zuerst abfahren oben, die späteren unten.
      Vielleicht ist es auch ein nettes Feature, wenn wenn neue Einträge unten angehängt werden, und wenn ein Zug abgefahren ist, ruteschen alle Einträge nach oben, so dass die Lücke wieder geschlossen ist.

      Mit einem Flag lässt sich auch ein Ticker machen.
      Es braucht nur eine Routine, da den Ticker-Text ab einer bestimmten Stelle ausgibt und ein Takt, der die Geschwindigkeit angibt.
      Wenn der Sekundentakt zu langsam ist, könnte man da einen Timer einspannen.
    • Hallo Mitch64,

      das übersteigt aber bei weitem meine Programmierkentnisse.
      Anbei das Programm habe jetzt erst mal alle Variablen und String eingebunden.

      Source Code

      1. '*******************************************************************************
      2. 'Programm for Display ST7735R 1.8Zoll 128x160
      3. ' and Display ILI9163 1.8Zoll 128x160
      4. 'Bascom IDE 2.0.7.7
      5. '
      6. 'Version:13012014
      7. 'By Hkipnik
      8. ' © Copyright by H.Kipnik 2012
      9. 'Date 13.01.2014
      10. '*******************************************************************************
      11. ' SD Card CS --> portD.7
      12. ' Miso --> portb.4
      13. 'Display
      14. ' CS --> portb.2
      15. ' DC --> portb.1
      16. ' reset --> portb.0
      17. ' Mosi --> portb.3
      18. ' Clock --> portb.5
      19. '
      20. '
      21. '*******************************************************************************
      22. $regfile = "m328pdef.dat"
      23. $crystal = 16000000
      24. $hwstack = 50
      25. $swstack = 150
      26. $framesize = 150
      27. $baud = 57600
      28. '*******************************************************************************
      29. Const Sdcard = 0 'use SD Card = 1 no SD Card = 0
      30. Const Modus = 1 '0=Portrait 1=Landscape
      31. Const Driver = 1 '0=ST7735 1=ILI9163
      32. 'only Display ST7735
      33. 'Display typ Red or black Tab have different RGB order
      34. 'color of the display plastic wrap
      35. Const Disp_typ = 0 'RGB order 0=Black Tab 1=Red Tab
      36. '*******************************************************************************
      37. Config Portb.2 = Output
      38. Config Portb.1 = Output
      39. Config Portb.0 = Output
      40. Lcd_cs Alias Portb.2
      41. Lcd_dc Alias Portb.1
      42. Lcd_reset Alias Portb.0
      43. Lcd_reset = 1
      44. Lcd_cs = 1
      45. Lcd_dc = 1
      46. '*******************************************************************************
      47. 'Include Declaration
      48. $include "TFTDriver\ST7735_declarations.inc"
      49. '*******************************************************************************
      50. 'Use For Demo
      51. Dim Help_str As String * 15
      52. Dim Temp_str As String * 15
      53. Dim Zahler As Byte
      54. Dim Bahn1 As String * 20
      55. Dim Bahn2 As String * 20
      56. Dim Bahn3 As String * 20
      57. Dim Bahn4 As String * 20
      58. Dim Bahn5 As String * 20
      59. Dim Bahn6 As String * 20
      60. Dim Bahn7 As String * 20
      61. Dim B1 as Byte
      62. Dim B2 as Byte
      63. Dim B3 as Byte
      64. Dim B4 as Byte
      65. Dim B5 as Byte
      66. Dim B6 as Byte
      67. Dim B7 as Byte
      68. B1 = 20
      69. B2 = 15
      70. B3 = 28
      71. B4 = 32
      72. B5 = 11
      73. B6 = 23
      74. B7 = 8
      75. '*******************************************************************************
      76. 'Init SD Card and Spi
      77. #if Sdcard = 1
      78. $include "Avr-Dos\Config_MMCSD_HC.bas"
      79. $include "Avr-Dos\Config_AVR-DOS.bas"
      80. Init_sd_card
      81. #endif
      82. #if Sdcard = 0
      83. ' Config Portb.0 = Output 'auch wenn nicht genutzt
      84. ' Portb.0 = 1
      85. Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
      86. Spsr.0 = 1
      87. Spiinit
      88. #endif
      89. '*******************************************************************************
      90. 'Init the Dispaly
      91. Lcd_init
      92. Lcd_clear Black
      93. '*******************************************************************************
      94. #if Sdcard = 1
      95. Call Init_sd_card() 'Init SD Card
      96. Temp_str = "SD Card= " + Str(sd_ok)
      97. Lcd_text Temp_str , 1 , 1 , 1 , Yellow , Black
      98. ' 1 OK
      99. ' 0 Error
      100. Temp_str = "SD Card Typ= " + Str(mmcsd_cardtype)
      101. Lcd_text Temp_str , 1 , 20 , 1 , Yellow , Black
      102. ' 0 can't init the Card
      103. ' 1 MMC
      104. ' 2 SDSC Spec. 1.x
      105. ' 4 SDSC Spec. 2.0 or later
      106. ' 12 SDHC Spec. 2.0 or later
      107. Wait 2
      108. Lcd_clear Black
      109. #endif
      110. do
      111. Lcd_clear Blue
      112. Lcd_text "HAMBURG HBF Gleis Abf." , 1 , 3 , 4 , White , Blue
      113. Lcd_text "ICE577" , 1 , 20 , 4 , Blue , White
      114. Bahn1 = "Berlin HBF 2 " + str(B1) + "min"
      115. Lcd_text Bahn1 , 42 , 20 , 4 , White , Blue
      116. Lcd_text "ICE321" , 1 , 32 , 4 , Blue , White
      117. Bahn2 = "Koeln HBF 3 " + str(B2) + "min"
      118. Lcd_text Bahn2 , 42 , 32 , 4 , White , Blue
      119. Lcd_text "ICE437" , 1 , 44 , 4 , Blue , White
      120. Bahn3 = "Kiel HBF 5 " + str(B3) + "min"
      121. Lcd_text Bahn3 , 42 , 44 , 4 , White , Blue
      122. Lcd_text "RE8513" , 1 , 56 , 4 , Blue , White
      123. Bahn4 = "HH-Altona 8 " + str(B4) + "min"
      124. Lcd_text Bahn4 , 42 , 56 , 4 , White , Blue
      125. Lcd_text "RE2566" , 1 , 68 , 4 , Blue , White
      126. Bahn5 = "Luebeck 4 " + str(B5) + "min"
      127. Lcd_text Bahn5 , 42 , 68 , 4 , White , Blue
      128. Lcd_text "ICE566" , 1 , 80 , 4 , Blue , White
      129. Bahn6 = "Hagen HBF 1 " + str(B6) + "min"
      130. Lcd_text Bahn6 , 42 , 80 , 4 , White , Blue
      131. Lcd_text "RE3548" , 1 , 92 , 4 , Blue , White
      132. Bahn7 = "Bremen 6 " + str(B7) + "min"
      133. Lcd_text Bahn7 , 42 , 92 , 4 , White , Blue
      134. Lcd_text "Uhrzeit : " , 35 , 118 , 4 , White , Blue
      135. wait 2
      136. loop
      137. Do
      138. '*******************************************************************************
      139. 'test landscape
      140. '*******************************************************************************
      141. #if Modus = 1
      142. For Zahler = 1 To 182
      143. Help_str = Str(zahler)
      144. Temp_str = Format(help_str , "000")
      145. Temp_str = Temp_str + ".bin"
      146. ' Lcd_pic 0 , 0 , 160 , 120 , Temp_str
      147. Next
      148. #endif
      149. Loop
      150. End
      151. '*******************************************************************************
      152. $include "TFTDriver\ST7735_functions-1.inc"
      153. #if Sdcard = 1
      154. $include "Avr-Dos\SD_card_init.inc"
      155. #endif
      156. $include "Font\Font8x8.font"
      157. $include "Font\Font12x16.font"
      158. $include "Font\font8x12.font"
      159. $include "Font\font6x10.font"
      160. $include "Font\font10x16.font"
      Display All
    • Hallo Mitch,

      anbei das Programm mit dem jetzigem Stand, da fehlt aber noch das sich die Stunden auch hochzählen,
      da weiß ich noch nicht wie genau ich das machen soll.
      Die Anzeige wird sozusagen jede Minute aktualisiert.

      Gruß Thomas

      Source Code

      1. '*******************************************************************************
      2. 'Programm for Display ST7735R 1.8Zoll 128x160
      3. ' and Display ILI9163 1.8Zoll 128x160
      4. 'Bascom IDE 2.0.7.7
      5. '
      6. 'Version:13012014
      7. 'By Hkipnik
      8. ' © Copyright by H.Kipnik 2012
      9. 'Date 13.01.2014
      10. '*******************************************************************************
      11. ' SD Card CS --> portD.7
      12. ' Miso --> portb.4
      13. 'Display
      14. ' CS --> portb.2
      15. ' DC --> portb.1
      16. ' reset --> portb.0
      17. ' Mosi --> portb.3
      18. ' Clock --> portb.5
      19. '
      20. '
      21. '*******************************************************************************
      22. $regfile = "m328pdef.dat"
      23. $crystal = 16000000
      24. $hwstack = 50
      25. $swstack = 150
      26. $framesize = 150
      27. $baud = 57600
      28. '*******************************************************************************
      29. Const Sdcard = 0 'use SD Card = 1 no SD Card = 0
      30. Const Modus = 1 '0=Portrait 1=Landscape
      31. Const Driver = 1 '0=ST7735 1=ILI9163
      32. 'only Display ST7735
      33. 'Display typ Red or black Tab have different RGB order
      34. 'color of the display plastic wrap
      35. Const Disp_typ = 0 'RGB order 0=Black Tab 1=Red Tab
      36. '*******************************************************************************
      37. Config Portb.2 = Output
      38. Config Portb.1 = Output
      39. Config Portb.0 = Output
      40. Lcd_cs Alias Portb.2
      41. Lcd_dc Alias Portb.1
      42. Lcd_reset Alias Portb.0
      43. Lcd_reset = 1
      44. Lcd_cs = 1
      45. Lcd_dc = 1
      46. '*******************************************************************************
      47. 'Include Declaration
      48. $include "TFTDriver\ST7735_declarations.inc"
      49. '*******************************************************************************
      50. 'Use For Demo
      51. Dim Help_str As String * 15
      52. Dim Temp_str As String * 15
      53. Dim Zahler As Byte
      54. Dim Bahn1 As String * 20
      55. Dim Bahn2 As String * 20
      56. Dim Bahn3 As String * 20
      57. Dim Bahn4 As String * 20
      58. Dim Bahn5 As String * 20
      59. Dim Bahn6 As String * 20
      60. Dim Bahn7 As String * 20
      61. Dim Stund As String * 20
      62. Dim Minut As String * 20
      63. Dim B1 as Byte
      64. Dim B2 as Byte
      65. Dim B3 as Byte
      66. Dim B4 as Byte
      67. Dim B5 as Byte
      68. Dim B6 as Byte
      69. Dim B7 as Byte
      70. Dim Sd as Byte
      71. Dim Mi As Byte
      72. Dim Schleife As Byte
      73. B1 = 20
      74. B2 = 15
      75. B3 = 28
      76. B4 = 32
      77. B5 = 11
      78. B6 = 23
      79. B7 = 8
      80. Sd = 12
      81. Mi = 45
      82. '*******************************************************************************
      83. 'Init SD Card and Spi
      84. #if Sdcard = 1
      85. $include "Avr-Dos\Config_MMCSD_HC.bas"
      86. $include "Avr-Dos\Config_AVR-DOS.bas"
      87. Init_sd_card
      88. #endif
      89. #if Sdcard = 0
      90. ' Config Portb.0 = Output 'auch wenn nicht genutzt
      91. ' Portb.0 = 1
      92. Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
      93. Spsr.0 = 1
      94. Spiinit
      95. #endif
      96. '*******************************************************************************
      97. 'Init the Dispaly
      98. Lcd_init
      99. Lcd_clear Black
      100. '*******************************************************************************
      101. #if Sdcard = 1
      102. Call Init_sd_card() 'Init SD Card
      103. Temp_str = "SD Card= " + Str(sd_ok)
      104. Lcd_text Temp_str , 1 , 1 , 1 , Yellow , Black
      105. ' 1 OK
      106. ' 0 Error
      107. Temp_str = "SD Card Typ= " + Str(mmcsd_cardtype)
      108. Lcd_text Temp_str , 1 , 20 , 1 , Yellow , Black
      109. ' 0 can't init the Card
      110. ' 1 MMC
      111. ' 2 SDSC Spec. 1.x
      112. ' 4 SDSC Spec. 2.0 or later
      113. ' 12 SDHC Spec. 2.0 or later
      114. Wait 2
      115. Lcd_clear Black
      116. #endif
      117. do
      118. For Schleife = 1 to 60
      119. Lcd_clear Blue
      120. Lcd_text "HAMBURG HBF Gleis Abf." , 1 , 3 , 4 , White , Blue
      121. Lcd_text "ICE577" , 1 , 20 , 4 , Black , White
      122. Bahn1 = "Berlin HBF 2 " + str(B1) + "min"
      123. Lcd_text Bahn1 , 42 , 20 , 4 , White , Blue
      124. Lcd_text "ICE321" , 1 , 32 , 4 , Black , White
      125. Bahn2 = "Koeln HBF 3 " + str(B2) + "min"
      126. Lcd_text Bahn2 , 42 , 32 , 4 , White , Blue
      127. Lcd_text "ICE437" , 1 , 44 , 4 , Black , White
      128. Bahn3 = "Kiel HBF 5 " + str(B3) + "min"
      129. Lcd_text Bahn3 , 42 , 44 , 4 , White , Blue
      130. Lcd_text "RE8513" , 1 , 56 , 4 , Black , White
      131. Bahn4 = "HH-Altona 8 " + str(B4) + "min"
      132. Lcd_text Bahn4 , 42 , 56 , 4 , White , Blue
      133. Lcd_text "RE2566" , 1 , 68 , 4 , Black , White
      134. Bahn5 = "Luebeck 4 " + str(B5) + "min"
      135. Lcd_text Bahn5 , 42 , 68 , 4 , White , Blue
      136. Lcd_text "ICE566" , 1 , 80 , 4 , Black , White
      137. Bahn6 = "Hagen HBF 1 " + str(B6) + "min"
      138. Lcd_text Bahn6 , 42 , 80 , 4 , White , Blue
      139. Lcd_text "RE3548" , 1 , 92 , 4 , Black , White
      140. Bahn7 = "Bremen 6 " + str(B7) + "min"
      141. Lcd_text Bahn7 , 42 , 92 , 4 , White , Blue
      142. Lcd_text "Uhrzeit" , 25 , 118 , 4 , White , Blue
      143. Stund = " " + str(Sd) + ":"
      144. Lcd_text Stund , 70 , 118 , 4 , White , Blue
      145. Lcd_text " " , 92 , 118 , 4 , White , Blue
      146. Minut = " " + str(Mi) + " "
      147. Lcd_text Minut , 100 , 118 , 4 , White , Blue
      148. decr B1
      149. decr B2
      150. decr B3
      151. decr B4
      152. decr B5
      153. decr B6
      154. decr B7
      155. incr Mi
      156. if B1 = 0 then B1 = 60
      157. if B2 = 0 then B2 = 60
      158. if B3 = 0 then B3 = 60
      159. if B4 = 0 then B4 = 60
      160. if B5 = 0 then B5 = 60
      161. if B6 = 0 then B6 = 60
      162. if B7 = 0 then B7 = 60
      163. if Mi = 60 then Mi = 0
      164. wait 2
      165. next Schleife
      166. loop
      167. Do
      168. '*******************************************************************************
      169. 'test landscape
      170. '*******************************************************************************
      171. #if Modus = 1
      172. For Zahler = 1 To 182
      173. Help_str = Str(zahler)
      174. Temp_str = Format(help_str , "000")
      175. Temp_str = Temp_str + ".bin"
      176. ' Lcd_pic 0 , 0 , 160 , 120 , Temp_str
      177. Next
      178. #endif
      179. Loop
      180. End
      181. '*******************************************************************************
      182. $include "TFTDriver\ST7735_functions-1.inc"
      183. #if Sdcard = 1
      184. $include "Avr-Dos\SD_card_init.inc"
      185. #endif
      186. $include "Font\Font8x8.font"
      187. $include "Font\Font12x16.font"
      188. $include "Font\font8x12.font"
      189. $include "Font\font6x10.font"
      190. $include "Font\font10x16.font"
      Display All
    • Thomas1964 wrote:

      ......das sich die Stunden auch hochzählen,
      ............................
      Die Anzeige wird sozusagen jede Minute aktualisiert.

      Wie würdest du es den im Kopf machen?
      Vermutlich: jede Minute zählen bis du bei 60 (>59) angekommen bist und dann zur Stunde eins dazu zählen als Stunde = Stunde +1
      und die Minuten auf Null setzen.
      Wenn du jetzt bei 24 (>23) bist fängst du wieder bei null an.
      Das wäre eine von verschiedenen Möglichkeiten …






      Thomas1964 wrote:

      Die Anzeige wird sozusagen jede Minute aktualisiert.
      Sicher ?

      Source Code

      1. 184. incr Mi
      2. .
      3. .
      4. .
      5. .
      6. .
      7. 194.wait 2

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