Плеко / Робототехніка
Урок 02 · Крок 1 / 10

Кнопка та світлодіод

Завдання: LED світиться, поки кнопка натиснута, і гасне після відпускання.

Компоненти

  • Arduino Uno та USB-кабель.
  • Макетна плата.
  • Червоний світлодіод і резистор 220 Ом.
  • Тактова кнопка з чотирма ніжками.
  • Три з’єднувальні дроти та одна коротка перемичка.

Використаємо коло зі світлодіодом із першого уроку. До нього додамо кнопку між піном 2 та GND.

Перед зміною підключень від’єднай USB. У Wokwi зупини симуляцію.

Повний код і файли проєкту

Кнопка натиснута — LED увімкнений; відпущена — вимкнений.

// Кнопка натиснута — світлодіод увімкнений; відпущена — вимкнений.
#include <Arduino.h> // Підключаємо команди Arduino.

const int BUTTON_PIN = 2; // Пін, до якого під’єднана кнопка.
const int LED_PIN = 13; // Пін, до якого під’єднаний світлодіод.

void setup() { // Виконується один раз після запуску плати.
  pinMode(BUTTON_PIN, INPUT_PULLUP); // Вхід із внутрішнім резистором підтягування.
  pinMode(LED_PIN, OUTPUT); // Налаштовуємо пін світлодіода як вихід.
  Serial.begin(115200); // Відкриваємо послідовний порт зі швидкістю 115200 біт/с.
}

void loop() { // Повторюємо перевірку стану кнопки.
  bool pressed = digitalRead(BUTTON_PIN) == LOW; // LOW означає, що кнопка натиснута.
  digitalWrite(LED_PIN, pressed); // true вмикає LED, false вимикає.

  static bool wasPressed = false; // Зберігаємо попередній стан між викликами loop.

  if (pressed && !wasPressed) { // Кнопка натиснута зараз, але раніше була відпущена.
    Serial.println("Натиснули!"); // Друкуємо повідомлення на початку натискання.
  }

  wasPressed = pressed; // Запам’ятовуємо стан для наступної перевірки.
  delay(10); // Пауза 10 мс між перевірками; це не повне усунення брязкоту.
}

Wokwi потребує інтернету. Завантажений HTML-урок працює офлайн.