LED-Man

Aus m-wiki
Version vom 1. August 2022, 21:46 Uhr von Snoopy78 (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Einführung == Inspiriert von [https://de.wikipedia.org/wiki/Pac-Man Pacman] soll auf einer LED-[https://www.mikrocontroller.net/articl…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Einführung

Inspiriert von Pacman soll auf einer LED-Matrix ein Spielfeld entstehen, auf welcher man alle leuchtenden Punkte "fressen" muss, ohne von den "bösen" LEDs erwischt zu werden.

Hardware

Damit ein Spielfeld erstellt werden kann, muss die Matrix eine gewisse Minimalgrösse aufweisen, damit man auch "Mauern" einbauen kann, damit man sich nicht einfach "kreuz und quer" bewegt. Um das Spielfeld zu vergrössern, wird der Rand des Feldes mit einer "automatischen" Mauer versehen, so dass man nicht "durchgehen" kann. Je nach Variante kann man natürlich auch dort "Löcher" vorsehen, durch die man auf die andere Seite des Spielfeldes gelangt. Um die Mauern, Feinde, Bonuspunkte usw. gut unterscheiden zu können, sind farbige LEDs von Vorteil, doch es geht auch mit einfarbigen LEDs, indem man diese je nach Funktion unterschiedlich ansteuert (blinkend / gedimmt / spezielles Blinkmuster). Für die LED-Matrix gibt es verschiedene Grössen und Hersteller. Ich habe mich für ein 8x16-Feld entschieden, da ich dieses besitze, doch bei der Programmierung kann man die Spielfeldgrösse natürlich über Variablen bestimmen und entsprechend strecken oder kürzen, wobei dies bei den Mauern natürlich berücksichtigt werden muss. Eine LED-Matrix wird normalerweise über einen Bus angesteuert, damit man die Anzahl überhaupt handeln kann. Bei mir ist es der I2C-Bus, welcher nur 2 Leitungen braucht, dafür halt nicht sehr schnell ist. Als Ansteuer-Baustein wird der HT16K33 von Holtek verwendet.

HT16K33

Dieser Baustein kann in verschiedneen Modi benutzt werden und könnte Tastaturen verarbeiten oder auch die berühmten 7-Segment-Anzeigen, doch in diesem Fall soll er die Ansteuerung der LED-Matrix übernehmen. Folgende Daten sind dabei wichtig/informativ:

  • Betriebsspannung von 5V.
  • Anschluss über I2C.
  • Reset wenn VDD für min. 20 Milliseunden auf 0V.
  • I2C-Adresse lässt sich über die Lötbrücken A0, A1 und A2 auf die Adressen 0x70 bis 0x77 einstellen.
  • Die Anschlüsse können bei Bedarf durchgeschlauft werden.
  • Der Baustein arbeitet mit 400kHz.
  • Das Modul lässt sich mit einem "S"-Bit-Befehl in den Standby-Betrieb bringen und von dort wieder holen.
  • Es gibt einen 16x8-Bit RAM-Speicher, welcher die Zustände der LEDs speichert und sich entsprechend auslesen lässt
  • Dimmen der LED in 16 Stufen über PWM möglich.