Forum: Mikrocontroller und Digitale Elektronik LED Modul 8x8


von kingkong30 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich und mein freund arbeiten an einem Projekt für die Techniker Schule
Unser Projekt ist " Schallpegelmessung mit Akustischen und Optischen
ausgang. D.h. Pegel wird über Mikrofon OPV aufgenommen und verstärkt
und über AD Wandler Digitalisiert wird an den AT89C51CC01 weiter
geleitet, der bearbeitet es und gibt es an den LED Modul 8x8 es sind
insgesamt 6 LED Module aus.Es wird mit der Max7219 angsteuert. Wir
haben mittlerweile alle hardware teile bereitgestellt. Kann man
eigentlich es mit C++ programmieren oder geht es nur mit Asembler? Auf
unterstützungen und Ideen würden wir uns freuen.

von kingkong30 (Gast)


Angehängte Dateien:

Lesenswert?

hier noch die anderen bauteile

von kingkong30 (Gast)


Angehängte Dateien:

Lesenswert?

Verstärker

von Manos (Gast)


Lesenswert?

Was genau soll an den 6 LED Modulen 8x8 ausgegeben werden? DOT-Matrix
Zahlen oder als "Aussteuerungsanzeige"?

von Sebastian Heyn (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

wenn ihr die Schaltung bitte als JPG anhängen könntet, es arbeiten
nicht alle mit ääh eagle

warum den teueren maxim ic? mit nem mega8 oder kleiner kannst du dann
schon fleißig multiplexen.
Habe etwas ähnliches mit ner 15x8 matrix. allerding läuft bei mir text
durch... wenn ihr nur ne grafik "reinschicken" wollt dann verbraucht
ihr viel weniger flash. der character generator verbraucht bei mir ca
3,5k , das scrolling und multiplexing verbraucht ca 2k...

die Ics auf dem video sind hc595, damit nicht soviele strippen auf mein
experimentierboard gehen...

von peter dannegger (Gast)


Lesenswert?

Deine Schaltpläne kann keiner öffnen, der nicht Deine Software hat.
Übliche Dateiformate sind gif, jpg, png, pdf.


Ich programmiere meine 8051 auch nur in C. Der Keil ist aber nicht ganz
billig, aber der Wickenhäuser soll auch nicht schlecht sein.


Wenn man aber aus der C++ Fraktion kommt, hat man erstmal erhebliche
Schwierigkeiten mit den Ressourcen auf einem MC zurechtzukommen.

Mit double und mit globalen Variablen unüberlegt nur so um sich zu
schmeißen, mögen die nämlich garnicht gerne.
Auch 10-fach indirekte Pointer zählen nicht gerade zu ihren Stärken.


Zuerst muß man sich ein Konzept machen, welche Variablen wirklich
gebraucht werden und in welchem Format.

Im C51-Primer findet man ne Menge Tips.


Peter

von peter dannegger (Gast)


Lesenswert?

@Sebastian,

"...es arbeiten nicht alle mit ääh eagle..."

es arbeiten nicht alle mit ääh Divx.


Peter

von Benedikt (Gast)


Angehängte Dateien:

Lesenswert?

Selbst ein 80x16 LED Display mit 16 Graustufen schafft ein ATmega8
problemlos. Insgesamt schiebt der mega8 500fps ans Display raus.

von Sebastian Heyn (Gast)


Lesenswert?

@peter :-)) das habe ich gemacht um das video einigermaßen klein
(dateigröße) zu bekommen...

müsst ihr eine bestimmte programmiersprache verwenden, oder steht euch
das frei?

von Sebastian Heyn (Gast)


Lesenswert?

@benedikt: junge wie lange hast du da dran gelötet?? Krass

von peter dannegger (Gast)


Lesenswert?

@Sebastian

"@peter :-)) das habe ich gemacht um das video einigermaßen klein
(dateigröße) zu bekommen..."

Wieviel größer wäre denn die Datei in einem üblichen Format ?

Ich hab nämlich keine Lust, einen schriftlichen Antrag auf Genehmigung,
Kauf und Installation von Divx zu stellen.


Peter

von Mario (Gast)


Lesenswert?

@Benedikt:
Welche Led-Treiber hast du genommen?
80 x 16 x 4bit x 500fps sind 2,56 Mhz Bitrate nur fürs rausschieben der
Daten. Kannst du mal den Schaltplan posten?

Danke
Mario

von Sebastian Heyn (Gast)


Lesenswert?

[OFFTOPIC]
du kannst dir auch den "k-lite mega codec pack"
http://www.free-codecs.com/download_soft.php?d=1192&s=42
ziehen dort sind alle gängigen codecs drin, real und quicktime als
freie alternative zum original. Ansonsten gibt es ja player die das
schon reincompiliert haben, wenn du nicht auf windows media player
verzichten magst.
Habs mal als MPG-stream gecoded  http://www(dot)heyno(dot)de/video.mpg

