ESP32: цифрові входи та виходи

Мікроконтролер ESP32 має десятки універсальних GPIO (General Purpose Input/Output), які можна налаштовувати як цифрові входи або цифрові виходи. Це дозволяє підключати кнопки, датчики, світлодіоди, реле та інші пристрої.

Теорія

  • Цифровий вихід — ESP32 може встановлювати на виводі логічний рівень HIGH (1) або LOW (0). При цьому можна вмикати або вимикати світлодіоди, реле тощо.
  • Цифровий вхід — ESP32 може зчитувати стан виводу: якщо на пін подається напруга 3,3 В — це логічна «1» (HIGH), якщо 0 В — логічний «0» (LOW).
  • Режими pinMode:
    • INPUT — вхід.
    • OUTPUT — вихід.
    • INPUT_PULLUP — вхід з внутрішнім підтягуванням до «1» (зручно для кнопок).
    • INPUT_PULLDOWN — вхід з внутрішнім підтягуванням до «0».

Приклад програми

Програма, яка вмикає світлодіод при натисканні кнопки:


const int buttonPin = 4;   // GPIO для кнопки
const int ledPin = 2;      // GPIO для світлодіода (вбудований LED на ESP32)

void setup() {
  pinMode(buttonPin, INPUT_PULLUP); // кнопка з внутрішнім підтягуванням
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(buttonPin); // читаємо стан кнопки

  if (buttonState == LOW) {
    digitalWrite(ledPin, HIGH); // кнопка натиснута
  } else {
    digitalWrite(ledPin, LOW);  // кнопка відпущена
  }
}

Пояснення роботи

  1. Кнопка підключена до GPIO4, світлодіод — до GPIO2.
  2. Режим INPUT_PULLUP дозволяє не ставити зовнішній резистор: пін утримується у стані HIGH, поки кнопка не замикає його на GND.
  3. Функція digitalRead() зчитує стан кнопки.
  4. При натисканні кнопки ESP32 встановлює вихід ledPin у HIGH, і світлодіод засвічується.

Висновки

Робота з цифровими входами та виходами ESP32 — це основа для створення проєктів. Кнопки та світлодіоди допоможуть розібратися з базовими принципами, які потім можна застосовувати у складніших схемах: керуванні моторами, реле чи датчиками.

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Цифровий датчик температури DS18B20

Цифровий датчик температури DS18B20

Напруга живлення 3 ... 5,5 ВРобоча температура -55 ... +125 °CТочність ±0,5 °C забезп..

25.83грн.

Модуль 1 — Знайомство з Arduino: перше прошивання Blink і проєкт миготіння світлодіода

Модуль 1 — Знайомство з Arduino: перше прошивання Blink і проєкт миготіння світлодіода

Модуль 1 — Знайомство з Arduino (курс для початківців) Мета модуля: зрозуміти, що таке Arduino, в..

Кнопка металева герметична 16мм (латунь, IP65, 3A, без фіксації)

Кнопка металева герметична 16мм (латунь, IP65, 3A, без фіксації)

Надійна вологозахищена кнопка без фіксації діаметром 16 мм. Виготовлена з латуні з нікелевим покритт..

82.91грн.

ESP32 чи Arduino: що обрати для вашого проєкту?

ESP32 чи Arduino: що обрати для вашого проєкту?

ESP32 чи Arduino: що обрати для вашого проєкту? Коротко: якщо вам потрібні Wi-Fi/Bluetooth, веб-п..

SIM800L як припаяти гребінку

SIM800L як припаяти гребінку

Привіт друзі! Це коротка стаття під назвою SIM800L як припаяти гребінку. Модулі GSM зв'язку SIM8..