LCD-Modul SAMSUNG UC121902-TNARX-A Arduino

Gast #3617042
Lesenswert?

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.
Gast #3617104
Lesenswert?

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);
}
Persönliche Seite #3617146
Lesenswert?

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.
Persönliche Seite #3617155
Lesenswert?

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.
Persönliche Seite #3617207
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren