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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Основи автоматики

Основи автоматики

Основи автоматикиДавайте поговоримо про автоматику в контексті домашнього застосування. Але тільки м..

Монтажний модуль драйвера A4988 або DRV8825

Монтажний модуль драйвера A4988 або DRV8825

Модуль для встановлення одного з самих розповсюджених драйверів A4988 або DRV8825&nbs..

97.23грн.

Шилд для Arduino Nano и GSM SIM800

Шилд для Arduino Nano и GSM SIM800

Шилд для проектів з використанням плати контролера Arduino Nano та GSM модуля SIM800. Вирішує пробле..

279.68грн.

Шестерня для зубчатого ременю на 30 зубців під вісь 8 мм

Шестерня для зубчатого ременю на 30 зубців під вісь 8 мм

Використовується для передачі та редукції обертаючого моменту від двигуна до вісі 8 ммКількість зубц..

80.11грн.

Переривання таймера ESP32: hw_timer_t, налаштування обробника та обмеження ISR

Переривання таймера ESP32: hw_timer_t, налаштування обробника та обмеження ISR

Переривання таймера ESP32: hw_timer_t, налаштування обробника та обмеження ISR ESP32 має ап..