EA DOGM 132-5 in Bascom konfigurieren

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • EA DOGM 132-5 in Bascom konfigurieren

      Nachdem mich das Thema Grafik-Displays "angefixt" hat, versuche ich nun ein EA DOGM 132-5 (132x32 Pixel) in eine Anwendung zu integrieren.
      Die Lib habe ich schon gefunden, aber bei Config graphlcd steht dieses Display nicht zur Auswahl (Bascom 2.0.7.8 als Vollversion).
      Wie kann ich in diesem Fall denn Bascom die Zuordnung der Controller-Pins auf die Display-Anschlüsse (SI, CLK, A0, CS, Reset) mitteilen?

      Gruß,

      Daniel
    • Hier einmal mein testprogramm, ist zwar für das 128x64, der controller ist aber der gleiche. Auflösung musst du anpassen oder aufpassen das du nicht aus deinem Sichtbereich rauskommst

      Quellcode

      1. $regfile = "m32adef.dat"
      2. $crystal = 8000000
      3. $hwstack = 32
      4. $swstack = 32
      5. $framesize = 40
      6. $lib "glcdeadogm128x6.lbx"
      7. '$lib "glcd.lbx" für grafik routinen( PSet, lune, circle usw) leider nicht über spi ansteuerbar
      8. Dim A As Byte
      9. Config Graphlcd = 128 * 64eadogm , Cs1 = Portc.7 , A0 = Portc.5 , Si = Portc.3 , Sclk = Portc.4 , Rst = Portc.6
      10. Cls
      11. 'Glcdcmd &B01100000 'versatz um 32zeilen, für adafruit notwendig
      12. 'Displaycontroller ist verdreht eingebaut, um 180Grad drehen
      13. 'und spiegel damit Kabel unten ist und eadgm ansteuerung richtig funktioniert
      14. Glcdcmd &B10100000 'Display für 12Uhr Blickwinkel(180°gedreht)
      15. Glcdcmd &B11001000 'Display für 12Uhr Blickwinkel(gespiegelt)
      16. Glcdcmd &B10000001 'kontrast setzen
      17. Glcdcmd 8 'kontrast auf 8 Setzen
      18. 'v5 voltage regulator resistor setzen, ratio set- displaykontrast ist bei 3,3v viel zu stark
      19. Glcdcmd &B00100100
      20. Setfont Font16x16 'Font 16x16 Laden
      21. Lcdat 1 , 1 , "SPLC501"
      22. Lcdat 3 , 1 , "Test1" 'Textausgabe
      23. Lcdat 5 , 1 , "VIA SPI"
      24. Lcdat 7 , 1 , "Test1234"
      25. Wait 5
      26. Cls
      27. Setfont Font8x8 'Font 16x16 Laden
      28. Lcdat 1 , 1 , "SPLC501"
      29. LCDat 2, 1 , "Zeile_2"
      30. Lcdat 3 , 1 , "VIA SPI"
      31. Lcdat 5 , 1 , "abcdefghijklmnop"
      32. lcdat 6 , 1 ,"QRSTUVWXYZ"
      33. Lcdat 7 , 1 , "1234567812345678"
      34. LCDat 8 , 1, "Zeile_8"
      35. Wait 5
      36. Cls
      37. Showpic 0 , 0 , Bild1 'Bild1 aus flash Anzeigen
      38. Wait 5
      39. Glcdcmd &B10100101 'alle pixel an
      40. Wait 2
      41. glcdcmd &B10100100 'alle aus
      42. Do
      43. For A = 1 To 63 'Kontrast durchlaufend anzeigen
      44. Glcdcmd &B10000001 'kontrast setzen
      45. Glcdcmd A 'kontrastwert
      46. Waitms 500
      47. Glcdcmd &B10100111 ' negativmodus an
      48. Waitms 500
      49. Glcdcmd &B10100110 ' negativmodus aus (Default)
      50. Cls
      51. LCDat 1,6,"Kontrast"
      52. Lcdat 4 , 30 , A 'aktuellen kontrastwert im Display anzeigen
      53. Waitms 500
      54. Next A
      55. Loop
      56. End
      57. $include Font8x8.font
      58. $include Font16x16.font
      59. Bild1:
      60. $bgf "fendt1.bgf"
      Alles anzeigen
    • Hallo, ich bräuchte bei dem Thema DOG-Display mal Hilfe... habe ein DOGL Grafikdisplay, welches ja mit dem DOGM kompatibel ist. Jedoch funktioniert der obige Code bei mir nicht... ich hoffe mir kann einer helfen.

      Betreibe einen Atmega1248p mit 5V und habe als Umsetzer zwischen AVR und Display einen CD4050 mit 3.3V betrieben, damit mir der Controller vom Display nicht abschießt. Das Display selbst ist als Single Supply laut Datenblatt aufgebaut mit insgesamt 9x 1µF Kondensatoren.

      Als Code-Referenz habe ich den obig geposteten Code von Schraubbaer genommen und habe lediglich meine Ports, sowie Prozessor und Frequenz des Quarzes geändert und die Zeilen vom Bild heraus genommen, da ich dieses nicht benötige.

      BASCOM-Quellcode

      1. $regfile = "m1284pdef.dat"
      2. $crystal = 16000000
      3. $hwstack = 32
      4. $swstack = 32
      5. $framesize = 40
      6. $lib "glcdeadogm128x6.lbx"
      7. '$lib "glcd.lbx" für grafik routinen( PSet, lune, circle usw) leider nicht über spi ansteuerbar
      8. Dim A As Byte
      9. Config Graphlcd = 128 * 64eadogm , Cs1 = PortB.0 , A0 = PortB.1 , Si = PortB.5 , Sclk = PortB.7 , Rst = Portc.2
      Wenn ich das Programm einspiele Blitzt das Display manchmal auf, was ich mir allerdings durch die Daten und Takte die per ISP über Mosi und SCK geschickt werden, erkläre, allerdings bleibt das Display ansonsten dunkel.
      Was könnte eine Fehlerquelle sein? Muss ich den SPI Konfigurieren und/oder initialisieren? Muss ich eine Geschwindigkeit beachten? Brauche ich noch Pull-Up oder Pull-Down Widerstände am SPI? Habe ich irgendwo etwas überlesen?
      Ich hoffe Ihr könnt mir helfen. Ich hab auch schon eine Manuelle Initialisierung laut Datenblatt des ST7565 versucht...so langsam verzweifel ich mit dem Teil...

      Gruß Crazy_Prof
    • @Crazy_Prof_93 du verwendest verschiedene ports, beim reset hast du zumindest einen anderen, portc, als bei den restlichen Steuerleitungen (portb). Versuche mal den reset auch auf portb zu bringen.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Hast du SMD Kondensatoren genommen? Vielleicht sogar aus China? So als tipp...mess die mal. Hab mit den 1µ so meine erfahrungen gemacht
      ...und manche Clone muss man per pin auf serielle Daten umstellen, der Controller kann ja auch paralell.
      Brauchst kein spi konfigurieren, der Prozessortakt muss halt passen (Wie immer)
      Und klemm es erstmal auf 3,3V um,die Wandler mögen auch nicht immer wie man will.

      Tobias
    • djmsc schrieb:

      Crazy_Prof_93 schrieb:

      Betreibe einen Atmega1248p mit 5V und habe als Umsetzer zwischen AVR und Display einen CD4050 mit 3.3V betrieben,
      Warum versuchst du es nicht mit einer kompletten 3,3V Versorgung und ohne den CD4050?
      Könnte es mal versuchen wenn ich den Chip runter löte und manuell brücke...

      Hab den Reset-Port mal eben von PortC.2 auf PortB.3 gelegt. Ohne Auswirkung.

      Anbei hab ich auch mal den Schaltplan.
      CPU.png
      Display.png
      Hoffe es hilft...
    • Sooo...nachdem ich das Display mal mit 3.3V direkt betrieben habe und den Kontrast auf 50 gesetzt hatte hab ich ein klares bild bekommen...

      Nur Ärgerlicherweise, als ich es wieder im 5V Betrieb mit dem CD4050 testen wollte hab ich Dummerweise vergessen die Brücke anstatt des Spannungsregler auszutauschen und hab mir, so kurz vor dem Ziel, den Controller zerschossen...grrrr...zumindest bleibt das display jetzt selbst im 3.3V betrieb dunkel *ichdoof*

      Hab mir jetzt bei Reichelt ein neues Display (BestellNr. EA DOGL128B-6) geordert...

      Gruß Kai
    • Autsch, das war teuer. Deswegen mach ich bei sowas inzwischen immer alles mit 3,3V, dann gibts in der richtung keinen Schaden mehr. Die Pegelwandler sind ja auch nicht immer ohne.
      Ich hab die Klone aus Polen, die sind wenn man mehr braucht billiger, leider hat er nicht immer die SW auf WS variante auf Lager, die Blackline mit weisser Schrift auf schwarz kann ich nicht empfehlen, ist eher ein dunkleres Blau. Sieht nicht so tolle aus.

      Tobias