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

Пример кода для 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, Дмитрий В.М. Все права защищены.
Копирование материала без ссылки на источник запрещено. Информация размещенная на сайте не является публичной офертой. Часть текстов написано нейросетью, может содержать не точности. На сайте может быть реклама и иметь рекламные вставки.