Go Down

Topic: RGB LED - Programmierfrage (Read 433 times) previous topic - next topic

Grüezi Wohl.

Vorwort, ich habe einen Faden gefunden mit einem RGB-LED problem, ist aber so scheint es leider geschlossen, deshalb muss ich leider einen neuen eröffnen.

Es geht um folgendes, ich habe so gut es geht nach Anleitungen, eine rgb-led gesteckt "foto" --> http://s1.directupload.net/file/d/3144/iym99m7k_jpg.htm

Korrekt nach anleitung mit "Led über 5v anzuschliessen geht irgendwie nicht, ich befolge genaustens die anleitung aber dann geht nichts."

Der Code:

Code: [Select]

int r_pin = 9;
int g_pin = 8;
int b_pin = 7;

int r_val = 0;
int g_val = 255;
int b_val = 255;

void setup(){
    pinMode(r_pin, OUTPUT);
    pinMode(g_pin, OUTPUT);
    pinMode(b_pin, OUTPUT);
}

void loop(){
    while (r_pin != 255){
        analogWrite(r_pin, r_val);
        analogWrite(g_pin, g_val);
       
        r_val++;
        g_val--;
       
        delay(20);
    }
   
    while (g_pin != 255){
        analogWrite(g_pin, g_val);
        analogWrite(b_pin, b_val);
       
        g_val++;
        b_val--;
       
        delay(20);
    }
   
    while (b_pin != 255){
        analogWrite(b_pin, b_val);
        analogWrite(r_pin, r_val);
       
        b_val++;
        r_val--;
       
        delay(20);
    }   
}


Soweit geht eig. alles... genau einmal, dannach reagiert die LED wie sie eig. sollte, jedoch nur noch komplett rot, irgendwo hab ich einen fehler und nach 2 stunden dacht ich mir, "fragste halt doch mal" :)

Ich habs auch schon mit Zeigern probiert, auf die "r,g,b_val",  den ich kenne ähnliche fehler aus C, zwar nicht mit farben, aber mit werten die sich nicht wirklich ändern, wen man nicht korrekt mit Zeigern arbeitet.

Ich grüsse Euch

uwefed

#1
Jan 23, 2013, 08:50 pm Last Edit: Jan 23, 2013, 10:09 pm by uwefed Reason: 1
Ich nehme mal an Du hast einen Arduino UNO.

Die Pins 7 und 8 sind keine PWM-Pins und darum funktioniert AnalogWrite() bei denen nicht.
Du mußt 3, 5, 6, 9, 10 oder 11 nehmen.
Grüße Uwe

vieledinge

Was genau soll das Ding denn tun?

Soll da wirklich in den while()-Klausel auf die pin-Variablen geprüft werden und nicht auf die val-Variablen? Die pin-Variablen verändern sich ja nie.

#3
Jan 23, 2013, 08:56 pm Last Edit: Jan 23, 2013, 09:02 pm by fichtknick Reason: 1
boeh ich idiot... vielen dank... man man man war gerade wieder der totale AHAAA JAAA effekt ;)

Ich danke Euch :)

Go Up