LED Laufschrift Spiegelverkehrt, wer kann helfen? LED Matrix WS1228B

Hallo ich bin hier neu und ich stecke nicht so tief in der materie mit programmieren.
Ich helfe nen guten Freund eine Laufschrift zu machen. Auf einem LED matrix teil. 8x32 LEDS WS1228B und es geht glaube ich vertikal im zickzack

Also ich habe schon einige laufschriften beispiele durch bekomme sie auch zum laifen. bekomme da auch was geändert. nur die beispiele die die Laufschrift in Bunt machen. da ist die schrift spiegelverkehrt. Und egal was ich versuche ich bekomme die nicht andersrum angezeigt.
Ich kann sie links nach rechts laufen lassen. von oben nach unten und umgekehrt.
Ich egal wie alles möglich nur eine Sache nicht. Das die Buchstaben Spiegelverkehrt sind.

in den Libarys sind zwar codewörter listen oder sowas drinn aber keine beschreibung wie man sie benutz. in den beispielen finde ich nix was zb beispielhaft anzeigt wie das gespiegelt wird.

Das ich mir das irgend wie zu recht friemeln kann.

Der Code sieht wie folgt aus.

#include <FastLED.h>

#include <LEDMatrix.h>
#include <LEDText.h>
#include <FontMatrise.h>

// Change the next 6 defines to match your matrix type and size

#define LED_PIN        2
#define COLOR_ORDER    GRB
#define CHIPSET        WS2812B

#define MATRIX_WIDTH   32
#define MATRIX_HEIGHT  8
#define MATRIX_TYPE    VERTICAL_ZIGZAG_MATRIX

cLEDMatrix<MATRIX_WIDTH, MATRIX_HEIGHT, MATRIX_TYPE> leds;

cLEDText ScrollingMsg;

const unsigned char TxtDemo[] = { EFFECT_SCROLL_RIGHT
                                                             
                                  
                                  "           " EFFECT_HSV "\x00\xff\xff" "R" EFFECT_HSV "\x20\xff\xff" "A" EFFECT_HSV "\x40\xff\xff" "G" EFFECT_HSV "\x60\xff\xff" "N" EFFECT_HSV "\xe0\xff\xff" "A" EFFECT_HSV "\xc0\xff\xff" "R"
                                  EFFECT_HSV "\xa0\xff\xff" "O" EFFECT_HSV "\x80\xff\xff" "E " EFFECT_DELAY_FRAMES "\x00\x00" EFFECT_RGB "\xff\xff\xff" };

void setup()
{
  FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds[0], leds.Size());
  FastLED.setBrightness(64);
  FastLED.clear(true);
  FastLED.show();

  ScrollingMsg.SetFont(MatriseFontData);
  ScrollingMsg.Init(&leds, leds.Width(), ScrollingMsg.FontHeight() + 1, 0, 0);
  ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
  ScrollingMsg.SetTextColrOptions(COLR_RGB | COLR_SINGLE, 0xff, 0x00, 0xff);
}


void loop()
{
  if (ScrollingMsg.UpdateText() == -1)
    ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
  else
    FastLED.show();
  delay(50);
}

vieleicht hat ja wer ne idee. sonst bekommt er es nur einfarbig. und gut. auch wenn er es bunt haben will.

Es muss irgendwo im Code eine Definition der ganzen Zeichen geben.
Für jedes einzelne Zeichen. Und an der Stelle muss man spiegeln.
Das bedeutet: Der Pixel der ganz links ist landet ganz rechts usw.
innerhalb der Zeichendefinition.
Wenn der Augabepuffer lauter einzelne Pixel für alle Zeichen auf einmal hat dann könnte man auch den ganzen Ausgabepuffer spiegeln.

Meinst du denn mit spiegelverkehrt man muss in einem Spiegel schauen damit man die Schrift wieder lesen kann?

vgs

da gibt es wahrscheinlich auch eine Option welche für dich funktionieren könnten.
Wenn nicht, halte dich an eine Reihenfolge wie vom Library Autor vorgesehen.
Dazu musst du in der Dokumentation der Library nachlesen was es alles gibt.
Und wir sehen auch nicht wie du dein Display aufgebaut hast, weil du keinen Schaltplan gepostet hast.
Nur du weist, welche Library du verwendest, daher musst du das selber darin suchen.

