Hier ist er

ich habe ihn unten noch nicht ganz zuende geschriben weil sich dort alles nur wiederholt und ich nicht wollte, das ich folge-fehler mache.
#define ENCODER_OPTIMIZE_INTERRUPTS
#include <Encoder.h> //Encoder libary von http://www.pjrc.com/teensy/td_libs_Encoder.html
//Audio Ausgang
#define output 44
//LEDs für das Lauflicht bezeichnen
#define led1 4
#define led2 5
#define led3 6
#define led4 7
#define led5 8
#define led6 9
#define led7 10
#define led8 11
#define led9 12
#define led10 13
#define led11 14
#define led12 15
#define led13 16
#define led14 17
#define led15 18
#define led16 19
//Analoge Inputs der Potis bezeichnen
#define Pitch1 A0
#define Pitch2 A1
#define Pitch3 A2
#define Pitch4 A3
#define Pitch5 A4
#define Pitch6 A5
#define Pitch7 A6
#define Pitch8 A7
#define Pitch9 A8
#define Pitch10 A9
#define Pitch11 A10
#define Pitch12 A11
#define Pitch13 A12
#define Pitch14 A13
#define Pitch15 A14
#define Pitch16 A15
//Encoder definieren
Encoder Speed(2, 3);
Encoder Break(20, 21);
//Tempo Variable erstellen
int Tempo = Speed.read();
//Poti Variable definieren
int val = 0;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led13, OUTPUT);
pinMode(led14, OUTPUT);
pinMode(led15, OUTPUT);
pinMode(led16, OUTPUT);
//PWM Frequenz erhöhen
TCCR1A = _BV(WGM10) | _BV(COM1A1);
TCCR1B = _BV(CS10) | _BV(WGM12);
//Encoder schritte einstellen
Speed.write(500);
}
void loop()
{
//LED des Steps aufleuchten lassen
//Step1
digitalWrite(led1, HIGH);
//SchiebeRegler des Steps abfragen und ausgeben
val = analogRead(Pitch1);
val /= 4;
analogWrite(output, val);
//Verzögerung bis zum nächsten step
Tempo = Speed.read(); //Inkrementalgeber lesen
delay(Tempo); //länge des Tons
digitalWrite(led1, LOW);
analogWrite(output, 0); // Stille
Tempo = Break.read();
delay(Tempo); //Länge der Stille
//nächster Step, gleiches Verfahren
//Step2
digitalWrite(led2, HIGH);
val = analogRead(Pitch2);
val /= 4;
analogWrite(output, val);
Tempo = Speed.read();
delay(Tempo);
digitalWrite(led2, LOW);
analogWrite(output, 0);
Tempo = Break.read();
delay(Tempo);
}