Far­ben­spie­le RGB-LED

RGB-LED auto­ma­tisch dimmen

Ardui­no

// Farbe rot an Pin 11
int LEDrot = 11;

// Farbe grün an Pin 10
int LEDgruen = 10;

// Farbe blau an Pin 9
int LEDblau = 9;

void setup() 
{   
  pinMode(LEDrot, OUTPUT);
  pinMode(LEDgruen, OUTPUT); 
  pinMode(LEDblau, OUTPUT); 
} 

void loop() 
{ 
  analogWrite(LEDrot, 255); 
  delay(1000); 
  analogWrite(LEDrot, 0); 
  analogWrite(LEDgruen, 255);
  delay(1000); 
  analogWrite(LEDgruen, 0);  
  analogWrite(LEDblau, 255); 
  delay(1000); 
  analogWrite(LEDblau, 0); 
}

Wemos D1 Mini

int LEDrot = D1; 
int LEDgruen = D2;
int LEDblau = D3;  

void setup() 
{ 
  pinMode (LEDblau, OUTPUT);
  pinMode(LEDgruen, OUTPUT); 
  pinMode(LEDrot, OUTPUT); 
}

void loop()
{
  // rot heller
  for (int i = 0; i < 250; i += 10)  
  { 
    analogWrite(LEDrot, i);  
    delay(200);   
  }
  
  // rot dunkler
  for (int i = 250; i > 0; i -= 10)  
  { 
    analogWrite(LEDrot, i);  
    delay(200);   
  }

  // grün heller
  for (int i = 0; i < 250; i += 10)  
  { 
    analogWrite(LEDgruen, i);  
    delay(200);   
  }
  
  // grün dunkler
  for (int i = 250; i > 0; i -= 10)  
  { 
    analogWrite(LEDgruen, i);  
    delay(200);   
  }

   // blau heller
  for (int i = 0; i < 250; i += 10)  
  { 
    analogWrite(LEDblau, i);  
    delay(200);   
  }
  
  // blau dunkler
  for (int i = 250; i > 0; i -= 10)  
  { 
    analogWrite(LEDblau, i);  
    delay(200);   
  }
}

ESP32-Wroom

int LEDrot = 19; 
int LEDgruen = 18;
int LEDblau = 5;  

void setup() 
{ 
  pinMode (LEDblau, OUTPUT);
  pinMode(LEDgruen, OUTPUT); 
  pinMode(LEDrot, OUTPUT); 
}

void loop()
{
  // rot heller
  for (int i = 0; i < 250; i += 10)  
  { 
    analogWrite(LEDrot, i);  
    delay(200);   
  }
  
  // rot dunkler
  for (int i = 250; i > 0; i -= 10)  
  { 
    analogWrite(LEDrot, i);  
    delay(200);   
  }

  // grün heller
  for (int i = 0; i < 250; i += 10)  
  { 
    analogWrite(LEDgruen, i);  
    delay(200);   
  }
  
  // grün dunkler
  for (int i = 250; i > 0; i -= 10)  
  { 
    analogWrite(LEDgruen, i);  
    delay(200);   
  }

   // blau heller
  for (int i = 0; i < 250; i += 10)  
  { 
    analogWrite(LEDblau, i);  
    delay(200);   
  }
  
  // blau dunkler
  for (int i = 250; i > 0; i -= 10)  
  { 
    analogWrite(LEDblau, i);  
    delay(200);   
  }
}

Mit Tas­ter dimmen

int LEDblau = 9; 
int LEDgruen = 10; 
int LEDrot = 11; 

int TASTER_ROT = 5;   // Taste 1 
int TASTER_GRUEN = 4; // Taste 2 
int TASTER_BLAU = 7;  // Taste 3 

// die Farben 
int rot = 0; 
int gruen = 0; 
int blau = 0;

void setup() 
{ 
  pinMode (LEDblau, OUTPUT);
  pinMode(LEDgruen, OUTPUT); 
  pinMode(LEDrot, OUTPUT); 

  // INPUT_PULLUP -> Eingangspegel auf HIGH setzen 
  pinMode(TASTER_ROT, INPUT_PULLUP); 
  pinMode(TASTER_GRUEN, INPUT_PULLUP); 
  pinMode(TASTER_BLAU, INPUT_PULLUP); 
}

void loop()
{
  if (digitalRead(TASTER_ROT) == LOW)   
  {  
    rot ++;  

    // Wert darf 255 nicht übersteigen -> auf 0 setzen  
    if (rot > 255) rot = 0;   
  } 

  if (digitalRead(TASTER_GRUEN) == LOW)   
  { 
    gruen ++;

    // Wert darf 255 nicht übersteigen-> auf 0 setzen
    if (gruen > 255) gruen = 0;   
  }  

  if (digitalRead(TASTER_BLAU) == LOW)  
  { 
    blau ++;

    // Wert darf 255 nicht übersteigen -> auf 0 setzen
    if (blau > 255) blau = 0; 
  }

  analogWrite(LEDrot, rot);
  analogWrite(LEDgruen, gruen);
  analogWrite(LEDblau, blau);
  delay(20);
}


Letzte Aktualisierung: 21. Dez 2023 @ 13:42