Ето ти работещ код:
int inkbutton = 2; // бутон за увеличаване
int dekbutton = 3; // бутон за намаляване
int ledPin = 9; // изход за мосфет
int value = 0;
// variables will change:
void setup()
{
pinMode(inkbutton, INPUT);
pinMode(dekbutton, INPUT);
}
void loop()
{
// проверка бутон увеличаване
if ((digitalRead(inkbutton)) == HIGH && value < 254)
{
// увеличаване на стойността
value++;
}
// проверка бутон намаляване
if ((digitalRead(dekbutton)) == HIGH && value > 0)
{
// намаляване на стойността
value--;
}
// записване на стойността
analogWrite(ledPin, value);
delay(10);
}
За изход към MOSFET-a трябва да използваш един от PWM(pulse-width modulation) пиновете-3,5,6,9,10 и 11(Atmega328P)!!!