Назад к списку

Пример кода для ESP32 управления входами и выходами

//Тут указываем какие контакты будут входами, а какие выходами 

#define out1 15 //Указаны для примера выходы 

#define out2 2 //Указаны для примера выходы 

#define out3 4 //Указаны для примера выходы 

#define out4 5 //Указаны для примера выходы 

#define in1 13 //Указаны для примера входы 

#define in2 12 //Указаны для примера входы 

#define in3 14 //Указаны для примера входы 

#define in4 27 //Указаны для примера входы


void setup() { 

//Тут определяем в каком режиме будут работать контакты 

pinMode(in1, INPUT_PULLUP); //Данный вход работает в режиме подтяжки к внутреннему резистору, по умолчанию 0 это вкл, 1 выкл, инвертированная логика. 

pinMode(in2, INPUT_PULLUP); //Данный вход работает в режиме подтяжки к внутреннему резистору, по умолчанию 0 это вкл, 1 выкл, инвертированная логика. 

pinMode(in3, INPUT_PULLUP); //Данный вход работает в режиме подтяжки к внутреннему резистору, по умолчанию 0 это вкл, 1 выкл, инвертированная логика. 

pinMode(in4, INPUT_PULLUP); //Данный вход работает в режиме подтяжки к внутреннему резистору, по умолчанию 0 это вкл, 1 выкл, инвертированная логика. 

pinMode(out1, OUTPUT); //определяем выход 

pinMode(out2, OUTPUT); //определяем выход 

pinMode(out3, OUTPUT); //определяем выход 

pinMode(out4, OUTPUT); //определяем выход 

digitalWrite(out1, LOW); 

digitalWrite(out2, LOW); 

digitalWrite(out3, LOW); 

digitalWrite(out4, LOW); 

Serial.begin(115200); 

Serial.println("Hello, ESP32!"); 

void loop() { 

//Проверяем состояние первого входа 

if (digitalRead(in1)==LOW){ 

digitalWrite(out1, LOW); //Если первый вход подтянутк в земле включаем выход 

else { 

digitalWrite(out1, HIGH); //Если первый вход не поднятнут, т.е. не нажат выключаем 

} //Проверяем состояние второго входа 

if (digitalRead(in2)==LOW){ 

digitalWrite(out2, LOW); 

else { 

digitalWrite(out2, HIGH); 

} //Проверяем состояние третьего входа 

if (digitalRead(in3)==LOW){ 

digitalWrite(out3, LOW); 

else { 

digitalWrite(out3, HIGH); 

} //Проверяем состояние четвертого входа 

if (digitalRead(in4)==LOW){ 

digitalWrite(out4, LOW); 

else 

digitalWrite(out4, HIGH); 

delay(100); //чтобы не частить и не мучать реле вечными передергиваниями, можно до 1000 увеличить 

} 

Простой пример програмного кода для реализации управления выходам ESP32 через анализ нажатия кнопки, кнопки ESP32  подключены к земле через подтяжку к внутреннему резистору. При подключении нагрузки нужно контролировать исток тока. чтобы не схорел выход, использовать реле, резисторы или мосфет транзисторы.

Поиск информации по сайту мониторинга транспорта TREKBERRY
© TREKBERRY 2017-2024, Дмитрий В.М. Все права защищены.
Копирование материала без ссылки на источник запрещено. Информация размещенная на сайте не является публичной офертой. Часть текстов написано нейросетью, ChatGPT может содержать не точности.