Forum: Mikrocontroller und Digitale Elektronik LED Matrix 32x16


von Franz S. (franz_0815)


Lesenswert?

Moin


Ich programmiere gerade ein LED matrix

Kathode über 74hx595 Annode über Mosfet.
China Modul.P10
Ansteuerung mit PWM für die Leuchtstärke klappt wunder bar.

Ich denke das man ein Buffer erstellen muss im dem die led Matrix 
angesteuert wird.
Diese ganze sachen im Interrupt und dauernd in dem LED Modul die Daten 
des Buffer schreiben.

Mein Problem ist nun wie erstelle ich einen Buffer für AVR Studio 
Atmega644
?

Wie gestallte ich Ascii Zeichen ,welchen Font benutzt man ?

Um eine deutliche Anzeige zu bekommen muesste man schon 2 LED als 
Segment breite nehmen.


Das ganze kann man auch noch kaskadieren und dann hat man 64 oder 96 x 
16 Bits.

Ich möchte daten von der seriellen auf dem Display darstellen.

Jemmand ne Idee ?
Wurde sicher schon öffter gemacht, suche halt den Anfang.

von Falk B. (falk)


Lesenswert?

@ Franz Suahnein (franz_0815)

>Kathode über 74hx595 Annode über Mosfet.

Und das bei 32x16? Wie gemultiplext? Als 64x8?
Sonst wird es arg dunkel, siehe LED-Matrix.

>Ich denke das man ein Buffer erstellen muss im dem die led Matrix
>angesteuert wird.

Sicher.

>Diese ganze sachen im Interrupt und dauernd in dem LED Modul die Daten
>des Buffer schreiben.

Genau.

>Mein Problem ist nun wie erstelle ich einen Buffer für AVR Studio
>Atmega644?

uint16_t my_buffer[32];

>Wie gestallte ich Ascii Zeichen ,welchen Font benutzt man ?

Nimm einen normalen Font, wie man ihn im Internet oft findet. Konstante 
Zeichenbreite und Höhe, klassisch 8x8 Pixel.

>Um eine deutliche Anzeige zu bekommen muesste man schon 2 LED als
>Segment breite nehmen.

??? hast du 0.1mm LEDs dort drauf?

>Ich möchte daten von der seriellen auf dem Display darstellen.

Dann tu das.

>Jemmand ne Idee ?
>Wurde sicher schon öffter gemacht, suche halt den Anfang.

Schon mal gegoogelt? Suchfunktion im Forum benutzt? Es gibt Dutzende 
Beispielprogramme, siehe LED-Matrix, Abschnitt Links.

von Franz S. (franz_0815)


Lesenswert?

Moin falk

sicher falk ,es gibt genug imnetz.
Was ist zB. Adafruit ?

Ich habe hier ja ein China LED Modul.rm 10 mm

mit 16 x 595er und 4 x 2fach Mosfet.

also erste zeile 8 bit mosfet1
zweite zeile           mosfet2
dritte zeile           mosfer3
vierte zeile           mosfet4

wenn alles bit in den ersten 4 schiebregister gesetzt habe und die 
mosfet einzeln nacheinander ansteuer habe die linken 8 led im ganzen 
modul am leuchten.
also 24 aus 8 ein für 16 zeilen.


gibt es den einen zeichen satz von 8x8 ,den könnte man dan ja verdoppeln 
und dann hätte ich meine 2 pixel breite.
die anzeige soll vom weiten gut sichtbar sein.

von Falk B. (falk)


Lesenswert?

@ Franz Suahnein (franz_0815)

>also erste zeile 8 bit mosfet1
>zweite zeile           mosfet2
>dritte zeile           mosfer3
>vierte zeile           mosfet4

Spar dir solche Lyrik und poste einen SCHALTPLAN! Siehe Netiquette.

>gibt es den einen zeichen satz von 8x8 ,den könnte man dan ja verdoppeln
>und dann hätte ich meine 2 pixel breite.

Dann tu das. Sinnnvollerweise rechnet man den Zeichensatz einmal um und 
speichert ihn dann so in der Softzware, dmit er zur Programmlaufzeit nur 
ausgegeben werden muss.

von Franz S. (franz_0815)


Lesenswert?

OK danke

von Gaestchen (Gast)


Lesenswert?

Franz Suahnein schrieb:
> Kathode über 74hx595 Annode über Mosfet.
> China Modul.P10
 Es gibt ja auch nur das. :/ Wenn dann solltest du es vernünftig 
beschreiben oder verlinken. Deine Beschreibungen versteht man nicht.

> Ich denke das man ein Buffer erstellen muss im dem die led Matrix
> angesteuert wird.
> Diese ganze sachen im Interrupt und dauernd in dem LED Modul die Daten
> des Buffer schreiben.
>
> Mein Problem ist nun wie erstelle ich einen Buffer für AVR Studio
> Atmega644 ?
 Du legst ein Array an. Wie du das organisierst hängt davon ab welche 
CPU und welche Hardware du nutzt. In diesem Fall so, das die IRQ Routine 
die Daten so vorfindet wie sie sie am besten gebrauchen kann.

> Wie gestallte ich Ascii Zeichen ,welchen Font benutzt man ?
 Ich habe mir meine Fonts selber gemacht. In einer Tabellenkalkulation, 
kann man sie einfach erstellen, ändern usw und gleich den passenden Code 
erzeugen. Da kann man dann auch bleliebige eigene Symbole reinbekommen.
 Du kannst ja auch mehrere Fonts reinpacken. einen ganz kleinen 5x7 bis 
hin zum grossen 16x16, 16x32 oder was man so braucht. Kommt darauf an 
was man darstellen möchte. Für eine Uhr evt nur die Ziffern in ganz 
gross.Ich bevorzuge Proportionalschrift, da man damit mehr Zeichen 
hinbekommt. Ist aber aufwändiger zu programmieren.
 So einfach das auch klingt, ein par Zeichen darzustellen, es gibt viele 
Überlegungen dazu. Welche Attribute will man, fett,kursiv, 
durchgestrichen, invers, topdown, Unterlängen, will man verschiedene 
Grössen, usw. Fang einfach an, z.B. feste Breite aber plane von Anfang 
an die Sachen ein, die du später möchtest.
 Etwas einfache sind z.B. die Module mit einem MAX7219, der die volle 
Steuerung der Matrix übernimmt. Gibt es als 8x8 Module beliebig 
aneinanderreihbar für ca 2Euro. Wenn das Array dann größer wird z.B. 
24x160, gibt es keine Probleme mit dem Multiplexing.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.