Aufgabe habe ich mir gestellt: Je nach ADC Wert ( poti) sollen die 3 LEDs gedimmt werden. Habe alles richt gemacht ?
$regfile = "attiny13.dat" $hwstack = 10 $swstack = 10 $framesize = 8 Dim R As Byte Dim G As Byte Dim B As Byte Dim Ad As Word Config Portb.0 = Output Config Portb.1 = Output Config Portb.2 = Output R = Portb.0 'Alias fuer die RGB Ports setzen G = Portb.1 B = Portb.2 Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down Config Adc = Single , Prescaler = Auto Start Adc Enable Timer0 Do Ad = Getadc(3) Select Case Ad Case 50 To 100 R = 125 Case 100 To 150 R = 250 Case 200 To 250 R = 125 G = 125 Case 250 To 300 G = 250 Case 350 To 400 G = 125 B = 125 Case 400 To 450 B = 250 Case 450 To 500 B = 125 R = 125 End Select Loop End Hm, ich glaube, das wird nichts. Da fehlt prinzipiell erstmal die PWM. Du versuchst einfach, irgendwelche imaginären Werte an ein Portpin zu schreiben, das geht nicht, kann nur 0 oder 1 sein. Dann hat deine case-Auswahl Lücken )0..49, 151...199, >500 Ausserdem solltest du in jedem Zweig die kompletten Daten für R,G und B erzeugen. Das auf den 1. Blick :-)
OK, dass da Lücken sind, weiss ist nur als "test"..wie sollte ich es dann machen, wenn ich nicht faden will ? Bsp : ?
Falls du die LEDs nur ein oder ausschalten willst, geht das mit deinem Ansatz. Willst du dimmen, solltest du dir hier ein paar Kapitel über Software-PWM reinziehen (gibts genug darüber), da der Tiny nicht genug Hardware-PWM-Kanäle hat. Schaltbetrieb: Pseudocode: case <50: R=0; G=0; B=0; //alle aus case 50 bis 100: R=1; G=0; B=0; //Rot ein usw, je nachdem, was du willst.
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.