Far­ben­spie­le LED-Streifen

# include "Adafruit_NeoPixel.h"

// Pin des LED-Streifens 
int STREIFEN = 8; 

// die Tasten des Tastenfelds
int TASTER_ROT = 5;    // Taste 1 
int TASTER_GRUEN = 4;  // Taste 2 
int TASTER_BLAU = 7;   // Taste 3 
int TASTER_GELB = 6;   // Taste 4 

// Anzahl der LEDs -> muss angepasst werden
int AnzahlLED = 15; 

// LED-Streifen -> Name des LED-Streifens 
Adafruit_NeoPixel LEDStreifen = Adafruit_NeoPixel(AnzahlLED, STREIFEN, NEO_GRB + NEO_KHZ800);

void setup()
{
  // NeoPixel Bibliothek initialisieren
  LEDStreifen.begin();

  // setBrightness(0..255)
  LEDStreifen.setBrightness(200);

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

void loop()
{
  // alle LEDs ausschalten
  LEDStreifen.clear();
  LEDStreifen.show();

  // Taste 1
  if (digitalRead(TASTER_ROT) == LOW)
  {
    int WarteZeit = 100;

    for (int ii = 0; ii < 3; ii++)
    {
      for (int i = 0; i < LEDStreifen.numPixels(); i += 3)
      {
        // jede dritte LED einschalten
        LEDStreifen.setPixelColor(i + ii, 200, 0, 0);
      }

      LEDStreifen.show();
      delay(WarteZeit);

      for (int i = 0; i < LEDStreifen.numPixels(); i += 3)
      {
        // jede dritte LED ausschalten
        LEDStreifen.setPixelColor(i + ii, 0);
      }
    }
  }

  // Taste 2
  if (digitalRead(TASTER_GRUEN) == LOW)
  {
    int WarteZeit = 100;

    for (int ii = 0; ii < 3; ii++)
    {
      for (int i = 0; i < LEDStreifen.numPixels(); i += 3)
      {
        // jede dritte LED einschalten
        LEDStreifen.setPixelColor(i + ii, 0, 255, 0);
      }

      LEDStreifen.show();
      delay(WarteZeit);

      for (int i = 0; i < LEDStreifen.numPixels(); i += 3)
      {
        // jede dritte LED ausschalten
        LEDStreifen.setPixelColor(i + ii, 0);
      }
    }
  }

  // Taste 3
  if (digitalRead(TASTER_BLAU) == LOW)
  {
    int WarteZeit = 100;

    for (int ii = 0; ii < 3; ii++)
    {
      for (int i = 0; i < LEDStreifen.numPixels(); i += 3)
      {
        // jede dritte LED einschalten
        LEDStreifen.setPixelColor(i + ii, 0, 0, 255);
      }

      LEDStreifen.show();
      delay(WarteZeit);

      for (int i = 0; i < LEDStreifen.numPixels(); i += 3)
      {
        // jede dritte LED ausschalten
        LEDStreifen.setPixelColor(i + ii, 0);
      }
    }
  }

  // Taste 4
  if (digitalRead(TASTER_GELB) == LOW)
  {
    int WarteZeit = 100;
    for (int ii = 0; ii < 3; ii++)
    {
      for (int i = 0; i < LEDStreifen.numPixels(); i += 3)
      {
        // jede dritte LED einschalten
        // zufällige Farbe
        LEDStreifen.setPixelColor(i + ii, 255, 255, 0);
      }

      LEDStreifen.show();
      delay(WarteZeit);

      for (int i = 0; i < LEDStreifen.numPixels(); i += 3)
      {
        // jede dritte LED ausschalten
        LEDStreifen.setPixelColor(i + ii, 0);
      }
    }
  }
}

Letzte Aktualisierung: 4. Okt 2023 @ 12:22