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.
Was genau soll an den 6 LED Modulen 8x8 ausgegeben werden? DOT-Matrix Zahlen oder als "Aussteuerungsanzeige"?
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...
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
@Sebastian, "...es arbeiten nicht alle mit ääh eagle..." es arbeiten nicht alle mit ääh Divx. Peter
Selbst ein 80x16 LED Display mit 16 Graustufen schafft ein ATmega8 problemlos. Insgesamt schiebt der mega8 500fps ans Display raus.
@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?
@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
@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
[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
@benedikt: hast du da liteon - matrix displays verwendet? wenn ja, haben die bei dir "anständig" nebeneinander gepasst?
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.
@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
@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?
@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.
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: 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
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.