int ledpins[] = {10,9,8,7,6,5,4,3};
//float scale = (2000.0)/(1023.0);
float scale = (500.0)/(1023.0);
float tempo = 100;
int potmeter = A5;
int butLinks = 13;
int butRechts = 11;
int butMidden = 12;
bool left = LOW;
bool right = LOW;
bool butStateRechts = LOW;
bool butStateLinks = LOW;
bool butStateMidden = LOW;
void links(){
Serial.println("links");
//Serial.println(potValue);
//Serial.println(scale);
//Serial.println(tempo);
for (int i = 0; i<8 ; i++)
{
checkPotState();
checkButState();
digitalWrite(ledpins[i], HIGH);
delay(tempo);
//Serial.println(tempo);
}
for (int i = 7; i>=0; i--)
{
checkPotState();
checkButState();
digitalWrite(ledpins[i], LOW);
delay(tempo);
//Serial.println(tempo);
}
//Serial.println(bezig);
}
void rechts(){
Serial.println("rechts");
//Serial.println(potValue);
//Serial.println(scale);
//Serial.println(tempo);
for (int i = 7; i>=0; i--)
{
checkPotState();
checkButState();
digitalWrite(ledpins[i], HIGH);
delay(tempo);
}
for (int i = 0; i<8 ; i++)
{
checkPotState();
checkButState();
digitalWrite(ledpins[i], LOW);
delay(tempo);
}
}
void checkButState()
{
butStateRechts = digitalRead(butRechts);
//Serial.println(butStateRechts);
butStateLinks = digitalRead(butLinks);
//Serial.println(butStateLinks);
butStateMidden = digitalRead(butMidden);
//Serial.println(butStateMidden);
}
void checkPotState()
{
int potValue = analogRead(potmeter);
tempo = potValue*scale + 100;
}
void setup() {
// put your setup code here, to run once:
//range led's 3 tem 10
Serial.begin(9600);
for (int i = 0; i<8 ; i++)
{
pinMode(ledpins[i], OUTPUT);
}
pinMode(butLinks, INPUT);
pinMode(butRechts, INPUT);
pinMode(butMidden, INPUT);
pinMode(potmeter, INPUT);
Serial.println(butStateRechts);
Serial.println(butStateLinks);
Serial.println(butStateMidden);
}
void loop() {
checkButState();
//Serial.println(tempo);
//Serial.println(bezig);
//Serial.println(bezig);
if (butStateLinks == HIGH)
{
while (butStateRechts == LOW && butStateMidden == LOW)
{
links();
checkButState();
}
}
else{
if (butStateRechts == HIGH)
{
while (butStateLinks == LOW && butStateMidden == LOW)
{
rechts();
checkButState();
}
}
}
}