Hallo Zusammen, ich bin noch im "Kennenlernen" der C-Programmierung, aber trotzdem sehr wissbegierig. Vielleicht kann mir ja von euch jemand die Frage beantworten. Ich benötige jemanden der mir sehr klar erklären kann wie ich Grafiken auf einem Grafik-LCD ausgeben kann. Schafft ihr euch immer ein Abbild der Grafik im externen Speicher? Wie berechnet ihr die Punkte oder Linien die Ihr ausgeben möchtet? Diese Sachen werden nirgendwo beschrieben. Ich würde gerne versuchen ein Echolot zu erstellen. Aber ich weiß nicht wirklich wie ich die Daten auf mein Display bekomme. Ich habe daran gedacht einen Ringspeicher zu erstellen der in gewissen Zeitabständen (sehr kurze) mit den benötigten Daten gefüllt wird, diese wollte ich dann auf mein Display ausgeben. Aber vielleicht fällt Euch da ja etwas Anderes ein. Ich würde mich freuen, wenn ich Anregungen und / oder Erklärungen von euch zu meiner Problematik bekommen könnte. Gruß Benjamin
Hi statische Grafiken legt man halt irgendwo dauerhaft als Bitmap ab. Ob jetzt in einem externen Speicher oder im internen Programmspeicher hängt von deiner Hardwareumgebung ab. Zum Zeichnen von Linien zur Laufzeit gibt es den Bresenham der das relativ effektiv macht. Du mußt genauer definieren was du machen willst dann kann man dir auch genauer helfen. Matthias
Hallo Matthias, danke für die schnelle Antwort. ich muss zugaben ich bin gerade einwenig irretiert. wie meinst du das mit den Bitmaps (habe mich mit dem thema noch nicht auseinander gesetzt). verstehe ich das gerade richtig "bit"-map sind einzelne bits die dann ein Bild zusammensetzen (eigendlich logisch... bits brauchen wir schließlich überall). Also wie schon erwähnt will ich ein echolot erstellen. das heißt ich gebe mit einem ultraschallgeber ein signal aus. diese ausgabe erfolgt über einen timer-interrupt. da dann eine syncronisation zwischen signalausgabe und timer besteht. dann warte ich ab bis der uC wieder echos mit einem ultraschallempfänger aufnimmt. während des wartens läuft ein weiterer timer der genau dokumentieren soll, wann ein echo eintraf. die echo stärke will ich analysieren und diese beiden Daten geschlossen in eine Speicherzelle schreiben. damit habe dann alle nötigen daten (hoffe ich). die echos will ich dann auf einem grafik-lcd ausgeben. das heißt wenn ich ein display habe, welches 320x240 Pixel besitzt und ich eine tiefe von 250m habe möchte ich eine 1D darstellung der Daten erstellen. Das reicht!! die Echos sollen an hand ihrer stärkenbestimung von grau bis schwarz ermittelt werden und die zeitliche kontrolle soll der tiefenermittlung dienen. ich weiß jetzt nicht wie ich diese umrechnung der daten anstellen soll damit ich diese auf einem display ausgeben kann. da ich ja aus den echodaten linien oder punkte errechnen muss. welche dann auch noch in ihre graustufen zerlegt werden müssen. wie realisiere ich denn so etwas!? Ich hoffe ich habe jetzt nicht zuviel um den heißen brei geredet. Danke noch mal Gruß
Graustufe und LCD ist ganz schlecht (bzw. teuer). Mehr als 16 Stufen werden es sowiso nicht (mit den einfachen LCD Controllern). Da du aber nur 1D benötigst, was spricht gegen eine Grafische Darstellung mit Intensität auf der Y Achse und der Tiefe auf der X Achse ?
Benedikt, ich will nichts extravagantes machen. Ich stelle euch mal ein Bild hier mit herein, damit Ihr nachvollziehen könnt wie ich mir das vorstelle. Ich weiß nur nicht ob ich mit meinen Controller (DS89C450) dies auch so realisiert bekomme. Wie gesagt das Bild soll nur mal veranschaulichen wie ich mir das vorstelle. Der obere graue Bereich im LCD zeigt die warmen Wasserschichten an, danach die dunkle Linie ist die "Sprungschicht" und dann werden so Sichelsymbole angezeigt dies sind Fische. Darunter ist dann ganz klar die Bodenstrucktur zu erkennen. Doch ich weiß nicht wie ich die zeit versetzen Echos wirklich so auf mein LCD bekommen soll. Hilfeeeeeeeeeeeeee...... !!!!! Danke!! Gruß
Vergiss es mit den üblichen Grafikdisplays, die können alle nur Schwarzweis. Ein Controller der Graustufen kann ist nicht billig, und nur selten für kleine Displays verfügbar. Graustufen kenne ich eigentlich nur von großen Controllern (S1D13704) oder speziellen Controllern wie dem S1D15712. Die Ansteuerung ist dann eine Kleinigkeit.
Danke für deine Auskunft Benedikt, dass heißt also lieber fertig kaufen, oder!? naja ist vielleichtr auch besser so, habe ich nicht die arbeit... grins totzdem würde mich mal interessieren wie du bzw. wie ihr die daten dann auf dem lcd ausgeben würdet. wie schon gesagt ich habe keine erfahrung mit grafik-lcd's. wie bekomme ich die echos (in schwarz weiß, ohne graustufen) so in mein display hinein geschoben?? wie würdet ihr das machen? Gruß
Ohne Kenntnis des Systems kann dir leider niemand weiterhelfen. Beschreib mal, wie die Echo Daten zur Verfügung stehen. Die Zeit bestimmt die Tiefe, also die Y Richtung. Wodurch erhält man die X Richtung ?
Wenn es ein kleines tragbares System sein soll wäre vielleicht (wenn die Auflösung von 128x128px reicht) ein Nokia Handyfarbdisplay z.B. vom 6100. Ansonsten... wie wär's mit einem alten Notebook im Bereich 486er? Da hast du die Wahl zwischen Graustufen- und Farbdisplay, musst dich nicht mit der Hardware rumschlagen, es ist sehr sehr preiswert und portable ist es auch :)
@Benedikt, ich setze eigentlich nur noch einen Ausgang des Micros, aber durch den Einschaltimpulse wird ein 2kW (spitze) Inpulse mit einer Frequenz von 40kHz von einem Keramikresonator ausgesendet. Ich habe mal ein Bild angehägnt wie das Prinzip funktioniert. Die wiederkehrenden Signale werden von einem Ultraschallempfänger aufgenommen, wie bei einem Microphone. Mir ist da ein Projekt von Dir aufgefallen in dem Du die Audiosignale in einem FFT zerlegt hast. Wäre das hier nicht auch möglich?? Den es werden ja zu "n" Zeiten die Echos aufgenommen und am besten wäre es dann doch wahrscheinlich eine koninuierliche Wandlung zu haben. Oder? Gruß
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.