VFD 8x1 mit SPI Standart ansteuern

Hallo ihr Bastler und Tüftler,

ich bin neu hier im Forum und stelle mich deshalb kurz vor:

Mein Name ist Philipp, ich bin Mitte 20, gelernter Werkzeugmacher mit Hang zur Elektronik.
Ich vertrete die Meinung, dass man nicht Alles, bei jeder Kleinigkeit, sofort entsorgen muss.
Dabei stolpert man dann auch irgendwann mal über einen Arduino und bleibt dann da hängen, weil man da als Bastler ja so einiges mit anstellen könnte (Englisch und höhere Mathematik vorausgesetzt :sweat_smile:). Meine Erfahrungen sammle ich zur Zeit auf einem Elegoo Uno r3 mit dem Atmega328p. Mein Programmierwissen (wenn man das überhaupt schon so nennen kann :sweat_smile:) basiert nur auf dem Arduino. In der Elektronik besitze ich nur einfachste Grundkenntnisse. Trotz alle dem bin ich lernwillig und versuche alles einigermaßen nachvollziehen zu können.

Nun habe ich mich nach einigen Versuchen mit einem Vakuum Fluoreszenz Display auseinander gesetzt und prompt so ein Teil in China bestellt.

https://de.aliexpress.com/item/1005003275134707.html?gatewayAdapt=glo2deu

Ich habe dann mit der Heizspannung experimentiert (läuft aktuell mit den 3,3V vom Arduino, Wechselspannung ist für meine Anwendung dann doch zu aufwändig) und den Display auch zum leuchten gebracht. Dann folgt die erste Textausgabe nach diesem Beispiel ohne dem WIFI und Uhren- Anteil:

Als ich dann anfing, den Sketch auf meine Wünsche anzupassen, viel mir auf, dass hier keine Librarie für den VFD verwendet wird und noch viel schlimmer, dass ich die Funktion des Sketches und die Kommunikation zwischen Arduino, Treiber und VFD nicht verstanden habe.

Nun zu meinen Fragen:

Um welchen Treiber handelt es sich an diesem Display?
Wie setzt der Treiber die Signale an den Display um?
Der Arduino und der Treiber kommunizieren ja über diesen SPI Standard. Gibt es da einfach verständliche Lektüre, wie das abläuft?

Ich freue mich über gute Erklärungen, aber auch Verweise auf gute Bücher etc.

Meinen Sketch habe ich bewusst erstmal außen vor gelassen, weil ich keine Programmierleistung von euch verlangen kann, wenn ich es selbst noch nicht einmal verstanden habe.

Seit bitte nicht zu hart zu mir, ich will was lernen und nicht eure Zeit stehlen.

Danke :grinning:

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

SPI ist recht gut dokumentiert.
Und für das Display(seinen Treiber) wird es sicherlich ein Datenblatt geben.

Damit hast du alle Informationen vor dir liegen.

Auf dem Display und auf der Platine steht nichts drauf außer die Pinbelegung und Made in China. Bei Aliexpress steht auch nichts dazu.

Also, ich weiß ja nicht, wie du so drauf bist, aber um ein Datenblatt für den im Artikel verwendete Chip zu finden, habe ich unter 1 Minute suchen müssen.

Erklär es mir bitte.

image

Man gibt "PT6302 Datasheet pdf" in z.B. Google ein und drückt Enter.

Schande über mein Haupt! Das ist jetzt echt peinlich :joy:

Ich les mich mal ein. SPI hab ich jetzt auch was verständliches gefunden.

Manchmal bin ich dann so im Modus, dass ich den Wald vor lauter Bäumen nicht mehr seh.

Danke schon mal. Ich melde mich Später wieder.

Bin hierüber gestolpert: Futaba-VFD-16bit_ESP32

Grundsätzlich: Verwechsle bitte nicht die Versorgungsspannung von 5 V mit der Spannung der Datenleitungen von 3,3 V! Der UNO kann das Display über die Datenleitungen zerstören! Daher brauchst Du einen Levelshifter oder einen µC mit 3,3 V. Der ESP32 hat 3,3 V, WiFi, kann sich mit einem Zeitserver verbinden und kann mittels Arduino-IDE programmiert werden.

EDIT: Lt. Datenblatt können die Datenleitungen bei VDD = 5 V auch 5+0,3 V vertragen.

Top! Das hab ich nicht gefunden, ein ganz neuer Ansatz! Danke!!

Gut, ich versuche mit deinen Info´s was anzufangen.

Ich hab noch einen Hänger bei den Anschlüssen:

DIN = SDI Serial Data In
CLK = Serial Clock
CS = Chip Select
EN = Glühfäden

Aber wie versteht man

RESET? Müsste ja eigentlich SDO sein also Data Out. Oder kann der Display kein Signal ausgeben, weil er nur ein Ausgabegerät ist? Das würde ja bedeuten, dass ich den Display nicht abfragen kann, welches Zeichen er gerade zeigt. (Wäre auch irgendwo Käse, aber fürs Verständnis)

EN = Enable (Freigabe)

Ja, zurücklesen geht nicht! Sonst müßte MISO (Master In, Slave Out) angeschlossen sein.

Der Uno gibt 5V auf den Digital Pins aus.?

Im Datenblatt des Displays (Danke nochmal @combie) steht ja aber 3.3V oder 5V Logic Power Supply also Steuerspannung. Hab ich das so richtig verstanden?

Es gibt Fantasie und Realität.

In gewissem Sinne ist Fantasielosigkeit der beste Schutz gegen Irrwege.
Gegen falsche Annahmen.

Tipp:
Wenn es keinen SDO gibt, dann könnte es sein, dass es keinen SDO gibt.
Wenn du gerne den Reset zu einem SDO umtaufen möchtest, dann hat das nur sehr sehr wenig Realitätsbezug
Zeugt aber von einer blühenden Fantasie.

Ja!

EN: Okay, Freigabe, heißt, ich lege eine Spannung an um den Display zu aktivieren? Oder nur einen Impuls?

Beispiel (Ja, meine Fantasie): Ein Temperatursensor würde dann über MISO laufen?

Das ist genau die Falle, denn VDD ist die Versorgungsspannung, nicht die Logikspannung.

Aber Du hast Glück, denn in "ABSOLUTE MAXIMUM RATINGS" ist bei einer Versorgung von 5 V eine Logikspannung von VDD + 0.3 V angegeben. Der UNO ist wieder im Spiel!

Bitte lies erstmal meinen Link in #9.

Bei unserem wolle ballern die Synapsen pausenlos.
Aufmerksam lesen und im Schritttempo denken, sind wohl nicht so seine Stärken.

Ja, ich weiß, dass ich ein Spinner bin.

Also ist DIN eigentlich MOSI und MISO gibt es nicht, weil der Display kein Signal ausgeben kann.

Was bedeutet VFL am Controller?

Wenn man auf so einen kompetenten Typen wie Dich stößt, kann schon mal was ballern, er hat mein Verständnis :joy:

Sorry hab den Beitrag nicht gesehen. Und ich hatte anfangs nur ein gekürztes Datenblatt, hatte mich schon gewundert, dass das nur 4 Seiten hatte :sweat_smile: