Surenoo 1602 RGB LCD

Für die normalen 1602 LCD gibt es dieses I2C Interface:

Gibt es ein derartiges Interface auch für die 1602 RGB LCD's ?

du meinst wegen RGB oder was ist dein Ansinnen?

anklickbarer Link auf Datenblatt des Displays?

Ich habe nur diesen Link: Auf Ebay

Meine Frage beruht darauf das die RGB Versionen eine geänderte Pinbelegung haben und aus diesem Grund das von mir gezeigte Interface nicht mit diesen Displays pinkompatible ist.

Ich benötige eine Alternative die mit den RGB Versionen genauso gut funktioniert !

Die Sureno gibt es auch direkt mit I2C, ob es aber auch ein Datenblatt und/oder eine Arduino-Lib dazu gibt?

Gruß Tommy

außer den Zusätzlichen RGB Kathoden sehe ich keinen Unterschied. Was ist aus deiner Sicht anders, was macht dein Display nicht? Echtbild von deinem Aufbau?

Ich habe die Lösung für mich gefunden !

Ich benutze das I2C Interface das ich oben gezeigt habe, entferne jedoch die Pins vom Interface die mit A und K des Displays verbunden werden !

An B, G, R und Anode des Displays schliesse ich dann einen WS2811 an !

Auf EBAY !

Dann kann ich alle Funktionen des Displays über I2C ansprechen und die RGB Beleuchtung des Displays über den WS2811 steuern !

Hi

Schöne Lösung, so hast Du zwar die Backlight-Funktion der LCD-Library arbeitslos gemacht, kommst aber des WS2811 an sämtliche Farben ran, Die man sich auf einem Siaplay so wünschen kann.

MfG

Ausserdem kann ich so das Display über i2C ansteuern !

Also mehrere gleichzeitig an einem Arduino anschliessen !

hätte vieleicht wer einen Tipp für die RGB Ansteuerung über I2C? Ginge da ein MCP4725 MCP4725 Breakout Board - 12-Bit DAC w/I2C Interface : ID 935 : $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits. Denn eine ganze WS2811 lib für drei LEDs finde ich schon ein wenig oversized...

noiasca:
hätte vieleicht wer einen Tipp für die RGB Ansteuerung über I2C? Ginge da ein MCP4725 MCP4725 Breakout Board - 12-Bit DAC w/I2C Interface : ID 935 : $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits.

Dann bräuchstest Du 3 Stück davon?

Ich hätte den MAX7313 bzw. MAX7315 auf'm Schirm.
Direktanschluß von LED's ohne Transitoren und noch viele Pins frei...

coole Dinger! Karma+. Als Breakout auch irgendwo?

Hi

Die Max731x sind ja interessant - die max 3,6V stören 'etwas', weckt aber Interesse!
Danke für die Links.

MfG

PS: Zumindest auf eBay nur als nackter Chip

noiasca:
coole Dinger! Karma+.

Nehme ich gerne - schön, wenn ich zu was beitragen kann....

Als Breakout auch irgendwo?

Es gab mal ein Shield damit. GitHub - Snootlab/Snootor: Arduino library for Rotoshield
IMHO bei Ali gabs auch mal eine Platine.

Ich glaub die Sparkfun sind ähnlich:

Kurzer Nachtrag:
Datenblatt gibt es nicht bei Semtech aber bei Mouser: https://www.mouser.de/datasheet/2/761/sx150x_89b-1283302.pdf

Passt also

Du solltest aber berücksichtigen, das die RGB Displays zwar eine gemeinsame Anode für +5V haben, aber die Anschlüsse R, G und B keineswegs die Kathoden sind !!!

Um R ans leuchten zu bringen, musst du auch 5V auf R geben.
Da sind nämlich Transistoren drauf, die dann damit geschaltet werden und ihrerseits die Kathoden auf Masse ziehen.

So läßt sich das dann auch wunderbar direkt vom Arduino per 3 PWM Ausgänge in allen Regenbogenfarben mischen.
Die Ausgänge werden nicht überlastet, weil die Basisvorwiderstände für die Transistoren auch schon auf dem Display sind.
Die komischen LED Treiber kannst gepflegt sparen, die machen an der Stelle überhaupt keinen Sinn.

Genau, wie der V0 Anschluß vom Display, der ist beim RGB völlig wirkungslos, da gibbet nix einzustellen damit, das Poti kannste auch sparen. Einfach von Plus nach Minus 2 10K Widerstände und die Mitte auf V0, dann hat er was zu futtern und ist zufrieden.

Die Displays sind super, hab ich auch im Einsatz für ein Thermostat.
Gerade fertig geworden. Kommt bald zu den Projekten in den entsprechenden Thread.

Hi

V0 sollte dem Kontrast dienen und hat somit, wie Du korrekt schreibst, absolut Nichts mit der Hintergrundbeleuchtung zu tun - könnte sich aber negativ bemerkbar machen, Den unbeschaltet zu lassen - toll, wenn Da 'was halbwegs Brauchbares' an Pegel zusammen kommt, für Kontrast in jeder Lebenslage, also nicht nur am heimischen Küchentisch, sehe ich Da Probleme.

