Moin, ich habe das Display "LCD-Modul SAMSUNG UC121902-TNARX-A" und versuche es jetzt an meinen arduino Leonardo zum laufen zu bringe, aber ich bekomme die Programmierung irgendwie nicht hin. Danke im Voraus Eike
Wenn mir einer erklären kann, wie man das Ding richtig programmiert :D
Hast Du Dir das Datenblatt angesehen, das Pollin dazu veröffentlicht hat? Bist Du Dir sicher, daß Du dieses Display verwenden möchtest?
Ja, das ist schön klein und ich habe es. Und das Datenblatt hilft mir nicht wirklich bei der Programmierung, ich weiß nur, dass ich irgendwie 56bits an den dataPin senden muss, nur wie?
Hast du mal nach Beispielcode für den KS0035 Controller gesucht?
[OT] Ich finde es schon mal geil dass Pollin als Produktbild ein fehlerhaftes Display abgebildet hat. Sind die alle so? [/OT]
Meine beiden Displays sind in Ordnung. Und Beispielcodes finde ich nicht.
Dann wird dir nix anderes übrig bleiben, als zu versuchen das Datenblatt zu verstehen, notfalls durch ausprobieren. Es geht damit los, dass Display richtig nach Schaltplan anzuschließen und sicherzustellen, das du das Timing einhältst. Dann spiel mit den Bits rum und schaue was passiert.
Ja das habe ich alles gemacht, aber es klappt nicht. Mir geht es eher um den Code dazu
Nun, wenn "es nicht klappt", dann hast Du ja schon eigenen Code geschrieben. Vielleicht enthält der ja nur einen Fehler? Oder ... sollte es sein können, daß Du das etwa noch nicht gemacht hast?
Doch doch, saß ich schon Stunden dran... hier das vielversprechende Code: const int clockPin = 3; // toggeln während der Datenübertragung const int latchPin = 4; // vor dem Senden der Daten an den IC auf LOW ziehen, danach wieder HIGH const int dataPin = 2; // an den seriellen Eingang des IC; jeweils 1 Byte übertragen void setup() { pinMode(clockPin, OUTPUT); pinMode(latchPin, OUTPUT); pinMode(dataPin, OUTPUT); } void loop() { digitalWrite(latchPin, LOW); // Datenübertragung: das Byte wird von rechts 2^0 nach links 2^7 codiert (least significant bit first) shiftOut(dataPin, clockPin, MSBFIRST,00000000); shiftOut(dataPin, clockPin, MSBFIRST,00000000); shiftOut(dataPin, clockPin, MSBFIRST,00000000); shiftOut(dataPin, clockPin, MSBFIRST,00001000); shiftOut(dataPin, clockPin, MSBFIRST,00000000); shiftOut(dataPin, clockPin, MSBFIRST,00000000); shiftOut(dataPin, clockPin, MSBFIRST,00000010); digitalWrite(latchPin, HIGH); }
Wenn du mit "latchPin" CE meinst, hast du es genau verkehrt herum gemacht.
:
Bearbeitet durch User
Eike schrieb: > shiftOut(dataPin, clockPin, MSBFIRST,00000000); > shiftOut(dataPin, clockPin, MSBFIRST,00000000); > shiftOut(dataPin, clockPin, MSBFIRST,00000000); > shiftOut(dataPin, clockPin, MSBFIRST,00001000); > shiftOut(dataPin, clockPin, MSBFIRST,00000000); > shiftOut(dataPin, clockPin, MSBFIRST,00000000); > shiftOut(dataPin, clockPin, MSBFIRST,00000010); Da Arduinos in C++ programmiert werden, werden hier andere Werte übertragen als Du annimmst. Sieh Dir deine jeweils letzten Parameter beim Funktionsaufruf von shiftOut noch mal genau an.
Wenn ich die Angaben von Pollin richtig interpretiere, hat das Display mehr als 53 Segmente. 12 x 7 Segmente = 84 Segmente Hinzu kommen noch diverse Symbole in der oberen Hälfte des Displays. Der Controller kann mit 1/1 Duty (welches du verwenden willst) aber nur 53 Segmente bedienen. Du musst dich also zumindest mit der Thematik 1/2 Duty auseinandersetzen.
Magnus M. schrieb: > Der Controller kann mit 1/1 Duty (welches du verwenden willst) aber nur > 53 Segmente bedienen. Du musst dich also zumindest mit der Thematik 1/2 > Duty auseinandersetzen. Nachtrag: Anhang
Eike schrieb: > Was muss ich den sonst schreiben??? Den_n_, mit zwei 'n'. Na, was ist das hier für ein Wert? Welches Zahlensystem soll der haben? > shiftOut(dataPin, clockPin, MSBFIRST,00001000); Und welches hat er? Hast Du Dich wenigstens drei Minuten lang damit auseinandergesetzt, wie in der von Dir verwendeten Programmiersprache numerische Konstanten geschrieben werden? Was ist im Arduino-C++-Dialekt 00001000 für ein Wert? Wieviele Bits sind das? Genau: 24 Bit. Verstehst Du nicht?
Hallo Eike, hier gibt es jetzt eine Library zum Thema: https://github.com/niccokunzmann/UC121902-TNARX-A Viele Grüße, Nicco
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.