const int button = 2;
const int led = 5;
int buttonState = 0;
int brightness = 0;
int fadeAmount = 5;
int ms = 0;
void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(5, OUTPUT);
pinMode(A0, INPUT);
}
void loop() {
detect();
digitalWrite(led, LOW);
if (buttonState == HIGH) {
digitalWrite(led, HIGH);
delay(ms);
digitalWrite(led, LOW);
delay(ms);
digitalWrite(led, HIGH);
delay(ms);
digitalWrite(led, LOW);
delay(ms);
for (int i = 0; i <= 255; i += fadeAmount) {
analogWrite(led, i);
delay(10);
}
for (int i = 255; i >= 0; i -= fadeAmount) {
analogWrite(led, i);
delay(10);
}
//Serial.println(buttonState);
}
}
void detect() {
buttonState = digitalRead(button);
ms = analogRead(A0);
if (int(ms) >= 1000) {
fadeAmount = 1;
} else {
if (int(ms) >= 800) {
fadeAmount = 3;
} else {
if (int(ms) >= 600) {
fadeAmount = 5;
} else {
if (int(ms) >= 400) {
fadeAmount = 7;
} else {
if (int(ms) >= 200) {
fadeAmount = 9;
} else {
if (int(ms) >= 11) {
fadeAmount = 11;
} else {
if (int(ms) == 0 || int(ms) == 10) {
ms = 10;
fadeAmount = 13;
}
}
}
}
}
}
}
Serial.println(String(ms) + " " + String(fadeAmount));
}