Wenn die Verzweiflung sehr groß ist, wären Vorschläge:

  • Schaltplan posten
  • Aufzeichnen wie dein Display aufgebaut ist
  • welche Library verwendest du genau - LINK setzen

Also ganz erlich warum nen schaltplan. ?? was willst du da sehen wie ich 5V und GND an den Arduino anschließe und an Pin2 die datenleitung? im Code ist eigendlich alles vorhanden.
Es ist eine LED matrix. 8 LEDS hoch und 32 LEDS lang. was insgesammt 256LEDS macht.
Gesteuert über WS1228B chips die alle in jeder einzelnen LED Stecken. und mit Daten in udn daten Out untereinander verbunden sind.

Also sorry. Es ist nicht mehr zu tun als 5V GND und Dateten in an den Arduino anzuschließen.

Und erste LED ist oben rechts, 256te LED ist oben Links, 8te LED ist unten links 1 reihe. 9te LED ist unten 2te reiche 16te LED ist oben 2te reihe. 17te led ist oben ete reihe. 24te led ist unten 3te reihe und immer so weiter also ein zigzag vertikal.

Darum auch #define MATRIX_TYPE VERTICAL_ZIGZAG_MATRIX.
Alles andere ob horizontal zigzag, oder columns oder rows oder was auch immer da geht. bringt absoluten mischmasch.

Und im Code sind alle Libarys zu sehen die benutzt werden.
#include <FastLED.h>

#include <LEDMatrix.h>
#include <LEDText.h>

was ist daran nicht zu erkennen?

Links kanne ich dir schlecht geben weil ich die von zig gitub seiten habe und nicht emhr weis welche ich da wo geladen habe ich habe noch ka 20 weitere

und wie gesagt in den libarys sind code listen oder keyword listen aber keine beschreibung wie anzuwenden und auf der github seite wo ichs her habe auch nicht. der angebliche link zu wiki ist auch nicht vorhanden.

Sorry ich bin nun nicht einer der da tief drin steckt aber so viel kann ich noch alleine aus dem code erkennen was da für ne matrix angeschlossen ist und welche libary da drin verwendet wird.

Die zeichen an sich befinden sich in der #include <FontMatrise.h> datei. das ist eifach nur eine Font datei. wie erkläre ich das. die schriftart bei windows wie die schrift halt dargestellt wird. sicher kennst du arial oder time news oder sowas.

und für die einzelnen zeichen sind so weit cih mcih erinnere hex zahlen oder binär zahlen angegeben. bedeuten 39 buchstaben udn einige sonderzeichen müsste ich manuell alle irgend wie umschreiben. nur wie ist die frage.

