Led Display UC1609 19264-05 V3.2

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

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Led Display UC1609 19264-05 V3.2

      Gute Nacht.

      Ich bin auf ein solches Display auf dem UC1609 192x64 gestoßen, ich habe Bibliotheken für Baskom auf UC1601 und UC1608 (8-Bit-Parallel, 4-Bit-Parallel und SPI) habe noch nicht versucht, eine Verbindung herzustellen, da es sowieso keine Bibliotheken gibt, aber ich denke, es wird nicht arbeiten mit denen, die sind)

      Hat jemand dieses "Wunder" erlebt?
      Dateien
      • DSCN0053.JPG

        (398,81 kB, 16 mal heruntergeladen, zuletzt: )
      • DSCN0057.JPG

        (454,28 kB, 28 mal heruntergeladen, zuletzt: )
      • DSCN0058.JPG

        (381,21 kB, 25 mal heruntergeladen, zuletzt: )
    • Simon1234 schrieb:

      Hallo Sonic,

      hast du mittlerweile eine Möglichkeit gefunden, dass Display anzusteuern?
      Mit der Bibliothek vom UC1608 zeigt es mir überhaupt nichts an.

      Gruß
      Simon
      Hallo, nein, es hat bei mir weder mit der Bibliothek für 1601 noch für 1608 funktioniert, aber ein kurzer Blick in die Dokumentation für die Anzeige in 1609 zeigt, dass sie leicht unterschiedliche Initialisierungssequenzen haben, ich bin zu faul, damit umzugehen Bei der der Bibliothek habe ich das Display selbst überprüft, indem ich die Firmware in Arduino IDE kompiliert habe, um sicherzustellen, dass das Display selbst funktioniert. Können wir versuchen, die Bibliothek gemeinsam von 1608 auf 1609 zu ändern? :)

      Ich habe die Regeln des Forums nicht ganz verstanden, kann ich hier die Originalbibliotheken (ohne Änderungen) für 1601 und 1608 posten? ?(

      WENN ETWAS AUS DEM, WAS ICH SCHREIBE, NICHT KLÄRT, VERSUCHE ICH, IN ANDEREN WORTEN ZU SCHREIBEN (ICH VERWENDE ONLINE-ÜBERSETZER ENTSCHULDIGUNG) :D

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sonic ()

    • Sorry für die späte Antwort. Soweit ist das meiste verständlich, alles okay.
      Ja, ich hab das Display zwischenzeitlich auch am Arduino getestet. Hierbei werden jedoch auch CS, RST und CD verwendet.

      Folgende Bibliothek hab ich in Bascom getestet: bascom.at.ua/publ/podkljuchaem…trollere_uc1608/1-1-0-121
      Mit Bibliotheken hab ich eigentlich keine Erfahrung, da wohl auch alles in Assembler geschrieben ist.

      Um eine Chance zu haben, bräuchte ich das Datenblatt vom UC1608 und UC1609 in der gleichen Form, um die Unterschiede zu erkennen.
      Hast du die Datenblätter?
      Vielleicht kann uns hier auch ein erfahrener Bascom'er helfen?

      Ich denke schon, dass du die Bibliotheken posten darfst. Notfalls zu Originalseite verlinken.
    • Die Bibliothek für 1601 ist im Allgemeinen weit von 1608 und 1609 entfernt, da 1601 auf I2C funktioniert, aber 1608 denke ich, dass es für 1609 neu gemacht werden kann (aber ich befürchte, dass mein Wissen dafür nicht ausreicht :D ). Ich habe versucht, die Anzeigeinitialisierung zu ändern für 1609 in der Bibliothek von 1608 (wie in der Dokumentation bei 1609 angegeben), Anzeige hat nie funktioniert.



      // UC1909 Write registers
      #define UC1609_SYSTEM_RESET 0xE2

      #define UC1609_POWER_CONTROL 0x2F
      #define UC1609_PC_SET 0x06 // PC[2:0] 110 Internal V LCD (7x charge pump) + 10b: 1.4mA

      #define UC1609_ADDRESS_CONTROL 0x88 // set RAM address control
      #define UC1609_ADDRESS_SET 0x02 // Set AC [2:0] Program registers for RAM address control.

      #define UC1609_SET_PAGEADD 0xB0 // Page address Set PA[3:0]
      #define UC1609_SET_COLADD_LSB 0x00 // Column Address Set CA [3:0]
      #define UC1609_SET_COLADD_MSB 0x10 // Column Address Set CA [7:4]

      #define UC1609_TEMP_COMP_REG 0x27 // Temperature Compensation Register
      #define UC1609_TEMP_COMP_SET 0x00 // TC[1:0] = 00b= -0.00%/ C

      #define UC1609_FRAMERATE_REG 0xA0 // Frame rate
      #define UC1609_FRAMERATE_SET 0x01 // Set Frame Rate LC [4:3] 01b: 95 fps

      #define UC1609_BIAS_RATIO 0xE8 // Bias Ratio. The ratio between V-LCD and V-D .
      #define UC1609_BIAS_RATIO_SET 0x03 // Set BR[1:0] = 11 (set to 9 default)

      #define UC1609_GN_PM 0x81 // Set V BIAS Potentiometer to fine tune V-D and V-LCD (double-byte command)
      #define UC1609_DEFAULT_GN_PM 0x49 // default only used if user does not specify Vbias

      #define UC1609_LCD_CONTROL 0xC0 // Rotate map control
      #define UC1609_DISPLAY_ON 0xAE // enables display
      #define UC1609_ALL_PIXEL_ON 0xA4 // sets on all Pixels on
      #define UC1609_INVERSE_DISPLAY 0xA6 // inverts display
      #define UC1609_SCROLL 0x40 // scrolls , Set the scroll line number. 0-64

      // Rotate
      #define UC1609_ROTATION_FLIP_TWO 0x06
      #define UC1609_ROTATION_NORMAL 0x04
      #define UC1609_ROTATION_FLIP_ONE 0x02
      #define UC1609_ROTATION_FLIP_THREE 0x00

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sonic ()

    • Simon1234 schrieb:

      Was meinst du mit #8?
      Die glcd-UC1601 in der Uc160x.zip aus Threat Nummer 8
      Der 1609 kann i2c,spi und parallel nun liegts am Modul welche Möglichkeit vorgesehen ist. Ob es i2c kann läßt sich einfach herausfinden in dem die Adressen $70-$7E (8bit Zählweise)abgefragt werden. Ist es dafür vorgesehen sollte es auf zwei davon mit Ack antworten.
      Falls es darauf nicht reagiert per Spi ein $AF (Display on) schreiben. Fast alle die mir begegnet sind reagieren darauf ohne vorheriges Init.
      Ihm nach dem Einschalten vorsichtshalber 200ms zum wachwerden geben :sleeping:

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Pluto25 ()

    • Pluto25 schrieb:

      Simon1234 schrieb:

      Was meinst du mit #8?
      Die glcd-UC1601 in der Uc160x.zip aus Threat Nummer 8Der 1609 kann i2c,spi und parallel nun liegts am Modul welche Möglichkeit vorgesehen ist. Ob es i2c kann läßt sich einfach herausfinden in dem die Adressen $70-$7E (8bit Zählweise)abgefragt werden. Ist es dafür vorgesehen sollte es auf zwei davon mit Ack antworten.
      Falls es darauf nicht reagiert per Spi ein $AF (Display on) schreiben. Fast alle die mir begegnet sind reagieren darauf ohne vorheriges Init.
      Ihm nach dem Einschalten vorsichtshalber 200ms zum wachwerden geben :sleeping:
      RST = High
      CS = Low
      CD testweise High oder Low
      Falls ich es richtig gemacht habe, es kommt immer nur 255 zurück:

      BASCOM-Quellcode

      1. X = 0
      2. Y = 0
      3. Config Scl = Portc.5
      4. Config Sda = Portc.4
      5. Portc.5 = 1
      6. Portc.4 = 1
      7. Wait 1
      8. For Adresse = &H70 To &H7E
      9. Wait 1
      10. I2cstart
      11. I2cwbyte Adresse
      12. I2crbyte X , Ack
      13. I2crbyte Y , Nack
      14. I2cstop
      15. Print X
      16. Print Y
      17. Next
      Alles anzeigen
      Mit SPI müsste ich mich erst noch befassen, wie das genau funktioniert.

      Mit $AF gehen dann alle Pixel an, oder wie muss ich das verstehen?
    • Simon1234 schrieb:

      es kommt immer nur 255 zurück
      die kommen auch wenn er nicht antwortet. (Der Pullup zieht SDA auf High) Eine Abfrage nach Err besagt ob er "da" ist.
      War der i2c finder nicht im Lexikon?
      Er geht ungefähr so:

      Quellcode

      1. For Adresse = &H70 To &H7E step 2
      2. i2cstart
      3. I2cwbyte Adresse
      4. i2cstop
      5. Print Adresse;
      6. If err = 0 then
      7. Print " vorhanden"
      8. else
      9. Print " kein Ack"
      10. end if
      11. next
      Alles anzeigen

      CD sollte High sein (Connect CD to Vss when not used)
      und CS bestimmt die Adresse. Davon gibt es zwei (CS0 und CS1) die bestimmen bit 2 und 3 der Adresse.

      Mit $AF wird es eingeschaltet und zeigt dann was gerade im Speicher ist. Da der beim Reset nicht "aufgeräumt" wird eher "Schnee"= zufällige Pixel.

      Das Spi kann auch per bit-banging gemacht werden dann braucht die Hardware nicht geändert werden. Es geht ja erst mal drum ihn überhaupt zu "beleben" etwa so

      Quellcode

      1. Daten=$AF
      2. Reset CD
      3. Reset CS
      4. for a=7 to 0 step -1
      5. Reset Sck
      6. SDA=Daten.a
      7. waitms 1
      8. Set Sck
      9. waitms 1
      10. Next
      11. Set Sck
      12. Set CS
      Alles anzeigen

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Pluto25 ()

    • UC1601 - Nur von I2C
      UC1608 - parallel (8 und 4 Bit), I2C , SPI
      UC1609 - wie UC1608 in Bezug auf Schnittstellen

      Übrigens, in der Arduino IDE funktionierte das UC1609-Display mit der UC1604-Bibliothek (aber es wird etwas schwach angezeigt, Sie müssen die Helligkeit in der Bibliothek hinzufügen).

      Ich werde auch sehen, ob es irgendwelche Jumper auf der Anzeigetafel gibt, um die Verbindungsschnittstelle zu ändern.
      Dateien
      • U1609.jpg

        (157,48 kB, 17 mal heruntergeladen, zuletzt: )
    • Pluto25 schrieb:

      War der i2c finder nicht im Lexikon?
      Ich hab im Netz danach geschaut, aber nichts dazu finden können.

      Mit deinem Beispiel kommt immer "kein Ack" zurück, also gibt es wohl kein kein I2C.

      Ich verstehe nicht genau, was es mit dem $ vor dem AF auf sich hat. Auch hierzu konnte ich nichts finden. Daher wusste ich nicht, wie ich es deklarieren muss. String wird nicht akzeptiert:

      BASCOM-Quellcode

      1. Dim Daten As Word
      2. Dim A As Byte
      3. Cd Alias Portb.0
      4. Cs Alias Portb.1
      5. Sck Alias Portc.5
      6. Sda Alias Portc.4
      7. Wait 1
      8. Daten = $af
      9. Reset Cd
      10. Reset CS
      11. For A = 7 To 0 Step -1
      12. Reset Sck
      13. Sda = Daten.a
      14. waitms 1
      15. Set Sck
      16. waitms 1
      17. Next
      18. Set Sck
      19. Set Cs
      Alles anzeigen

      Jedenfalls passiert gar nichts.
    • Das $ ist das &H für Tipfaule.
      Das Modul ist das selbe wie in Sonic's Bild (#16)?
      Die Pins b0/1 und C4/5 sind als Ausgang definiert? Zu Beginn sollten Cs und Sck High sein.
      In der lib für UC1604 sollte das vollständige Init sein?
      Rst ist auch angeschlossen und war High? In dem Datenblatt finden die ihn toll. Nach dem Einschalten (nicht das es da sowieso einen Hardware Reset bekam) und vor dem Ausschalten ??? (warum auch immer)
      Waitms 3
      Reset Rst
      waitµs 4
      Set Rst
      Waitms 5

      Das vollständige Init steht auf Seit 41 im Datenblatt.

      PS Das $ ist nicht Bascom Konform. Obwohl ich noch keine Probleme damit hatte, wäre es möglich das es beim nächsten Update dann nicht mehr funktioniert.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Pluto25 ()

    • Ja, ich hab genau das gleiche.
      Das hier hab ich auch noch: aliexpress.com/item/1005002333964943.html
      Der Unterschied liegt wohl nur an der Blende.

      Die LIB vom UC1604 kann ich nicht finden.


      BASCOM-Quellcode

      1. Dim Daten As Word
      2. Dim A As Byte
      3. Config Portb.0 = Output
      4. Config Portb.1 = Output
      5. Config Portb.2 = Output
      6. Config Portc.4 = Output
      7. Config Portc.5 = Output
      8. Cd Alias Portb.0
      9. Cs Alias Portb.1
      10. Rst Alias Portb.2
      11. Sda Alias Portc.4
      12. Sck Alias Portc.5
      13. Cs = 1
      14. Rst = 1
      15. Sck = 1
      16. Wait 1
      17. Waitms 3
      18. Reset Rst
      19. Waitus 4
      20. Set Rst
      21. Waitms 5
      22. Daten = $af
      23. Reset Cd
      24. Reset Cs
      25. For A = 7 To 0 Step -1
      26. Reset Sck
      27. Sda = Daten.a
      28. Waitms 1
      29. Set Sck
      30. Waitms 1
      31. Next
      32. Set Sck
      33. Set Cs
      34. Do
      35. Loop
      Alles anzeigen
      Die Verbindungen hab ich nochmal kontrolliert, es tut sich aber immer noch nichts.
      Der Reset vor dem Ausschalten halte ich auch nicht für sinnvoll.

      Alternativ kann ich dir auch das im Link genannte Display im Briefumschlag zukommen lassen.
      (Nicht das ich mich davor drücken will, aber du hättest das schneller raus)