#include <Adafruit_NeoPixel.h>

int taster = 3;
int data = 2;
int anzahl = 9;
float helligkeit;
int merker = 0;
int skaliert;

Adafruit_NeoPixel strip(anzahl, data, NEO_GRB + NEO_KHZ800);

void setup() {
  Serial.begin(9600);
  pinMode(taster, INPUT);
  pinMode(data, OUTPUT);
  pinMode(A0, INPUT);
  strip.begin();
  strip.show();
}

void loop() {
  
  while(digitalRead(taster) == HIGH && merker == 0) //"Ein" Tasten
  {
    for(int i=0; i<anzahl; i++){                    //LEDs einschalten
      strip.setPixelColor(i, 0, 0, 255);
    }
    
    strip.show();
    
    while(digitalRead(taster) == LOW){              //Taster wird losgelassen
      merker = 1;
      helligkeit = analogRead(A0);                    //Poti auslesen
      skaliert = (helligkeit / 1023 * 254);           //Skalieren
      strip.setBrightness(skaliert);                  //Helligkeit regeln
      strip.show();
      Serial.print("Der Wert vom Poti lautet: ");     //Im Seriellen Monitor ausgeben
      Serial.println(helligkeit);
    }
  }
 
  
  while(digitalRead(taster) == HIGH && merker == 1) //"Aus" Tasten
  {
    for(int i=0; i<anzahl; i++){                    //LEDs ausschalten
      strip.setPixelColor(i, 0, 0, 0);
    }
    strip.show();
    while(digitalRead(taster) == LOW)               //Taster wird losgelassen
    {
      merker = 0;
    }
  }
}