• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Плата-переходник(закрытие-открытие коллектора, реле)

Sheider

New member
Доброго времени суток!
Мне нужно реализовать некий переходник с таким принципом работы:
1) На 1 вход поступает сигнал 5В
2) Запускается таймер через millis()
3) Если напряжение идёт более 3х секунд нужно замкнуть другой контак(Который подключен к считывателю)

Вопрос по реализации пункта 3, как Я понимаю нужно делать через открытие-закрытие коллектора на плате(ставить реле очень громоздко выходит). Подскажите, пожалуйста, как это можно реализовать на плате esp8266 nodemcu v3 или лучше что-то другое использовать?

Искал в интернете но точно как это сделать и возможно ли вообще не нашел
 

aZholtikov

Active member
Доброго времени суток!
Мне нужно реализовать некий переходник с таким принципом работы:
1) На 1 вход поступает сигнал 5В
2) Запускается таймер через millis()
3) Если напряжение идёт более 3х секунд нужно замкнуть другой контак(Который подключен к считывателю)

Вопрос по реализации пункта 3, как Я понимаю нужно делать через открытие-закрытие коллектора на плате(ставить реле очень громоздко выходит). Подскажите, пожалуйста, как это можно реализовать на плате esp8266 nodemcu v3 или лучше что-то другое использовать?

Искал в интернете но точно как это сделать и возможно ли вообще не нашел
Примерно так. Но править по нуждам.
Код:
#include "arduino.h"
#include "Ticker.h"

#define PIN1 1
#define PIN3 4

Ticker timer;

void onPin3()
{
    if (digitalRead(PIN1))
        digitalWrite(PIN3, HIGH);
}

void IRAM_ATTR interrupt()
{
    timer.once(3000, onPin3);
}

void setup()
{
    attachInterrupt(PIN1, interrupt, RISING);
}

void loop()
{
}
 

Sheider

New member
Примерно так. Но править по нуждам.
Код:
#include "arduino.h"
#include "Ticker.h"

#define PIN1 1
#define PIN3 4

Ticker timer;

void onPin3()
{
    if (digitalRead(PIN1))
        digitalWrite(PIN3, HIGH);
}

void IRAM_ATTR interrupt()
{
    timer.once(3000, onPin3);
}

void setup()
{
    attachInterrupt(PIN1, interrupt, RISING);
}

void loop()
{
}
Спасибо! Но Я верно понимаю что на PIN3 нужно подключать mosfet, что на данной плане нет встроенно такой функции как замыкание-размыкание? У меня внешний адаптер уже имеет напряжение 5в между контактами
 

aZholtikov

Active member
Спасибо! Но Я верно понимаю что на PIN3 нужно подключать mosfet, что на данной плане нет встроенно такой функции как замыкание-размыкание? У меня внешний адаптер уже имеет напряжение 5в между контактами
Не каждый MOSFET подойдет для ESP...
Полезно: https://disk.yandex.ru/i/rC3dQ1ItVS2CrA
 
Сверху Снизу