/* * FadeOrBlink * * */ int ledPin = 9; // выбор пина для светодиода int inputPin = 2; // выбор входного пина (для кнопки) int val = 0; // переменная для хранения состояния пина int fadeval = 0; void setup() { pinMode(ledPin, OUTPUT); // объявить светодиод выходом pinMode(inputPin, INPUT); // объявить кнопку входом } void loop(){ val = digitalRead(inputPin); // считать значение на входе if (val == HIGH) { // нажатая кнопка означает мигание digitalWrite(ledPin, LOW); // выключить светодиод delay(50); digitalWrite(ledPin, HIGH); // включить светодиод delay(50); } else { // если кнопка не нажата, пульсировать for(fadeval = 0 ; fadeval <= 255; fadeval+=5) { // разгораться (от min до max) analogWrite(ledPin, fadeval); // установить значение (диапазон 0-255) delay(10); } for(fadeval = 255; fadeval >=0; fadeval-=5) { // гаснуть (от max до min) analogWrite(ledPin, fadeval); delay(10); } } }