www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lauflichtmatrix programmieren


Autor: Andreas (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin Techniker von Beruf und arbeite mich in die Matrixprogrammierung 
ein, und zwar von ganz unten :-)

Kann mir einer mal so grob sagen, wie die angehängte Matrix programmiert 
wird, zb in welcher Sprache und über welches Programm?

Gerne nehme ich auch Vorschläge über andere Schaltungen entgegen, wenn 
jemand damit mehr Erfahrungen gemacht hat...

Gruß
Andreas

Motto: Es gibt nichts, was ich nicht kann-und wenn doch, dann wirds 
gelernt !

Autor: Michael Roek (mexman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>
> Kann mir einer mal so grob sagen, wie die angehängte Matrix programmiert
> wird, zb in welcher Sprache und über welches Programm?


Diese Matrix wird ueberhauptnicht programmiert....kein einziger 
programmierbarer Baustein wurde verwendet.
Die matrix wird nur - wie der Name schon sagt - per Parallelport 
angesteuert.

gruss

Michael

Autor: Michael Roek (mexman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach....und wie DU den Parallelport steuerst, ist vollkommen Dir 
ueberlassen und haengt evtl. von Deinem Betriebssystem, Deiner 
bevorzugten Programmiersprache, Deinen Kenntnissen etc. ab.

Gruss

Michael

Autor: Turbotoni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://mcselec.com/index.php?option=com_content&ta...

Hier ist ein beispiel für eine 8 x 48 Matrix, die durch einen µC 
angesteuert wird

MfG Turbotoni

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Schaltung ist an und für sich ganz nett.
Man schliesst sie an den LPT Parallelport eines PC an,
und steuert sie einfach in dem man auf diesen Drucker "druckt".
Sie verhält sich wie ein Drucker, jedoch ohne Zeichencodierung,
die muss man selber codieren (kann dafür jeden Pixel graphisch
ansteuern).

Du hast 5 verschiedene Speicher,
1 bis 4 speichern je 4 bit die zusammen 16 LEDs einer Zeile ergeben.
5 sagt auf welcher Zeile des Displays DIESE Zeile erscheinen soll.

Unter BASIC allgemein:

LPRINT#1 chr$(register*16+daten)

Register wird 0..4 sein, Daten 0..15 = 0000..1111.

LPRINT#1 chr(0*16+1);chr(1*16+15);chr(2*16+9);chr(3*16+3);chr(1*16+15)

lässt auf der ersten Zeile *ooo*****oo*oo** aufleuchten.
Dann muss man schnell die zweite Zeile "ausdrucken" damit der Eindruck 
eines kompletten Bildes entsteht und nicht nur die 1. Zeile kurz 
leuchtet.

Zudem zeigt diese Schaltung, daß man schon vor vielen vielen Jahren 
wenigstens so klug war, ausreichend Spannung und ausreichende 
Stromverstärkung zu verwenden, damit die Displays auch die LEDs mit 
Nennstrom betreiben können. Lider wird wohl der zulässige Spitzenstrom 
der LEDs und Ubereverse der Transistoren überschritten.

Im Schaltplan ist Anschluss 6 IC2 falsch an Anschluss 3 Nand1. 
Vermutlich gehört er an Anschluss 2.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

bin voll begeistert über so viel Resonanz innerhalb so kurzer Zeit.
Dafür erst mal ein grosse DANKESCHÖN.

Die Schaltung wird nicht programmiert, sondern von einem PC gesteuert, 
das ist vollkommen richtig.

Es sind 256 LEDs und (bitte korrigiert mich, wenn ich mich irre) man 
benötigt einen Assembler, der eine halbwegs verständliche Sprache, wie 
zum Beispiel Basic, in 8bit-Wörter umwandelt und diese an den 
Parallel-Port sendet. Gibt es so ein Programm? Und wenn ja, wie sehen 
die Befehle aus? Man muss wahrscheinlich eingeben, welches LED gerade 
leuchten soll, wie lange es leuchten soll. Wie wäre die Syntax dafür? 
Kann mir irgendeiner ein bereits programmiertes File schicken, aus dem 
ich ersehen kann, wie es funktioniert? Habe früher als Jugendlicher in 
Basic auf dem C64 programmiert, ist aber schon lange her. Ich baue eine 
Modellkrake (das Karussel) und benötige diese LED-Matrix für den 
Krakeschriftzug. Ich habe bereits versucht, die verschiedenen Effekte 
mit Flip-Flops und ähnlichem nachzustellen, aber für 3 oder 4 Effekte 
benötigt man einen erheblichen Schaltungsaufwand. Das will ich mit 
dieser Matrix umgehen. Bin über jeden Ratschlag dankbar.

Gruß
Andreas

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas schrieb:

> Basic auf dem C64 programmiert, ist aber schon lange her. Ich baue eine
> Modellkrake (das Karussel) und benötige diese LED-Matrix für den
> Krakeschriftzug.

Dir ist aber schon klar, dass du dann neben deinen Kraken einen PC 
postieren musst?


Und für den Rest deiner Fragen:
Besorg dir in der nächsten Buchhandlung ein Lehrbuch für die 
Programmiersprache deiner Wahl. Auch du wirst erst mal von der Pieke auf 
programmieren lernen müssen, ehe das mit deiner Anzeige was wird.

Autor: snowfly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst dir auch mal das hier anschauen
http://www.instructables.com/id/Led-Cube-8x8x8/
Die Leds müssen nicht in Würfelform angeordnet werden

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ok, wenn es einfach nur so ist, das man zB in Basic eine Routine 
schreibt, die den Druckerport anspricht, werde ich mich wohl wieder mit 
Basic vertraut machen müssen. Allerdings kenn ich dann immer noch nicht 
die Syntax, mit der eine bestimmte LED angesprochen wird. Da gibts noch 
Klärungsbedarf.

Gruß
Andreas

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi MaWin,

bitte erkläre mir die Bedeutungen der einzelnen Befehle.
LPRINT#1 chr$(register*16+daten)

Was bewirkt die obenstehende Zeile?

LPRINT#1 chr(0*16+1);chr(1*16+15);chr(2*16+9);chr(3*16+3);chr(1*16+15)
Kannst Du mir die Wirkung dieser Befehle beschreiben, damit ich erst 
einmal grundsätzlich verstehe, was da passiert?

Gruß
Andreas

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> bitte erkläre mir die Bedeutungen der einzelnen Befehle.
> LPRINT#1 chr$(register*16+daten);

Das IST die Erklärung.
Ich kann dir doch nicht dein Programm hier schreiben.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anstelle eines PCs kann hier natürlich auch ein uC treten ...


Gruß

Jobst

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein uC ist sicherlich später mal eine denkbare Alternative zum 
Uralt-Laptop, aber erst einmal muß ich es realisieren können...:-))

@MaWin: Ich will nicht, daß du mir hier ein Programm schreibst, ich 
wollte lediglich wissen, mit welchem Befehl du eine ganz bestimmte LED 
ansprichst.
Dann kann ich den Rest alleine machen.
(0*16+1): Kannst du mir das einzeln vermitteln? 0 ist wahrscheinlich das 
Register, 16 die Anzahl der LEDs im Register?? und die 1 ??

Nimms mir nicht übel, ich will doch nur lernen...:-))

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wo habt ihr eigentlich das "MÜ" auf eurer Tastatur???

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ALT Gr - m

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
µµµµµµµµµµµµµµµµ


danke, Holger

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

mein Layout macht grosse Fortschritte, allerdings ist mir da etwas 
unklar. Bei dem IC4508 sind Verbindungen zwischen den Pins 5 und 16, 7 
und 18, 9 und 20 und 11 und 22. Sind die im IC schon verbunden oder muss 
das auf der Platine passieren.

Gruß
Andreas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.