Dot Matrix MAX7219 in Weiß?

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

    • AlexW wrote:

      kann man die auch mit weißen LED´s kaufen?
      Die Module mit dem MAX7219 gibt es wohl nur in Rot, Grün und Gelb.
      In anderen Farben musst du wohl selbst Hand anlegen, also selber bauen oder andere Module mit anderen ICs nehmen.
      Da gibt es auch Adafruit-Module allerdings noch ohne IC. Den gibt es extra als Modul.
      Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.
    • AlexW wrote:

      ich habe ein Gehäuse in Auftrag gegeben,
      Sorry wenn ich das jetzt sage, aber ich verstehe es nicht, dass immer die Gehäuse schon gefertigt werden bevor man eigentlich weiss welche Teile man verwenden will.
      Entweder ich habe ein Gehäuse und passe alles daran an oder ich baue ein Gehäuse nach den Teilen die ich da habe.
      Also erst alles zusammen sammeln was benötigt wird und erst dann das Gehäuse bauen.
      Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.
    • Raum für Notizen

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

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

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

    • Servus,

      das mit der fertigen Gehäuse ist nicht so einfach.
      Ich hatte LED´s die passen, dachte ich, doch dann kommt was kommen musste, eine Frau.
      Diese Frau kann einfach mit den Roten-LED´s nicht leben. ;) ……..

      Aber die
      ebay.de/itm/LED-Matrix-Dot-8x8…w-V1b9b5l&redirect=mobile
      passen, sind zwar nicht so günstig aber passen zumindest.


      Ich habe mich jetzt versucht den Code zu schreiben aber schon wieder scheitere ich.



      Jede Matrix ist scrollt den Text für sich alleine
      Wenn der Buchstabe im ersten Feld fertig ist, läuft der nächste Buchstabe im ersten Feld.
      Also ein Scrolltext mit nur einem Feld.
      Das 2. Und jedes weitere Feld scrollt auch den gleichen Text sobald der 1. Buchstabe im vorhergehenden Feld fertig ist.
      Hattet ihr so was schon? Was mache ich falsch?
    • BASCOM Source Code

      1. 'Max7219 Anzeige
      2. 'schmaler font, pro Buchstabe 6 Spalten
      3. $regfile = "m328pdef.dat"
      4. $crystal = 16000000
      5. $hwstack = 256
      6. $swstack = 256
      7. $framesize = 256
      8. Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
      9. Config Portb.0 = Output : Cs Alias Portb.0
      10. 'Config Spisoft = Soft , Din = Portd.0 , Dout = Portb.3 , Ss = None , Clock = Portb.5
      11. 'Config Portb.0 = Output : Cs Alias Portb.0
      12. Spiinit
      13. Enable Interrupts
      14. Const Anzahl_module = 5
      15. Const Anzahl_spalten = Anzahl_module * 8
      16. Dim Display_array(anzahl_spalten) As Byte '8 Spalten für jedes Modul
      17. Dim Temp As Byte , Temp1 As Byte
      18. Dim Modul As Byte
      19. Dim Spalte As Word
      20. Dim Zeile As Byte , Bit_nr As Byte
      21. Dim Loesch As Byte
      22. Dim Display_daten As Byte , Display_digit As Byte
      23. Dim Spalten_nummer As Word , X As Word
      24. Dim Ausgabetext As String * 255
      25. Dim N As Byte
      26. Dim M As Dword
      27. Dim Z As Byte
      28. Dim Lang As Byte
      29. Dim Count As Byte
      30. Dim Buchstabe As String * 1
      31. Dim Tabelleneinsprung As Word
      32. Dim Scroll_pause As Word
      33. Scroll_pause = 200
      34. Gosub Init_max7219 'Display initialisieren
      35. Gosub Loeschen 'Display loeschen
      36. '#####################################################
      37. Do
      38. Ausgabetext = "Hallo, bascom-Programmierer "
      39. Gosub Schreiben
      40. Loop
      41. End
      42. '#####################################################
      43. Schreiben:
      44. Lang = Len(ausgabetext)
      45. For Count = 1 To Lang 'nacheinander die einzelnen Buchstaben durchgehen
      46. Buchstabe = Mid(ausgabetext , Count , 1) 'Einzelbuchstaben herauspicken
      47. Tabelleneinsprung = Asc(buchstabe) 'Tabelle berechnen minus 32 zeichen.
      48. Select Case Buchstabe
      49. Case "Ä" : Tabelleneinsprung = &H8E
      50. Case "Ö" : Tabelleneinsprung = &H99
      51. Case "Ü" : Tabelleneinsprung = &H9A
      52. Case "ä" : Tabelleneinsprung = &H84
      53. Case "ü" : Tabelleneinsprung = &H81
      54. Case "ö" : Tabelleneinsprung = &H94
      55. Case "ß" : Tabelleneinsprung = &HE1
      56. End Select
      57. Tabelleneinsprung = Tabelleneinsprung - 32
      58. Tabelleneinsprung = Tabelleneinsprung * 6
      59. For X = 1 To 6 'das bitmuster spaltenweise in den Speicher schreiben (6 Spalten)
      60. Gosub Shift_bildspeicher_left 'Bildspeicher nach links verschieben
      61. Display_array(anzahl_spalten) = Lookup(tabelleneinsprung , Font_6x8) 'in die rechteste Bildspeicherspalte schreiben
      62. Gosub Bildspeicher_ausgabe
      63. Waitms Scroll_pause
      64. Incr Tabelleneinsprung
      65. Next X
      66. Next Count
      67. Return
      68. Shift_bildspeicher_left:
      69. For N = 2 To Anzahl_spalten
      70. Display_array(n -1) = Display_array(n)
      71. Next N
      72. Return
      73. Bildspeicher_ausgabe:
      74. 'Ausgabe an die Module und den neuen Speicherinnhalt anzeigen lassen
      75. For Zeile = 1 To 8 'nacheinander die Zeilen an allen Modulen aktualisieren
      76. Spalte = 1
      77. Cs = 0
      78. For Modul = 1 To Anzahl_module
      79. Temp1 = 0
      80. For Z = 0 To 7
      81. Shift Temp1 , Left , 1
      82. Bit_nr = Zeile - 1
      83. Temp = Display_array(spalte).bit_nr
      84. Temp1 = Temp1 + Temp
      85. Incr Spalte
      86. Next Z
      87. Spiout Zeile , 1 'MSB
      88. Spiout Temp1 , 1 'LSB
      89. Next Modul
      90. Cs = 1
      91. Next Zeile
      92. Return
      93. Init_max7219: ' Initialisieren des MAX7219
      94. Display_digit = &H0C : Display_daten = &H00 ' Shutdown On
      95. Cs = 0
      96. Spiout Display_digit , 1
      97. Spiout Display_daten , 1
      98. Cs = 1
      99. Display_digit = &H09 : Display_daten = &H00 ' kein decode "B" für alle Digits
      100. Cs = 0
      101. Spiout Display_digit , 1
      102. Spiout Display_daten , 1
      103. Cs = 1
      104. Display_digit = &H0A : Display_daten = &H02 ' Helligkeit 0-F
      105. Cs = 0
      106. Spiout Display_digit , 1
      107. Spiout Display_daten , 1
      108. Cs = 1
      109. Display_digit = &H0B : Display_daten = 7 ' Anzahl Digits 8
      110. Cs = 0
      111. Spiout Display_digit , 1
      112. Spiout Display_daten , 1
      113. Cs = 1
      114. Display_digit = &H0F : Display_daten = 0 ' Test Off
      115. Cs = 0
      116. Spiout Display_digit , 1
      117. Spiout Display_daten , 1
      118. Cs = 1
      119. Display_digit = &H0C : Display_daten = 1 ' Shutdown Off
      120. Cs = 0
      121. Spiout Display_digit , 1
      122. Spiout Display_daten , 1
      123. Cs = 1
      124. Return
      125. Loeschen:
      126. Temp = 0
      127. For Modul = 1 To Anzahl_module '6 Module angeschlossen
      128. For Zeile = 1 To 8 '8x8 LED-Array löschen
      129. Cs = 0
      130. Spiout Zeile , 1
      131. Spiout Temp , 1
      132. Cs = 1
      133. Next Zeile
      134. Next Modul
      135. Return
      Display All
    • Dein init_max7219 ist falsch. Du muss dafür sorgen, dass alle Module diese Befehle bekommen. Vergleiche mal mit dem init von hier Max7219 mit 8x8 Ledmatrix, scrollende Textdarstellung mit einem schmalen font
      Du hast auch die Module kaskadiert?
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Hast du dein Init schon mal so probiert?

      BASCOM Source Code

      1. Init_max7219: ' Initialisieren des MAX7219
      2. For Modul = 1 To Anzahl_module '6 Module angeschlossen
      3. Display_digit = &H0C : Display_daten = &H00 ' Shutdown On
      4. Cs = 0
      5. Spiout Display_digit , 1
      6. Spiout Display_daten , 1
      7. Cs = 1
      8. Display_digit = &H09 : Display_daten = &H00 ' kein decode "B" für alle Digits
      9. Cs = 0
      10. Spiout Display_digit , 1
      11. Spiout Display_daten , 1
      12. Cs = 1
      13. Display_digit = &H0A : Display_daten = &H02 ' Helligkeit 0-F
      14. Cs = 0
      15. Spiout Display_digit , 1
      16. Spiout Display_daten , 1
      17. Cs = 1
      18. Display_digit = &H0B : Display_daten = 7 ' Anzahl Digits 8
      19. Cs = 0
      20. Spiout Display_digit , 1
      21. Spiout Display_daten , 1
      22. Cs = 1
      23. Display_digit = &H0F : Display_daten = 0 ' Test Off
      24. Cs = 0
      25. Spiout Display_digit , 1
      26. Spiout Display_daten , 1
      27. Cs = 1
      28. Display_digit = &H0C : Display_daten = 1 ' Shutdown Off
      29. Cs = 0
      30. Spiout Display_digit , 1
      31. Spiout Display_daten , 1
      32. Cs = 1
      33. Next Modul
      34. Return
      Display All
      Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.