Displayanzeige an Wemo D1 Mini

  • gemu2015

    ich habe endlich ein SSD1351 128x128 RGB Display bekommen,
    Ich kriege es aber anhand der Anleitung im Git nicht zum laufen.

    Hast Du zufällig ein Beispiel, welche Pins wie angeschlossen werden müssen und in Tasmota eingestellt?


    Und ein Beispiel Script einen Text in Farbe darzustellen?

    Danke


    Gruß Jens

  • Du must für SPI die Hardware Pins nehmen, nur so geht es.

    der Jumper muss auf 3-Wire SPI stehen also BS=1 und DC auf GND


    und diese defines.


    #define USE_DISPLAY

    #define USE_SPI

    #define USE_DISPLAY_SSD1351


    Dieses Script zeigt eine farbige Analog und Digitaluhr an


    \>D

    min=0


    \>B


    ->displaytext [Bi0z]

    ->displaytext [Ci2x0y0r128:128]


    \>S

    ->displaytext [f1Ci4c6l10tS]

    ->displaytext [Ci5c6l2T]

    min=mins

    if chg[min]>0

    then

    ->displaytext [Ci3x64y64w30]

    endif


    Gruß Gerhard





  • gemu2015


    na das war ja mal was für meine "zarten" Finger den mini smd Widerstand umzulöten....

    Ne analoge Uhr habe ich nicht auf dem Display, aber einen roten Rahmen und Oben
    Datum unten digitale Zeit


    Noch ne kurze Frage, wie bekomme ich da denn das ° Zeichen und % aufs Display?

    Danke


    Gruß Jens

  • Der Fonteditor ist auf meinem Fork im Ordner Fonteditor. (Mac und PC Version)

    Du editierst damit direkt die Zeichen im C Quelltext in den Fontfiles und musst danach neu kompilieren.


    ich würde für das Grad Zeichen der Einfachheit halber ein kleines O aus dem kleinsten Font nehmen und entsprechend platzieren.

  • kann ich im Scripter abfragen welcher DisplayMode grad eingestellt ist?

    Hi, Abfrage in z.B. eine Variable dmodus mit

    dmodus=DisplayMode


    und Einstellen von z.B. Mode 2 mit

    =>DisplayMode 2 oder ->DisplayMode 2

  • NoitaercX


    danke Dir.


    habe mich versehen ich meine DisplayModel

    wenn ich das probiere mit ->DisplayModel7 zu setzen blinkt das einige male auf und dann beendet der script.

    Aber das auslesen mit dmodus=DisplayModel geht nicht, gibt es da was anderes?

    Und kann ich eigentlich 2 Displays gleichzeitig betreiben? ein SPI und ein i2c?

    Danke


    Gruß Jens

  • ->DisplayModel7

    Space evtl. vergessen? ->DisplayModel 7


    Kanns im Moment nicht testen,

    dmodus=DisplayModel geht nicht

    aber DisplayModel müsste genauso klappen (Variablendefinition unter >D nicht vergessen).


    Die Parameter, die man in der Konsole abfragen kann (also DisplayModel),

    sollten im Scripter genauso einlesbar sein, oder einfach mal probieren mit:

    print DisplayModel im Script.


    Zwei Displays parallel mit ein und der selben Ausgabe wird funktionieren,

    aber mehr wohl nicht, da ich da keinen Index sehe,

    mit dem man mehrere Displays extra ansprechen könnte.


    Da hab ich zu wenig Ahnung und wir müssen wohl auf den Profi gemu2015 warten :)

  • Hallo Gerhard,


    nicht das Missverständnisse auftreten, Probleme habe ich mit den Displays nicht.

    Ich bin halt noch am Tüdeln bezüglich meines Wandthermostaten für die FB Heizung und möchte es möglichst
    flexibel gestalten, was die Displays und Sensoren angeht.
    Und da ist man schnell in dem Modus "Oh, was geht denn noch?"


    Momentan habe ich halt die 2 OLED Displays dran, 1x das 128x64 I2c und einmal das 128x128 rgb SPI,
    und als Sensor halt den BME280 und DS18B20...

    ich wollte halt im Script dann abfragen, wenn DisplayModel 7 dann gebe die Daten so aus, wenn DisplayModel 9
    dann halt anders...
    dann kam noch die IDee dazu, wenn ich es aus dem script ändern kann, ob es auch gehen würden
    Display umstellen, ausgeben, auf das andere umstellen wieder ausgeben usw.

    Wie das dann halt so ist, schlimmer als YouTube schauen, schwubs ist man ganz woanders.^^^^


    also Ich glaube wenn ich für den Thermostaten die Platine so gestallte dass ich SPI und I2C und ein zwei Pins raus
    leite dann reicht es und ist flexibel genug.


    Danke

    Gruß Jens

  • Hallo Jens,


    Falls du das script an das gerade benutze Display anpassen willst =>


    Die Parameter des Displays kannst du z.B. so auslesen:


    >D

    xs=0

    ys=0

    mo=0


    >B

    +>Display


    >E

    mo=Display#Model

    xs=Display#Width

    ys=Display#Height

    print %xs% %ys% %mo%


    Gruß Gerhard

  • Hallo Gerhard,


    perfekt, genau das habe ich gesucht...
    habe es dann so gelöst...



  • Hallo Zusammen,


    nachdem ich das alles auf dem Breadbord zum laufen bekommen habe und ich jetzt für meinen Wandthermostaten
    Platinen bestellt und bekommen und die erst fertig gelötet habe, bin ich kurz vorm Kollabs.

    Ich bekomme die I2C Schnittstelle nicht zum laufen.

    Erst war es nur dass die Geräte nicht mehr erkannt wurden, dann speichert die Auswahl von SCL (D1) und SDA (D2) in den
    Einstellungen nicht mehr.
    Ich habe sogar einen anderen D1Mini genommen, neu geflasht, die Uni8 neu geflasht, keine Chance.

    Ich rede davon dass die Konfiguration einfach nicht speichert wenn ich am D1 und D2 die I2C konfiguriere.
    nicht mal bei einem lediglich am USB hängenden neue D1mini, die haben ja nichts mehr miteinander zu tun

    und dennoch das Problem?!?!?!


    irgendjemand noch ne Idee?


    Danke

  • Hallo Zusammen,


    um das etwas zu verdeutlichen...
    Ausgangslage:



    Einstellung:


    dann auf Speichern:


    wieder auf Einstellungen und Geräte Konfiguration:


    nur mal so getestet:


    Ergebnis:


    nochmal den SCL und SDA hinzu... und speichern


    Ergebnis:


    was ist das Problem mit dem D1mini mit einem mal mit dem i2c ????


    hat noch jemand das Problem?


    Danke

    Gruß Jens