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 — це основа для створення проєктів. Кнопки та світлодіоди допоможуть розібратися з базовими принципами, які потім можна застосовувати у складніших схемах: керуванні моторами, реле чи датчиками.
Мотор безщіточний A2212 1000KV
Мотор трьохфазний безколекторний для мультикоптерів 1000KVKV: 1000 обертів на вольтМаксимальна ..
360.40грн.
Arduino 4-20 мА підключення датчика рівня
Бувають такі часи в житті ардуінщіка, коли йому доводиться з глибин аматорських датчиків підніматися..
Джойстик двохосьовий з кнопкою
Двохосьовий джойстик з кнопкою — це зручний модуль керування для проєктів на Arduino, ESP32 та інших..
44.72грн.
Компаратор подвійний LM393DR
LM393DR в корпусі SOP-8 для поверхневого монтажу.Ці мікросхеми розробники усіляких датчиків для люби..
4.04грн.
Підсилювач PAM8610 10x2Вт з регулюванням гучності та роз'ємами
Стерео підсилювач звукової частоти класу D зі змінним резистором регулювання гучності, роз'ємами та ..
131.91грн.





