Hallo Leute,
ich habe mir vorgenommen, mich in Python einzuarbeiten und kleine eigene Projekte mit meinem Raspberry Pi zu beginnen. Mir kommt es darauf an, eigenes Verständnis für das notwendige Vorgehen und die Umsetzung der einzelnen Schritte in die Praxis zu entwickeln. D.h. ich suche nicht unbedingt eine "fertige Gesamtlösung" sondern Informationen, die mir helfen, selbst eine Lösung der Projektvorhaben zu erstellen.
Da ich noch "Newbie" in diesem Forum bin, bitte ich mir nachzusehen, wenn ich gegebenenfalls vorhandene, genau passende Anleitungen/Erläuterungen (noch) nicht gefunden habe.
Zunächst einmal möchte ich versuchen, auf einer einzelnen 7-Segment-Anzeige Text und Zahlen "nach Art einer Laufschrift" darzustellen.
D.h. es soll eine kurze Darstellung des ersten Zeichens erfolgen, dann eine kurze Darstellung des zweiten Zeichens, usw. und nach erfolgtem vollständigen Durchlauf soll das Ganze wieder von vorne losgehen.
Zunächst kann die Ansteuerung der 7-Segment-Anzeige über einzelne GPIO-Pins erfolgen, Ziel ist es aber, die Ausgabe über nur einen GPIO-Daten-Pin umzusetzen, d.h unter Verwendung eines Schieberegisters.
Spätere Erweiterungsmöglichkeiten:
- Abbruchmöglichkeiten für die Textanzeige schaffen,
- Übernahme des darzustellenden Textes aus externer Quelle (z.B. von anderen Quellen / Programmen, Ausgabe von Sensoranzeigen über das Display),
- Erweiterung auf 2, 3, 4, oder mehr 7-Segment anzeigen, um die Lesbarkeit zu erleichtern.
Umsetzung mit
- Raspberry Pi
- Python als Programmiersprache
- 7-Segment-Anzeige (1 Stück, später auch mehr)
- Schieberegister, zur Umsetzung serieller Datenausgabe in parallele Datenausgabe (1 Stück, später auch mehr)
- Steckbrett(er), Widerstände, bei Bedarf ggfs. Transistoren, externe Stromversorgung etc.
Geplantes Vorgehen:
- Grundsätzliche Definition von Buchstaben und Zahlen, d.h. Festlegung der anzuzeigenden Segmente je Buchstabe/Zahl (Codetabelle) [erledigt]
- Umsetzung in 1 Byte pro Buchstabe/Zahl [erledigt]
- (Umsetzung in Hexadezimalcode erforderlich?) [ab hier noch unerledigt]
- Python-Programm schreiben,
- Im Programm vorzusehende "Programmblöcke"
- Manuelle Eingabemöglichkeit schaffen
- Speicherung in einer Variablen
- Zeichenweise Ausgabe der Variablen
- zeichenweises Auslesen der Variablen, beginnend vom ersten Zeichen,
- Übersetzung in das zum Display zu sendende Byte,
- Fragen zu Timing und Ansteuerung des Schieberegisters klären
- Umsetzung in das Festlegung der Zeitdauer der Anzeige,
- Löschung der Anzeige vor Darstellung des nächsten Zeichens erforderlich?
- Anzeige des nächsten Zeichens
- Neubeginn der Anzeige
- Abbruchmöglichkeit schaffen
...
Zu vielen der oben vorgesehenen Einzelschritte werde ich mir selbst Lösungen erarbeiten können und es auch gerne machen. Wenn ich sehr lange suche, dann finde ich wahrscheinlich sogar Lösungen zu allen Schritten. Aber mit Euch zusammen geht es mit Sicherheit schneller und macht sicherlich auch mehr Spaß.Die Beiträge aus "[Tutorial] Ansteuerung einer 7-Segment-Anzeige" habe ich gesehen, diesen aber noch keine Lösungsansätze für meine "Einzelschritte" entnehmen können. Vielleicht könnt Ihr mir ja ein wenig "auf die Sprünge helfen"..
Etwas Geduld ist angesagt, da ich immer nur begrenzt Zeit habe, mich diesem kleinen Projekt zu widmen. Ich halte Euch aber gerne über meine "Fortschritte" auf dem Laufenden. Vielleicht resultiert am Ende ja ein neues Schritt-für-Schritt-Tutorial daraus, in dem ich, wenn ich es selbst erst einmal weiß "wie es geht", anderen Anfängern (solchen wie mir
) das Vorgehen erläutern kann ...
Ich freue mich auf Eure Kommentare, Anregungen, Hinweise und Tipps.
Thommy