MfG

Die SX1509 hab ich mir jetzt auf alle Fälle mal zum Spielen bestellt. Irgend ein BlingBling Projekt wird sich damit schon machen lassen.

Warums für die Parallel RGB Displays nicht klappen soll, wundert mich. Diesen Eingängen sollte es ja egal sein, ob ein PWM vom Arduino oder von einen anderen IC kommt. Und lt. Datenblatt kann der Chip Ausgänge sourcen und sinken.

skyfox60 ich vermute mal das Du mir damit sagen willst das dies mit den 5V auch für G und B gilt.

@ noiasca:
Zitat:

Warums für die Parallel RGB Displays nicht klappen soll, wundert mich. Diesen Eingängen sollte es ja egal sein, ob ein PWM vom Arduino oder von einen anderen IC kommt. Und lt. Datenblatt kann der Chip Ausgänge sourcen und sinken.

Zitat Ende

Ganz einfach, weil sie völlig überflüssig sind. Warum sollte man mit dem Arduino ein Modul ansteuern, das dann die Hintergrundbeleuchtung steuert, wenn der Arduinoausgang das direkt kann?
Du steuerst doch sicher auch nicht einen BC 237 an, der einen BC237 ansteuert, um damit einen BC 237 anzusteuern, der dann eine Leuchtdiode leuchten läßt.

@ Megaionstorm
Zitat:
skyfox60 ich vermute mal das Du mir damit sagen willst das dies mit den 5V auch für G und B gilt.
Zitat Ende

Genau so ist es.

Man nehme drei PWM Ausgänge und die direkt an RGB, ohne Widerstand oder sonst was.

Dann kannst du alle drei Farben in der Helligkeit steuern.

Das klappt bestens.

Allerdings ist das mit den Farben und dem Empfinden ( Sehen ) alles nicht ganz linear.

Hier mal ein Auszug für ein Beispiel, das dir die Farben einmal komplett durch den Regenbogen steuert mit recht ordentlichen Ergebnissen.

unsigned char pwmtable[40] = {0, 0, 0, 1, 2, 3, 4, 6, 8, 10, 13, 16, 19, 23, 27, 31, 36, 41, 47, 52, 59, 65, 72, 80, 88, 96, 105, 114, 123, 133, 143, 154, 165, 177, 189, 201, 214, 227, 241, 255};

 for(Z==0;Z<=240;Z = Z++)
 {
  angle = Z;
  if(angle<40)
        {
            R=0;
            G=pwmtable[angle];
            B=255;
        }
        else if(angle<80)
        {
            angle-=40;
            R=0;
            G=255;
            B=pwmtable[39-angle];
        }
        else if(angle<120)
        {
            angle-=80;
            R=pwmtable[angle];
            G=255;
            B=0;
        }
        else if(angle<160)
        {
            angle-=120;
            R=255;
            G=pwmtable[39-angle];
            B=pwmtable[angle];
        }
        else if(angle<200)
        {
             angle-=160;
            R=255;
            G=0;
            B=pwmtable[39-angle];
        }
        else if(angle<240)
        {
            
            angle-=200;
            R=255;
            G=pwmtable[angle];
            B=pwmtable[angle];                 
        }    

 analogWrite(Red,R);
    analogWrite(Green,G);
    analogWrite(Blue,B); 
    delay(50);
 }

Und hier der komplette Sketch des Thermostates. Anhang

Hier geht es um eines, das von 35-42°C einstellbar ist (läßt sich leicht anpassen )
Hier meine Version 2.0. Da wird die Hintergrundfarbe variabel gemappt.
Bem Einschalten ist die aktuelle Temperatur immer für die Farbe Blau zuständig. Die Eingestellte Solltemperatur ist immer für rot zuständig ( wird beim ändern auch korrekt nachgefahren ), dazwischen ist immer der volle Regenbogen, so das man bereits aus der Ferne an der Displayfarbe erkennen kann, wie lange das Aufheitzen noch etwa dauern wird.

Allerdings habe ich das Display konventionell angeschlossen, nicht über I2C.

RED, GREEN und BLUE sind bei mir die PWM-Ausgänge 9, 10 und 11.

Es kann sein ( meine mich zu erinnern ) das man den 11er nicht nutzen kann, wenn man als PWM, wenn I2C aktiv ist, eil es wohl denselben Timer nimmt. Da könntest du aber einen anderen nehmen, den 6er z.B., der sollte gehen. Den hab ich anders belegt, aber der würde bei I2C ja frei werden. Bei mir steuert er glaub ich D7 vom Display.

Neuer ZIP-komprimierter Ordner.zip (4.4 KB)

Warum sollte man mit dem Arduino ein Modul ansteuern, ds dann die Hintergrundbeleuchtung steuert, wenn der Arduinoausgang das direkt kann?

Für mich ist das schlüssig beantwortbar: wenn man schon Pins mit einem i2c Schild fürs LCD spart, warum soll man dann 3 weitere herkömmliche Pins für dessen Beleuchtung opfern wenns eben auch anders geht.

Wenn man argumentiert, dass man genug pins hat, braucht man fürs LCD auch kein i2c.