mikrocontroller.net

Forum: Compiler & IDEs Grafikdisplay


Autor: Benjamin (Gast)
Datum:

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

Autor: Matthias (Gast)
Datum:

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

Autor: Benjamin (Gast)
Datum:

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

Autor: Benedikt (Gast)
Datum:

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

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

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

Autor: Benedikt (Gast)
Datum:

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

Autor: Benjamin (Gast)
Datum:

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

Autor: Benedikt (Gast)
Datum:

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

Autor: Marco (Gast)
Datum:

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

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

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

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.