mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED Modul 8x8


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

Bewertung
0 lesenswert
nicht 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.

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

Bewertung
0 lesenswert
nicht lesenswert
hier noch die anderen bauteile

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

Bewertung
0 lesenswert
nicht lesenswert
Verstärker

Autor: Manos (Gast)
Datum:

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

Autor: Sebastian Heyn (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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...

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sebastian,

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

es arbeiten nicht alle mit ääh Divx.


Peter

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

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

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@benedikt: junge wie lange hast du da dran gelötet?? Krass

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian Heyn (Gast)
Datum:

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

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

Bewertung
0 lesenswert
nicht 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.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peter: achja ich glaube du musst admin sein...

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: kingkong30 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: kingkong30 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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

Bewertung
0 lesenswert
nicht 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

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.