Far­be und Hel­lig­keit LED-Strei­fen Potentiometer

# include "Adafruit_NeoPixel.h"

// Pin des LED-Streifens
# define STREIFEN 8

// Anzahl der LEDs -> muss angepasst werden
# define AnzahlLED 15

// Poti an A0
# define PotiFarbe A1
# define PotiHelligkeit A0
/*
  Initialisierung des LED-Streifens
  Parameter:
  LED-Streifen -> Name des LED-Streifens
  AnzahlLED -> Anzahl der LEDs
  STREIFEN -> verwendeter Pin
  NEO_GRB + NEO_KHZ800 -> Typ des verwendeten LED-Streifens
*/
Adafruit_NeoPixel LEDStreifen = Adafruit_NeoPixel(AnzahlLED, STREIFEN, NEO_GRB + NEO_KHZ800);

// Farben in RGB-Schreibweise definieren
# define ROT LEDStreifen.Color(255, 0, 0)
# define ROSA LEDStreifen.Color(255, 50, 100)

# define BLAU LEDStreifen.Color(0, 0, 255)
# define HELLBLAU LEDStreifen.Color(100, 100, 255)

# define GRUEN LEDStreifen.Color(0, 255, 0)
# define HELLGRUEN LEDStreifen.Color(0, 100, 153)

# define GELB LEDStreifen.Color(255, 255, 0)
# define ORANGE LEDStreifen.Color(200, 50, 0)

# define PINK LEDStreifen.Color(255, 20, 147)
# define MAGENTA LEDStreifen.Color(139, 0, 139)


void setup() 
{
  Serial.begin(9600);

  // NeoPixel Bibliothek initialisieren
  LEDStreifen.begin();
}

void loop() 
{
  // LEDs löschen
  LEDStreifen.clear();

  /*
    PotiHelligkeit abfragen
    map -> Bereich von 0 bis 1023 
    (dem mit analogRead gelesenen Wert des Potentiometers)
    auf 0 bis 255 übertragen
    (Helligkeit des LED-Streifens)
  */
  int Helligkeit = map(analogRead(PotiHelligkeit), 0, 1023, 0, 255);

  // Helligkeit setzen
  LEDStreifen.setBrightness(Helligkeit);

  /*
   PotiFarbe abfragen
   Bereich 0 bis 1023
   Bereiche festlegen -> nach jeweils 128 Werten neue Farbe
  */
  switch (analogRead(PotiFarbe)) 
  {
    case 0 ... 128:
      LEDStreifen.fill(ROSA, 0, AnzahlLED);
      LEDStreifen.show();
      break;

    case 129 ... 256:
      LEDStreifen.fill(ROT, 0, AnzahlLED);
      LEDStreifen.show();
      break;

    case 257 ... 384:
      LEDStreifen.fill(HELLBLAU, 0, AnzahlLED);
      LEDStreifen.show();
      break;

    case 385 ... 512:
      LEDStreifen.fill(BLAU, 0, AnzahlLED);
      LEDStreifen.show();
      break;

    case 513 ... 640:
      LEDStreifen.fill(HELLGRUEN, 0, AnzahlLED);
      LEDStreifen.show();
      break;

    case 641 ... 768:
      LEDStreifen.fill(GRUEN, 0, AnzahlLED);
      LEDStreifen.show();
      break;
      
    case 769 ... 896:
      LEDStreifen.fill(GELB, 0, AnzahlLED);
      LEDStreifen.show();
      break;

    case 897 ... 1023:
      LEDStreifen.fill(ORANGE, 0, AnzahlLED);
      LEDStreifen.show();
      break;

    default:
      LEDStreifen.clear();
  }
}

Letzte Aktualisierung: 24. Jul 2023 @ 10:45