von Sebastian Heyn (Gast)


Lesenswert?

@benedikt: hast du da liteon - matrix displays verwendet? wenn ja, haben
die bei dir "anständig" nebeneinander gepasst?

von Benedikt (Gast)


Angehängte Dateien:

Lesenswert?

Ja, das sind die Pollin LED Displays. Die Displays passen relativ gut,
zumindest wenn man Pins richtig gerade biegt.
Ich hatte allerdings das Problem, dass sich die Kupferdrähte auf der
Rückseite beim Abkühlen zusammengezogen haben und so die Platine leicht
gebogen wurde. Daher die Dicke Platte dahinter.
Allerdings sind die Displays anscheinend Ausschuss oder 2. Wahl oder
sowas.
Ich habe mir ein paar Displays mehr bestellt und dann erstmal
selektiert.

Gekostet hat das ganze etwa 80€ nur Material. Lötzeit rund 50h. Dazu
kommt dann nochmal die Software, aber das war im Vergleich zur Hardware
richtig entspannend.

Der mega8 schiebt die Daten mit 8MHz per SPI in die Schieberegister. So
wird eine Zeile in rund 15us geladen, was theoretisch rund 4k fps
ermöglichen würde.
Aber der uC benötigt ja auch noch etwas Zeit um neue Daten zu empfangen
und in den Grafik RAM (4x 80x16 Pixel = 640Bytes) zu schreiben.

Gesteuert werden die LEDs über Stromquellen, die als Spannung->Strom
Wandler geschaltet sind, mit einer einstellbaren Referenzspannung.

von peter dannegger (Gast)


Lesenswert?

@Sebastian,

7MB auf 800k ist ja schon heftig, wenns denn wirklich die gleiche
Qualität ist. Braucht man für diese Codecs Admin-Rechte ?

Das Ablesen ist bei einem solchen kleinen Ausschnitt sehr anstrengend,
solltest es also noch erweitern.

Sinnvoll is es, wenn man ein komplettes Wort raufkriegt, also
mindestens für 6..10 Zeichen.


Peter

von Sebastian Heyn (Gast)


Lesenswert?

@peter:ja ich wollte erstmal probieren. Hab zum ersten mal
schieberegister verwendet. ich hab meinen fädelstift endlich bekommen,
und werde jetzt mal erweitern..

@benedikt: meine hab ich bei ebay gekauft. sie sind defenitiv
ausschuss. ich muss sie zurechtfeilen, damit mehrals drei nebeneinander
passen...
640bytes ist ne menge, wenn du den text laufen lassen willst müsstest
du ja andauernd nachrechnen.... ich finde das riesenteil schon ganz
schön beeindruckend.

einen maxim IC zu verwenden ist eigentlich gar keine allzuschlechte
idee, es ist halt einfach ne unökonomische lösung. Aber da ihr die
hardware ja habt könnt ihr sie auch nutzen...

Was habt ihr vor? wollt ihr den pegel zeitbezogen anzeigen, oder eher
eine art FFT-spectrum-analyse machen?

von Sebastian Heyn (Gast)


Lesenswert?

@peter: achja ich glaube du musst admin sein...

von Benedikt (Gast)


Lesenswert?

@Sebastian
Das Maxim IC ist zwar nett, aber z.B. für mein Display bräuchte ich 20
Stück davon.
Eigentlich hat jeder uC genügend Leistung um sowas anzusteuern, selbst
ein Z80 oder auch 6502 kann das.

Meiner Meinung nach ist es sinnvoller Grafikdaten ans Display zu senden
und die Textdaten vorher in Grafik umzurechnen und im Speicher ablegen.
Das Display wird normalerweise mit rund 100fps angesteuert. Die
Laufschrift wechselt aber maximal 10 mal pro Sekunde. Würde man die
Daten jedesmal neu berechnen, wäre 10x soviel Rechenleistung
notwendig.

Außerdem bin ich so flexibler und kann auch Grafik anzeigen.

von Sebastian Heyn (Gast)


Lesenswert?

Ja war ja weniger als kritik gemeint... und maxim ICs verwende ich
selber nur den 232... einen controller der die ansteuerung übernimmt
ist kostentechnisch schon viel vernünftiger. und man ist in der
ansteuerung viel flexibler...

von kingkong30 (Gast)


Lesenswert?

Autor: Sebastian Heyn
Datum: 07.03.2006 11:13

------------------------------------------------------------------------ 
--------

@peter:ja ich wollte erstmal probieren. Hab zum ersten mal
schieberegister verwendet. ich hab meinen fädelstift endlich bekommen,
und werde jetzt mal erweitern..

