www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funktionen plotten (Grafik LCD)


Autor: HannesK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Moin ins Forum!

Meine Hoffnung bezüglich der Möglichkeit des direkten plottens von 
Funktionen auf einem Grafik-LCD (jeglicher Machart) schwinden nach 
längerer Suche hier im Forum immer weiter.

Im einfachsten Falle geht es in die Richtung f(x)=x^2... etc.

Kann mich da jemand aufbauen und vll. möglichkeiten oder Denkansätze 
aufzeigen? :-) Grundsätzlich überhaupt möglich?

Hannes

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du benötigst eine Funktion zum Zeichnen von Linien. Dann gehst du die 
Funktion in einer Schleife durch, zeichnest eine Linie vom letzten 
Funktionswert bis zum aktuellen. Natürlich musst du bei jedem durchlauf 
den alten wert speichern, damit du ihn im nächsten durchlauf verwenden 
kannst. Ggf musst du vorher noch die Funktionswerte skalieren, damit sie 
aufs LCD passen.
Bresenham ist ein stichwort nach dem du suchen kannst, falls du keine 
Linienzeichenfunktion hast.

Autor: ABu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist die Kunktion fest oder soll die vom User eingegeben werden können?

Wenn diese fest ist dann hat Hauke Radtki das schon ganz gut 
beschrieben.

Wenn die Funktion vom User kommen soll (Taschenrechner mäsig) wird's 
schwierig. Dein Programm muss dann mämlich quasi fähig sein Programmcode 
zu interpretieren. Hier hilft viell. das Konzept wie die JAVA VM 
aufgebaut ist.

Grüße
A_Bu

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, man muss nicht direkt eine VM basteln ... In der codesammlung gibt 
es glaub ich 2 Expression Parser, damit kannst du mathematische Formeln 
einlesen und ausrechnen lassen.

Autor: HannesK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal vielen Dank für die bisherigen Antworten.

Um es entwas zu spezifizieren (@ABu): Die Funktion ist nicht fest, 
sondern veränderlich.

In welcher Sprache wird sowas am einfachsten zu realisieren sein? C, 
Asm?
Jetzt die hoffentlich nicht allzu disqualifizierende Frage: Geht das 
auch mit Bascom oder hat man da gar keine Chancen?

Hannes

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde das vermutlich so machen:  LCD Routinen in ASM schreiben, und 
den rest in C. Ausdrücke zu parsen macht in assembler nicht wirklich 
spass, und diese auszurechnen ist auch nicht gerade das gelbe vom Ei.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

> Um es entwas zu spezifizieren (@ABu): Die Funktion ist nicht fest,
> sondern veränderlich.

man flex
man bison

> In welcher Sprache wird sowas am einfachsten zu realisieren sein? C,
> Asm?

Obige Generatoren erzeugen C. Aber ich habe leichte Bedenken das das 
Ergebnis noch zu einem Mega8 oder vergleichbares passt.

Aber natuerlich kannst du auch alles selber von Hand in der 
Programmiersprache deiner Wahl schreiben. Wenn du gut bist ist das 
Ergebnis sicher effizienter. :-) Es gab jedenfalls schon vor 20Jahren 
Taschenrechner die das konnten.

Ausserdem ich das sicherlich eine Aufgabe an der du wachsen kannst. :-P

Olaf

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.