Hallo, ich habe mir gerade das AVR-GCC-Tutorial durchgelesen, denn ich will über ein Poti eine LED dimmen. Daher habe ich mich mit dem A/D Wandler befasst. Im Tutorial steht auch ein Beispiel Quelldatei. In der wird ein Wert returned. Allerdings habe ich den Grundsetzlichen Aufbau noch nicht richtig verstanden. Ich lege den Poti auf den ADC. Dann stelle ich alle Register richtig ein und bekomme nach der Rechnung einen Wert. Weiterhin habe ich einen Ausgang für die LED geschaltet. Aber wie mach ich es jetzt, dass die LED mal heller, mal dunkler leuchtet, ja nachdem, wie das Poti eingestellt ist. Denn aus der AD Rechnung bekomm ich ja einen Wert. Aber ich weiß nicht, wie ich ihn weiter verwenden soll, um auf den Ausgang z.B. halbe, ganz, viertel Spannung zu kriegen... Vielen Dank Arnulf P.S.: Befasse mich erst seit kurzem mit der ganzen Thematik.
Das machst Du am Besten über einen Timer, den Du in den PWM-Modus schaltest. Siehe dazu Datenblatt Mega 8 und GCC-Tutorial. 73 Hannes
Dazu müsstest du die LED mittels PWM ansteuern. Darf ich dir eine andere Vorübung vorschlagen? Anstatt 1 Led, nimm eine Led Reihe, die du an einen Port schaltest. Also: 8 Led, jede an einem anderen Port Pin. Deine Aufgabe ist es nun: Mittels ADC die Poti-Stellung festzustellen (natürlich dadurch, dass du die Spannung misst, die über das Poti abfällt) und dann jeweils eine unterschiedliche Anzahl an Leds einzuschalten: * Wenn das Poti an einem Endanschlag ist, dann leuchtet nur 1 Led, ganz aussen * Ist das Poti am anderen Endausschlag, dann leuchten alle Led * Ist das Poti irgendwo dazwischen, dann werden entsprechend viele Led in diesem Leuchtband eingeschaltet D.h. drehst du am Poti, so wird das Leuchtband länger bzw. kürzer. Vielleicht hast du schon mal eine Aussteuerungsanzeige an einem Verstärker gesehen. Ganz genau so. Nur dass du halt am Poti drehen musst. Du musst dazu einen Weg finden, wie du den tatsächlichen Messwert in eine 'Anzahl Led' umrechnest und du musst einen Weg finden, wie du genau soviele Led einschalten kannst. Viel Spass.
Vielen Dank für die Antworten. Ich werd es erstmal versuchen Heinz Aufgabe zu lösen. Das klingt einfacher als sich jetzt auch noch direkt wieder mit PWM zu beschäftigen. Alles zu seiner Zeit. Ausserdem habe ich zu der Aufgabe auch schon eine Idee für die Realisierung. Werde mir eine kleine Schaltung aufbauen und mal sehen ob es klappt :) Bis die Tage...
> Das klingt einfacher als sich jetzt auch noch direkt wieder mit > PWM zu beschäftigen. Genau darum geht es: Immer nur eine Baustelle. Endlich mal jemand, der das versteht.
Vorstufe zu Karl Heinz Programm: Lass dir den ADC-Wert von den LEDs anzeigen (sieht etwas anders aus...).
Um die Ausgabe auf einen PORT (8 Bit) zuvereinfachen kannst du das Ergebnis schieben und die 10Bit ADC Aufloesung in 8 Bit wandeln. Der AVR bietet dafuer auch ein Flagregister ADLAR.
Danke für den Tip. Ich habe die Schaltung jetzt soweit aufgebaut und erstmal ein Programm geschrieben, dass alle Led anschaltet. Nun werde ich mich mit dem A/D-Wandler beschäftigen...
So.... Lange hat es gedauert. Aber um dieses Thema abschließen zu können, kann ich sagen, dass es jetzt funktioniert. Habe mir acht LEDs an einen Port angeschlossen, sowie ein Poti. Nach vielem hin und her und Pausen funktioniert nun alles, wie es soll. Vielen Dank für die Hilfe.
Kannst du dein Programm veröffentlichen? Ich habe da ein ähnliches Problem und könnte Vorschläge gebrauchen... Danke
Bernd M. wrote: > Kannst du dein Programm veröffentlichen? Ich habe da ein ähnliches > Problem und könnte Vorschläge gebrauchen... Deshalb musst Du doch nicht diese zwei Jahre alte Thread-Leiche ausgraben! Du bist angemeldet, also schreib dem Arnulf eine Benutzernachricht. Wenn er noch hier aktiv ist, dann wird er sich möglicherweise melden...
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.