@benedikt: meine hab ich bei ebay gekauft. sie sind defenitiv
ausschuss. ich muss sie zurechtfeilen, damit mehrals drei
nebeneinander
passen...
640bytes ist ne menge, wenn du den text laufen lassen willst müsstest
du ja andauernd nachrechnen.... ich finde das riesenteil schon ganz
schön beeindruckend.

einen maxim IC zu verwenden ist eigentlich gar keine allzuschlechte
idee, es ist halt einfach ne unökonomische lösung. Aber da ihr die
hardware ja habt könnt ihr sie auch nutzen...

Was habt ihr vor? wollt ihr den pegel zeitbezogen anzeigen, oder eher
eine art FFT-spectrum-analyse machen?
---------------------------------------------------------------------

es soll alle 15 - 20 sekunden eine neue bewertung gemacht werden und an
der LED Matrix angezeigt werden wie hoch der derzeitige Schallpegel im
Raum ist. Natürlich mit einem Smilie der jenach grenz bereichen von
lächen zur sauer wechselt. Unser problem ist zur zeit wie wir untel
Keil es programiren. Es sollen ja Zahlen,buchstaben und Zeichen
angezeigt werden. Wir haben ein programm in Asembler und Visual basic
gefunden. Aber wir müssen es in C schreiben mit Keil uns fehlt der
anfang für den Programm.Wo kann ich einen Bsp finden. Das MAterial ist
kein Problem, da es von der Techniker Schule zur verfüngung gestellt
wird. DANKE

von Sebastian Heyn (Gast)


Lesenswert?

Hallo.

Mit keil kenn ich mich nicht aus, aber vielleicht kann ich euch einen
denkanstoß geben, wie ich meinen Buchtaben und Zahlen erzeuge.Mein A
beispielsweise sieht so aus
Data 6 , &H7E , &H7F , &H09 , &H09 , &H7F , &H7E
das heisst meine characters sind folgendermaßen aufgebaut:
1. ziffer länge des characters (6 spalten), danach folgen die Daten und
zwar 1)byte -> erste spalte bit0 ist oben etc
angenommen ich habe "TEST" dann erzeuge ich ein array mit folgendem
inhalt

&H01 , &H01 , &H7F , &H7F , &H01 , &H01,0
&H7F , &H7F , &H49 , &H49 , &H49 , &H41,0
&H26 , &H6F , &H49 , &H49 , &H7B , &H32,0
&H01 , &H01 , &H7F , &H7F , &H01 , &H01,0
......

Wie ihr die Ausgabe für den Maxim IC formatieren müsst ist ja dann nur
noch kleinkram. (ich muss dann die spaltenweise anordnung der character
in zeilen wandeln)
Die characters habe ich mit fastavr.exe erzeugt. Das geht ruck zuck
wenn ihr einen Anfang wollt initialisiert den Max, und versucht erstmal
einzelne leds zum leuchten zu bringen, dann erzeugt ihr auf dem papier
oder pc kleine buchstaben etc, dann müsst ihr euch nur noch einfallen
lassen wie man das standartisieren kann.

von kingkong30 (Gast)


Lesenswert?

Vorerst Danke für dein unterstützung :)),
wir werden es heute jedoch spätestens morgen testen. fastavr.exe ?
kannst mehr info hier in diesem finden für das?

DANKE

von Sebastian Heyn (Gast)


Lesenswert?

quatsch. ich meinte fastlcd.exe sorry das ist ein programm das kannst du
auf der seite von fastavr runterladen. google einfach mal danach.

BTW ich bau read an nem 35x24 display. wird dann wohl auch 1/8
multiplext sein. ein Mega8 sollte dafür aussreichen

von kingkong30 (Gast)


Angehängte Dateien:

Lesenswert?

hei, hier unser Header datei für den MAX7219. Mit den können wir die
Zeichen die im Header definiert sind mit der ausgabe an den LED Module
anzeigen lassen. Unser jetziger Problem ist" Wir haben 6 LED Module
seriell angeschlossen '8x8 LED', wenn wir ein zeichen ausgeben wird
es an allem angezeigt. Wir möchten von rechts gesehen in den 2 Modulen
nur "dB" angezeigt haben, an den 3 Modulen daneben sollen zahlen
werte angezeigt werden die von Schallpegelmessgerät über den AD-Wandler
ans Mikrocontroller geschickt werden d.h. die 3 Module zeigen immer
andere werte kein festen wert.In den letzten Modul ganz links soll je
nach Pegel messung eine Smilie Lachen,Normal oder Sauer angezeigt
werden. Es wurde auch in unsere Header datei definiert.Unser Problem
ist die Module seriell einzeln anzusteuern. Über ideen und Programm
Bsp. würden wir uns freuen.
DANKE

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.