es gibt da keyworter. da befindet sich zb HorizontalMirror oder VerticalMirror drinn. aber nicht wie diese einzubinden sind. steht halt nur HorizontalMirror und das wars. ich habe auch in den ebispielen 2 sind an der zahl geschaut da wird das nicht verwendet. also ka wie diese kaywörter anzuwenden sind.
udn wenn ich die so eingebe immer irgend welche fehler mit { bevor oder not declared in this scope usw usw

das ist ja das Doofe. wenn ich wüsste wie das geht und ich den codeteil dann kapiere bekomem ich den sicher noch mit einem anderen zusammen der dann noch was anderes machen soll.

nur wenn das schon nur daran scheitert das es spiegelverkehrt ist und ja das bedeutet wenn ich in ein spiegel schaue dann stehts richtig rum das L wird zb dann andersrum angezeigt. was ich schlecht hier als zeichen habe aber der untere querstrich beim L geht nicht nach rechts sondern link.

Ohne Links zu den von Dir verwendeten Libs wird das ein Würfelspiel.
Dann Link zu den benutzten Seiten.

Gruß Tommy

Woher der Kram stammt!
Du willst Hilfe?
Dann komm mit Infos.

Es könnte helfen zu erlösen, was sich hier hinter versteckt:

so ich habe es bis jetzt nach meiner ersten antwort versucht rauszusuchen wo ich das herhabe. hat sehr lange gedauert. einiges war aber auch über die arduino biblotehksverwaltung

aber egal.

und wenn du nur die eine zeile meinst.

const unsigned char TxtDemo[] = { EFFECT_SCROLL_RIGHT

also bisher habe ich nur raus das ich da den text von links nach rechts oder rechts nach links oder von oben nach unten oder unten nach oben laufen lassen kann. aber die buchstaben sind immer noch spiegelverkehrt.

ja ich muss sehen ob du den Strom für 256 LEDs aus dem Arduino ziehst oder separat zuführst. Und wenn extern, ob und wo da ein Widerstand und ein Elko vorhanden ist.

Ja ich brauche genaue Angaben wie deine Matrix aufgebaut ist und wie sie verläuft. Weil das steht in deinem Eingangspost

mit glauben kann ich nichts anfangen. ich muss es wissen was du da hast.

du schreibst

das liest sich als ob der Strip diagonal verläuft - total unlogisch deine Beschreibung. Daher sollst du einen Plan zeichnen und ein Bild posten.

na welch eine Überaschung. Glaubst du wir hätten schneller gefunden was du verwendest?

Wenn wir rückfragen stellen, dann hat das einen Grund um uns in DEIN Problem reinzudenken. Je einfacher du uns das machst desto SCHNELLER wirst du zu einem Ergebnis kommen.

Du kannst zwar weiterhin hinterfragen warum wir bestimmte Inputs von dir brauchen, verlängert aber nur die Zeit und vermindet das Interesse dir zu helfen.

Schaltplan posten
Aufzeichnen wie dein Display aufgebaut ist
welche Library verwendest du genau - LINK setzen

Der Bilderonkel ist schon wach - so richtig?
image

Das Einfachste wäre wohl, wenn es die Möglichkeit gäbe, das Display mit Pixel 1 links einzubauen.
Habe mal kurz in die Text-Lib geschnüffelt (nur lesend, nix getestet)
Evtl. hilft:

void SetTextDirection(uint16_t Options);
This allows you to set the character direction (CHAR_UP, CHAR_DOWN, CHAR_LEFT, CHAR_RIGHT).

Gruß Walter

Hallo Walter nein genau andersrum ist das

und CHAR_UP, CHAR_DOWN, CHAR_LEFT, CHAR_RIGHT habe ich getestet tut aber nix außer den buchstaben um 90 grad drehen. er bleibt aber immer noch spiegelverkehrt.
wenn ich so wie ich es versucht habe reinzubasteln.

also ich fasse mir gerade echt an den kopf.

du meinst ich wäre so blöde und ziehe so um die 75watt-100watt aus dem arduino und der USB buchse ? warscheinlich könnte das die USB3.0 schaffen aber das tut sie nicht.

Natürlich bekommt das EXTERN POWER. und das von rund 250W netzteil.
( 1000W PC netzteil )

gut aber Elko ????? und widerstand ??? Frage mich grade wo ich die da einbauen soll.

So ich hoffe du weist nun was ich da habe.

ändert aber nix daran das der text

So angezeigt wird. egal ob von links nach rechts durchlaufend oder von rechts nach links

Dies ist ein öffentliches Forum, wo ganz unterschiedliche Menschen aufeinandertreffen. Das ganze Spektrum vom Vollpfosten bis zum Gelehrten oder Lehrenden. Woher sollte ich Dich kennen?

Tatsächlich sind viele hier beschriebenen Probleme eher im Bereich Pille-Palle anzusiedeln, wobei dies natürlich auf den eigenen Standort ankommt. Beispielsweise würde mich @combie hinsichtlich OOP eher Richtung Vollpfosten einsortieren, selbst würde ich mich als fortgeschrittenen Anfänger sehen, obwohl ich schon eine ganze Weile als Hobby programmiere.

Es geht also um eine systematische Suche zum Ausschluß von Fehlern, nicht mehr und nicht weniger. Die Stromversorgung gehört in der Fehlerstatistik zu den Spitzenreitern.

Blöd wärst Du nur, wenn Du Menschen, die Dir in ihrer Freizeit kostenfrei Hilfe anbieten, verprellst.

Antwort im Adafruit NeoPixel Überguide

ja ist ja ok. aber dennoch der text wird ja angezeigt in sämtlichen farben oder helligkeiten oder oder oder. nur ebend wie erklärrt spiegelverkehrt. wenn es stromprobleme oder anschluss probleme wären oder ich nur wirrwar sehen würde wäre es ja noch ok danach zu fragen.

aber doch nicht es haut hin. nur stehen die ganzen buchstaben alle spiegelverkehrt.

mit einem anderen beispiel programm ( andere libary ) wo ich nur nen test anzeigen lassen kann aber nur in einer farbe. nur nicht bunt halt. da stehts richtig rum. man kann alles wunderbar lesen.

aber da sehe ich noch wehniger durch wie man da bunt reinprogrammieren könnte. und auch die schriftart ist eine einzelne die auch nicht gefällt.

das ding an sich haut hin.

es liegt hier nur irgend wie am code das die buchstaben spiegelverhert sind. ansonsten tut es ja alles was es soll. ich kann die buntheit beeinflussen die schriftart und und und. nur ebend bekomme ich nicht die buchstaben so rum wie sie gehören.

Aufgrund Deiner Beschreibung würde ich vermuten, die Schrift ist von links nach rechts, aber die Buchstaben sind gespiegelt. Tatsächlich ist aber die ganze Zeile gespiegelt. - "Sag ich doch!" - ja, habe ich aber nicht so verstanden!

Bitte versuche mal cLEDMatrix<-MATRIX_WIDTH, MATRIX_HEIGHT, MATRIX_TYPE> leds;

Siehe 1.Setting Up

ähm danke für deine antwort. ich habe es raus ich habe irgend wo was gelesen nun weis ich grade nicht wo. habe die zig textdateien geschlossen.

aber auf dieses muss man erstmal kommen.

es wird ja

#define MATRIX_WIDTH   32
#define MATRIX_HEIGHT  8

so die höhe und die breite definiert.

und irgend wo glaube in irgend einem beispiel vonm irgend wo anders gabs nen kommentar. mit negativen zahlen.

und nun habe ich das so

#define MATRIX_WIDTH   -32
#define MATRIX_HEIGHT  8

nur irgend wie aus zufall gelesen. und was soll ich sagen der text ist nun richtig. man da muss man erstmal drauf kommen.

und es ist in dem sinne das selbe wie du gesagt hats. nur andere zeile.

ich lese ja nun schon viel und suche und suche und probiere wie blöde aus. bin ja nicht so das ich alles fertig haben will. von irgend welchen leuten die ich mal frage.

aber so tief stecke ich nicht in der programmierung drinn, manchmal kanns echt so einfach sein.

Bitte gerne, danke für die Rückmeldung - leider auch nicht selbstverständlich!

Vollpfosten, würde ich nie öffentlich sagen.
Eigentlich noch nicht einmal denken, selbst wenn doch mal, nicht zugeben.

Ich nenne das lieber "unterschiedliche Kompetenzstufen".
Die Entwicklung dieser, ist ein Prozess!

"Vollpfosten" ist da eher ein Urteil, welches die Möglichkeit zur Entwicklung negiert.
Wobei es doch schon Menschen geben mag, welche sich jeglicher Entwicklung aktiv entgegen stellen. Aber ich vermute mal, dass diesen sowieso das Programmierergen fehlt, bzw. inaktiv ist.

2 Likes

Das ist sicher daß die Seitenverkehrt ist wenn Du die WS2812B als WS1228B bezeichnest :wink: :wink: :wink:
(entschuldige, diesen Witz konnte ich mir jetzt nicht zurückhalten).

Ja das Minus wird oft als "in die anderer Richtung" interpretiert.
Jetzt wo Du das sagst ist es ja logisch.

ja dann habe ich mich da vertippt mit der bezeichnung des Chips. passiert. nimm ich dir nicht übel.

und ja nach langem hin und her, und ka 30 verschiedensten beispielen für ka was an controller( arduino seitig. also tensi due, usw usw glaube esp war auch bei. ) habe ich nur nebenbei das minus gelesen. und denke mir so. ist das jetzt wirklich alles und nach ausprobieren. ja es ist wirklich nur das minus vor der LED anzahl.