-
-
Hallo,
also die Möglichkeit gibt es.
Mit "On Adc Onadc" wird der Interrupt deklariert, welcher sich ja am Ende meines Codes befindet.
Admux=&B01100000: mit Bit 7 und 6 wird festgelegt, dass als Referenzspannung AVcc verwendet werden soll (ca. 5V). Bit 5 besagt, dass ich eine Genauigkeit von 8 Bit haben möchte.
Die genuen Kombinationen findest du auch im Datenblatt in einer recht übersichtlichen Tabelle.
Adcsr=&B11101111: mit Bit 7=1 wird der A/D-Konverter eingeschalten, mit Bit 6 wird die Konvertierung gestartet (dieses Bit bleibt auf 1, bis die Konvertierung abgeschlossen ist). Bit 5 aktiviert den Freilaufmodus, d.h. es werden permanent Konvertierungen durchgeführt. Bit 3 schaltet den Interrupt an und die untersten 3 Bit (2,1,0) legen die Taktrate fest - in diesem Fall wird sie wie folgt berechnet: Adc-Takt = AVR-Takt/128
Das Problem ist momentan nicht 3 PWMs zu erzeugen, sondern diese abhängig von meinem externen Signal (Potentiometer) zu steuern.
Mal ganz einfach gesagt, würde ich mir das so vorstellen:
Eingangsspannung (Ue) von Poti
Ausgangssignal (PWM) an LEDs
1.
Ue = 0V
PWM1 = 0V
PWM2 = 2V
PWM3 = 4V
2.
Ue = 2V
PWM1 = 2V
PWM2 = 4V
PWM3 = 0V
3.
Ue = 4V
PWM1 = 4V
PWM2 = 0V
PWM3 = 2V
Das ganze müsste linear geregelt sein. Die Werte sind erst einmal frei gedacht. Mit 3 Potentiometern wäre das ganze ja kein Problem, aber mit nur einem...
Mir fällt leider keine Möglichkeit ein - zumal ich mich noch voll und ganz zu den Anfängern im Bereich µC zähle.
Grüße und danke
Enrico
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen