// задать пин, к которому подсоединен светодиод
#ifdef LED_BUILTIN              // для плат Elbear/Start можно использовать встроенный светодиод
uint8_t ledPin = LED_BUILTIN;
#elif defined(ARDUINO_ELSOMIK)  // для плат Elsomik нужно задать вывод
uint8_t ledPin = P0_0;  
#else
uint8_t ledPin = 2;
#endif

// задать пин, к которому подсоединена кнопка
#ifdef BTN_BUILTIN              // для плат Elbear Ace-Uno/Start можно использовать встроенную кнопку 
uint8_t btn_pin = BTN_BUILTIN;
#elif defined(ARDUINO_ELSOMIK)  // для плат Elsomik нужно задать вывод в формате порт-вывод
uint8_t btn_pin = P0_1;  
#else
uint8_t btn_pin = 4;            // для платы Elbear Ace-Nano нужно задать номер цифрового вывода
#endif

int buttonS = 0;  // задаем переменную для хранения состояния кнопки

// функция настройки запускается один раз при нажатии кнопки reset или подаче питания на плату
void setup() {
  pinMode(ledPin,  OUTPUT);
  pinMode(btn_pin,  INPUT);
}

// функция цикла выполняется снова и снова бесконечно
void loop() {
  buttonS = digitalRead(btn_pin);   // считываем значение с кнопки
  if (buttonS == 0)                 // если кнопка нажата, то
  {
    digitalWrite(ledPin,  HIGH); // включить светодиод
  } else                            // если кнопка отпущена, то
  {
    digitalWrite(ledPin,  LOW);  // выключить светодиод
  }
}
