Hallo,
ich habe vor mir eine RGB-Farbsteuerung zu bauen. Diese will ich mit einem µC von AVR realisieren. Ich hatte mir das vorerst so gedacht, dass ich ein Potentiometer habe und 3 LEDs. Wenn ich jetzt am Poti drehe sollen die einzelnen LEDs mittels PWM angesteuert werden, aber alle mit einer anderen Pulsweite - so dass ich am Ende das gesamte Farbspecktrum durchlaufen kann (theoretisch!).
Ich habe das ganze bis jetzt nur mit 2 LEDs hinbekommen, leider fällt mir nichts mehr ein, wie ich da noch eine dritte reinbekommen soll. Hier ist mal mein bisheriger Code in Bascom:
Code:
$regfile = "m8def.dat"
$crystal = 3686400
$baud = 9600
On Timer0 Ontimer
On Adc Onadc
Dim Helligkeit As Byte
Ddrd = &B01100000
Ddrc = &B00000000
Tccr0 = &B00000100
Timsk.toie0 = 1
Admux = &B01100000
Adcsr = &B11101111
'--------------------------------
Helligkeit = 255 'Initial LED ganz hell
Sreg.7 = 1
'Interrupts global einschalten
Do 'Hauptschleife
Helligkeit = Adch 'Neuer Helligkeitswert
Loop
'--------------------------------
Ontimer:
Portd.5 = Not Portd.5 'LED wechselnd an/aus
Portd.6 = Not Portd.6
If Portd.5 = 1 Then 'Wenn LED gerade an
Portd.6 = 0
Timer0 = 256 - Helligkeit 'Timer zählt vorwärts!
Else
Portd.6 = 1 'Wenn LED gerade aus
Timer0 = Helligkeit 'Komplementäre Zeit
End If
Return
Onadc: 'ADC-Interrupt-Routine
Udr = Adch
Return
Für Hilfe wäre ich sehr dankbar.
Grüße
Enrico
Lesezeichen