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); // кнопка відпущена
}
}
Пояснення роботи
- Кнопка підключена до GPIO4, світлодіод — до GPIO2.
- Режим
INPUT_PULLUPдозволяє не ставити зовнішній резистор: пін утримується у стані HIGH, поки кнопка не замикає його на GND. - Функція
digitalRead()зчитує стан кнопки. - При натисканні кнопки ESP32 встановлює вихід
ledPinу HIGH, і світлодіод засвічується.
Висновки
Робота з цифровими входами та виходами ESP32 — це основа для створення проєктів. Кнопки та світлодіоди допоможуть розібратися з базовими принципами, які потім можна застосовувати у складніших схемах: керуванні моторами, реле чи датчиками.
Плата STM32F103C8T6
Мінімальна плата контролера від світового лідера по виробництву контролерів - фірми STM32.Для заливк..
211.50грн.
Муфта на кроковий двигун 5x5x25мм
Ця муфта слугує перехідником між валами 5 мм та 5 мм. Тобто містить з обох боків отвір діаметром 5 м..
60.04грн.
Торцеві тримачі лінійних напрямляючих 8мм
Тримач циліндричної напрямляючої діаметром 8 ммПідходить для усіх осей 3D-принтера або CNCДіаметр от..
72.01грн.
Симістор BTA12-600B
Високовольтний симістор.Максимальний струм навантаження за повної синусоїди 12 АМаксимальний струм к..
15.42грн.





