#define pinbtn 2
#define LEDpin 5
boolean flag; //+-
boolean flag1; //press/depress +
boolean flag2; //press/depress -
int sum;
int shim;
int maxs = 10; //max
int mins = 0; //min
long last; //lattime
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
if (millis() - last > 300) {
if (!digitalRead(pinbtn) & flag == 0 & sum < maxs) {
sum = sum + 1;
Serial.println(sum);
flag1 = 1;
last = millis();
}
else {
if (!digitalRead(pinbtn) & flag == 0 & sum == maxs) {
Serial.println("MAX");
delay(900);
flag = 1;
}
else {
if (!digitalRead(pinbtn) & flag == 1 & sum > mins) {
sum = sum - 1;
Serial.println(sum);
flag2 = 1;
last = millis();
}
else {
if (!digitalRead(pinbtn) & flag == 1 & sum == mins) {
Serial.println("MIN");
delay(900);
flag = 0;
}
else {
if (flag1 == 1 || flag2 == 1) {
flag1 = 0;
flag2 = 0;
flag = !flag;
}
}
}
}
}
}
shim = map(sum, 0, 10, 0, 255);
analogWrite(LEDpin, shim);
}