8x8 LED-Matrix & ESP8266

OP #4339093
Lesenswert?

Hi,

ich bins mal wieder mit einem neuen Projekt.

Aktuell arbeite ich als Schüler an der Uni in einer Projektgruppe. Unser 
Ziel: Elektronisches Schachbrett in Eigenentwicklung. Erstmal gegen 
einen Schachcomputer, evt. später 2 Bretter für Fernschach.

Bei der Planung der Elektrotechnik-Komponenten fiel die Wahl des 
"Brains" der Applikation nicht schwer => ESP8266. In unserem Fall das 
ESP8266-201'er Board.

In meinem Leichtsinn habe ich mich natürlich sofort an EAGLE gesetzt 
(erstes Mal) und versucht die Steuerung der LED's zu zeichnen.

Da ich hier 4x den M74HC595B1 (ST) rumliegen habe und dieser ja 8 
Ausgänge hat, wäre dieser meine Wahl für die Ansteuerung der 8x8 
LED-Matrix gewesen. Einer pro Spalte, Einer pro Zeile.
--- Bis ich auf LED-Matrix gestoßen bin. Denn um Ströme hatte ich 
mir noch gar keinen Kopf gemacht.
Soll ich es nun mit diesem ShiftRegister versuchen? Oder doch lieber 
einen LED-Treiber oder gar Transistoren verwenden? Wenn ja, welchen 
Artikel genau?

Ein weiteres Problem ist die Ansteuerung. Ich verwende den ESP8266 mit 
der Arduino-IDE, wo es ja durchaus die ShiftOut-Library gibt, die aber 
leider nicht Hardware-SPI nutzt, welches der ESP besitzt, richtig? Nach 
dem was ich bis jetzt so gelesen hab, sollte ich auf jeden Fall 
Hardware-SPI nutzen, ansonsten wäre wohl das Flimmern zu stark, da nicht 
schnell genug geshifted werden kann. Ist das so korrekt? Echt Premium™ 
wäre es, wenn ich zu der Ansteuerung per Hardware-SPI einen Code-Snippet 
hätte, an dem ich mir das erarbeiten könnte. Anyone?

So, jetzt sollen auch noch 8x8 Schalter eingelesen werden. Dazu hatte 
ich vor, auch hier einen M74HC595B1 zu verwenden, um dann Zeilenweise zu 
scannen. Anschließend dann mit einem PISO-Shift-Register die Spalten 
einlesen. Schlechte Idee / gute Idee? Des Weiteren ist mir aufgefallen, 
dass wenn ich 2 Switches auf der selben Spalte drücke, ich die aktive 
Zeile am POSI-Shift-Register mit einer inaktiven Verbinde (5V <=> GND) 
was vlt. nicht gerade optimal ist. Deshalb die Dioden am 595'er.
Wenn diese Idee garnicht so abwägig ist, welches Parallel-In 
Shift-Register von Reichelt könnt ihr mir empfehlen? (Finde nichts, 
fehlt deshalb auch in der Schematic)

Ich weiß, dass der Schaltplan unvollständig und evt. auch falsch ist, 
bin aber für Kritik sowie für alles hilfreiche immer offen.

Vielen Dank schon im Voraus,

Leon
Angehängte Dateien:
(Firma: Q3) #4339207
Lesenswert?

Route 6. schrieb:
> Hallo!
>
> 64x64 Matrix?
> Wo spielt man so Schach?

Zuerst dachte ich, es sollen in den jeweils verbeibenden 8x8 Pixel 
großen Feldern die Spielfiguren abgebildet werden.

Dagegen spricht aber der Schaltplan, der "nur" mit langweiligen 8 x 8 
Pixel gezeichnet ist.

Schade, ich wollte schon sowas hier als Basis empfehlen: 
https://c2.staticflickr.com/4/3129/3159941186_68ea584cd9_b.jpg
Gast #4341492
Lesenswert?

Der ESP hat doch Hardware SPI.
Was hindert dich daran diese zu nutzen?

Im gleiche Zug könntest du auch die Schalter einlesen.

> wenn ich zu der Ansteuerung per Hardware-SPI
> einen Code-Snippet hätte,
Für die Arduino IDE gibts eine fertige Lib.
Die wartet nur darauf, von dir untersucht zu werden.
OP #4341505
Lesenswert?

Hi Ulrich,

stimmt, das nutze ich jetzt auch. Klappt auch alles soweit super! Mir 
ging's nur darum, wie ich es genau verwende, bis ich auf einen schönen 
Beitrag im Arduino-Forum gestoßen bin.

Ich hatte ja erst Angst, dass die Refresh-Rate der LED's nicht 
ausreicht, aber aktuell sieht's gut aus. Mal sehen was passiert wenn ich 
Wifi in den Mix werfe...

Mein Problem ist nun: Die LED's sind echt dunkel (was ich mir ja auch 
denken hätte können, sind ja nur 1/8 der Zeit an). Was kann ich 
hiergegen machen?

Ich muss wie gesagt eine 8x8 (nicht 64x64 :D) LED-Matrix ansteuern und 
die Komponenten (Ausgenommen LED's und Widerstände) sollten nicht mehr 
als 10-15€ kosten.

Kennt jemand hierfür eine Lösung?

Danke im Voraus,

Leon
OP #4341512
Lesenswert?

Da warst du gerade einen Augenblick zu schnell. :)

Meinst du ShiftOut? Die macht das doch über Software? Ich nehme jetzt 
SPI.h und pulse einfach immer den SlaveSelect auf Low wenn ich das 
geschriebene übernehmen will.

Habe derzeit also zwei SS-Leitungen, jeweils eine zum jeweiligen 
Shift-Register. Habe es jedoch noch nicht geschafft die zu aneinander zu 
hängen, also QH' vom ersten an SERIAL-IN vom zweiten... Muss ich dann 
nicht einfach 2 Bytes über den SPI schieben; die ersten 8 Bits nimmt das 
erste ShiftRegister, die anderen 8 das zweite? Hat irgendwie nicht 
funktioniert. :(

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