Das Erste!


Das war mein Ausgangspunkt : Adafruit RGB LED Lektion
Ein gutes Lehrbuch (aber teuer!). Ich habe es auf Englisch.

Blau ist pin 5, grün ist pin 6, und rot ist pin 7.

RGB LED 1 RGB LED

rgb_led_continuous
int rot_pin = 5;
int gruen_pin = 6;
int blau_pin = 7;

// common cathode

void setup()
{
   pinMode(rot_pin,OUTPUT);
   pinMode(gruen_pin,OUTPUT);
   pinMode(blau_pin,OUTPUT); 
}

void loop()
{
   //setColor(255,0,0);
   //delay(1000);
   for (int n=0; n<8; n++) {
     for (int x=0; x<8; x++) {
       for (int y=0; y<16; y++) {
         setColor(16*n,255-16*x,0);
         delay(1); 
       }
     }
   }
   setColor(0,0,10);
   delay(5000);   
}

void setColor(int rot, int gruen, int blau)
{
   analogWrite(rot_pin,rot);
   analogWrite(gruen_pin,gruen);
   analogWrite(blau_pin,blau);
}


Was es tut

rgb_led_ask
int rot_pin = 7; int gruen_pin = 6; int blau_pin = 5;

// common cathode

   int rot; int gruen; int blau; 
   int field_index = 0;
   int colors[3];

void setup()
{
   pinMode(rot_pin,OUTPUT);
   pinMode(gruen_pin,OUTPUT);
   pinMode(blau_pin,OUTPUT); 
   Serial.begin(19200);
   Serial.println("(Wie viel Rot?), (Wie viel Grün?), (Wie viel Blau?)");
}

void loop()
{
    if (Serial.available()) {
      char num = Serial.read();
      if (isDigit(num)) { // is ascii between 0 and 9?
        if(field_index < 3) {
          colors[field_index] = (colors[field_index] * 10) + (num - '0');
        }
      }
      else if (num == ',') {
          field_index++; 
      }
      else {
          rot = colors[0];  gruen = colors[1];  blau = colors[2];
          Serial.print("Rot = ");  Serial.print(rot);
          Serial.print("    Gruen = ");   Serial.print(gruen);
          Serial.print("    Blau = ");   Serial.println(blau);
          setColor(rot,gruen,blau);
          field_index = 0;
          colors[0] = 0;  colors[1] = 0;  colors[2] = 0;
      }
    }
}

void setColor(int rot, int gruen, int blau)
{
   analogWrite(rot_pin,rot);
   analogWrite(gruen_pin,gruen);
   analogWrite(blau_pin,blau);
}


rgb_led_ask

rgb_led_ask

rgb_led_ask

rgb_led_ask