Porgramm gesucht

Gast #978538
Lesenswert?

setz doch mal ein Bild von irgendwas ein. Dann bekommst du von Falk noch 
ne Gratis-Belehrung über Bildformate :-)
Der ist hier nämlich der selbsterkorene Wächter aller Anhänge. Ist ihm 
sehr wichtig, also keinesfalls ignorieren :-)
Persönliche Seite #978547
Lesenswert?

Merthin wrote:
> hmmm also soll ich einfach die UART Initialisierung durch die LCD
> Initialisierung ersetzen?

Ja bestimmt!

Das Wesen des Tutorials ist es ja auch nicht dir ein fertiges Programm 
für einen x-beliebigen speziellen Anwendungsfall zur Verfügung zu 
stellen. Irgendwie ist dann doch eigenes Mitdenken gefragt. Aber 
vielleicht findet sich ja doch einer, der dir so ein Programm schreibt.
Gast #978671
Lesenswert?

>Aber
>vielleicht findet sich ja doch einer, der dir so ein Programm schreibt.

Das hab ich ja nie verlangt. Aber ich denke eben, dass ich nicht der 
einzige bin, der sowas baut, und daher wär es doch gut möglich, dass 
jemand so ein Prog. schon daheim liegen hat, oder...?
Gast #978683
Lesenswert?

Dann mach doch das Programm, hier muss ich Falk recht geben, im Tutorial 
steht es drin nur beide Dinge aneinanderfügen.
Hab sogar so ein Programm IRGENDWO für 8051 herumliegen... nur wäre der 
ADC über I2C angesteuert.
An mehr erinner ich mich nicht mehr ^^
Gast #978694
Lesenswert?

@Merthin (Gast):

Ohne Falks Tutorial in den letzten Quartalen gelesen zu haben hätte ich 
folgende Denkanstöße...

Was brauchst Du?

- LCD-Ausgabe (für ASCII-Zeichen)

- Einlesen eines ADC-Messwertes

- Skalieren des ADC-Wertes in den gewünschten Bereich

- Umwandlung des skalierten Wertes in LCD-taugliche ASCII-Zeichen

Du solltest also erstmal Dein LCD anschließen und zum Laufen bringen. 
Dabei wird Dir das Tutorial vermutlich helfen können. Zusätzlich 
solltest Du aber auch mal einen Blick in das Datenblatt des LCDs werfen, 
denn es schadet nichts, wenn Du auch verstehst, was Du da tust.

Läuft Dein LCD (mit Test-Texten), dann wäre der Abschnitt ADC im 
AVR-Datenblatt eine gute Beschäftigung. Da wirst Du sehen, dass es recht 
einfach ist, den ADC einzuschalten und auszulesen. Vermutlich wird auch 
hier das Tutorial hilfreich sein.

Nun bringt der ADC aber nur Zahlenwerte von 0 bis 1023 (bzw. 0 bis 255 
im 8-Bit-Betrieb), Du möchtest aber einen Spannungswert angezeigt 
bekommen. Da könntest Du mal die Abhängigkeiten ermitteln und den 
Dreisatz bemühen, denn die Abhängigkeit dürfte linear sein. Da Du Dir in 
ASM Deine Variablentypen selbst zimmern musst/darfst, kannst Du 
Festkomma-Arithmetik anwenden, also mit dem zehn-/hundert-fachen der 
gewünschten Einheit rechnen und bei der Ausgabe vor der letzten oder 
vorletzten Ziffer ein Dezimalkomma einschummeln. Das erspart das 
komplizierte Rechnen mit Fließkommazahlen.

Nun müssen die Zahlenwerte noch an das LCD ausgegeben werden. Die Zahl 
steht binär in mehreren Registern, das LCD kann aber nur ASCII-Zeichen 
darstellen. Die Zahl muss also in Ziffern zerhackt werden. In AVR-ASM 
ist Division recht ressourcenfressend, daher ist wiederholte Subtraktion 
die bessere Wahl. Beispiele sind in diesem Forum zur Genüge zu finden, 
vermutlich bereits im Tutorial.

Du solltest also Deine Gesamtaufgabe in viele kleine Problemchen 
zerlegen und diese erstmal separat lösen. Wenn Du das verstanden hast, 
dann gelingt Dir auch das Zusammenfügen mehrerer Einzel-Algorithmen zu 
einem größeren Programm.

@crazy horse:
Stimmt schon, aber Oberle(e/h)rer bleibt Oberle(e/h)rer...
Ich bin jedenfalls beruhigt, dass ich es nicht alleine so sehe.

KH
Gast #978755
Lesenswert?

hmm, ja danke für die ausführliche antwort Kachel-Heinz
also das LCD mit Textausgabe habe ich so schon zum laufen gebracht.

nun stellt sich mir noch eine frage: wenn ich die analoge Spannung 
messen möchte, (z.B zwischen den Beinen einer LED), wie kann ich dann 
die Beine der LED mit dem AVR verbinden? Gibts da irgendwo eine Skizze 
oder ähnliches?
#978931
Lesenswert?

@ Merthin (Gast)

>nun stellt sich mir noch eine frage: wenn ich die analoge Spannung
>messen möchte, (z.B zwischen den Beinen einer LED), wie kann ich dann
>die Beine der LED mit dem AVR verbinden? Gibts da irgendwo eine Skizze
>oder ähnliches?

Masse und Das zu messende Signal. So wie es jedes Multimeter macht.

MFg
Falk
Gast #978945
Lesenswert?

>Masse und Das zu messende Signal. So wie es jedes Multimeter macht.

Was meinst du damit?
ich hab ja wie beim multimeter dann 2leitungen (zw. deren ende spannung 
anliegt) und muss die irgendwie mit dem AVR verbinden. Soll ich die nun 
mit PC1 (ADC1) und PC2 (ADC2) oder mit welchen Pins verbinden?
Gast #978990
Lesenswert?

@Merthin:

Selbst auf die Gefahr hin, als arrogant zu gelten, wenn diese Frage Dein 
Ernst ist, dann solltest Du kleinere Brötchen backen.

Kauf Dir für 3,50 .. 5 Eu ein Billig-DVM und mache damit Deine ersten 
Messübungen an einfachen Schaltungen mit Widerständen, LEDs, 
Transistoren und einer Flachbatterie.

KH
Gast #979032
Lesenswert?

Wenn die Led an der Betriebsspannung hängt, die Kathode an den ADC, wenn 
Led an GRD, dann die Annode an den ADC, wenn beides nicht zutrifft 
A->ADC1 K->ADC2 und die Differenz berechnen, sonnst nur den 
entsprechenden Wert zur Referenz berechnen...
Gast #979052
Lesenswert?

>wie sieht den die beschaltung
>der LED aus? was spezielles?

Nein, nein. Das war nur ein Beispiel, muss nicht unbedingt eine LED 
sein.
Naja, dass ich nur eins messen muss, wenn das andere an GND hängt ist 
jetzt ok, dachte ich muss dennoch was mit Masse verbinden, weil man bei 
einem MM ja auch trotzdem eine Leitung an Masse halten muss... seis 
drum.


wenn wir beim bsp. bleiben, muss ich also einfach ein bein über ein Poti 
mit ADC0 verbinden und das war's?

mir ist auch nicht ganz klar, wann man einen spannungsteiler verwenden 
sollte. welcher bereich ist mit 'höheren' Spannungen gemeint? Sonstige 
Vorteile?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren