const int led = 9; const int button = 7; int val = 0; int brightness = 128; int state = 0; unsigned long startTime = 0; int old_val = 0; void setup() { pinMode(led,OUTPUT); pinMode(button,INPUT); } void loop() { digitalRead(button); if((val==HIGH)&&(old_val == LOW)) { state = 1 - state; startTime = millis(); delay(10); } if((val ==HIGH) && (old_val = HIGH)) { if(state ==1 && (millis() - startTime) >500) { brightness++; delay(10); if (brightness > 250) { brightness = 0; } } } old_val = val; if(state = 1) { analogWrite(led,brightness); } else { analogWrite(led,0); }}