Guten Tag, Hat jemand ein Programm, dass die Spannung ausließt und über einen AVR auf einem LCD ausgibt? Gut wär, wenn das Programm in Assembler ist
Hallo Falk, das hab ich mir schon angeschaut. Das Programm gibt die Spannung dann am PC, nicht am LCD aus :(
@ Merthin (Gast) >das hab ich mir schon angeschaut. Das Programm gibt die Spannung dann am >PC, nicht am LCD aus :( Tja, aber zufällig gibt es auch ein Tutorial, welches ein LCD ansteuert. Nun muss man nur noch beide zusammenfügen . . . MFG Falk
hmmm also soll ich einfach die UART Initialisierung durch die LCD Initialisierung ersetzen?
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 :-)
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.
@ crazy horse (Gast)
>Der ist hier nämlich der selbsterkorene Wächter aller Anhänge.
Es ist ein Scheissjob, aber einer muss ihn tun. ;-)
Mfg
Falk
>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...?
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 ^^
@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
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?
@ 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
>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?
@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
mir wärs lieber, wenn du sie beantworten würdest. ein Multimeter hab ich schon da.........
irgendwie ist deine frage unverständlich gestellt... meine wenn die LED mit dem einen Pin an masse hängt, musst du ja nur den anderen messen, aber hoffe das hättest selbst kapiert... wie sieht den die beschaltung der LED aus? was spezielles?
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...
>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?
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.