2-канальное реле с нормальным открытым контактом не работает с NodeMCU, но светодиод на плате загорается
Я новичок в NodeMCU (ESP8266) и Arduino IDE в целом. Я следовал различным документам/блогам, чтобы настроить 2-канальное реле с чипом NodeMCU.
Ниже приведен код эскиза для этого.
#include<CayenneMQTTESP8266.h>
#define CAYENNE_DEBUG
#define CAYENNE_PRINT Serial
#define LEFT_GARAGE 4
#define RIGHT_GARAGE 5
char ssid[] = "XXXXXXXXXXXXXXXXXXXXXXXX";
char password[] = "XXXXXXXXXXXXXXXXXXXXXX";
char username[] = ""XXXXXXXXXXXXXXXXXXXXXX";";
char mqtt_password[] = ""XXXXXXXXXXXXXXXXXXXXXX";";
char client_id[] = ""XXXXXXXXXXXXXXXXXXXXXX";";
void setup() {
Cayenne.begin(username, mqtt_password, client_id, ssid, password);
pinMode(LEFT_GARAGE, OUTPUT);
digitalWrite(LEFT_GARAGE, HIGH);
pinMode(RIGHT_GARAGE, OUTPUT);
digitalWrite(RIGHT_GARAGE, HIGH);
}
void loop() {
Cayenne.loop();
}
// Левая гаражная дверь
CAYENNE_IN(0){
int currentValue = getValue.asInt();
digitalWrite(LEFT_GARAGE,!currentValue);
}
//Правая гаражная дверь
CAYENNE_IN(1){
digitalWrite(RIGHT_GARAGE,!getValue.asInt());
}
На релейной плате я пробовал подключать провода в двух разных конфигурациях.
1-я конфигурация:
vcc -> 3.3v from NodeMCU
in1 -> D1/GPIO 04 from NodeMCU
in2 -> D2/GPIO 5 from NodeMCU
GND -> GRD from NodeMCU
2-я конфигурация:
vcc -> 5v USB from NodeMCU
in1 -> D1/GPIO 04 from NodeMCU
in2 -> D2/GPIO 5 from NodeMCU
GND -> GRD from NodeMCU
В первой конфигурации соответствующие светодиоды на плате реле загораются при нажатии кнопок Cayenne, но при проверке целостности цепи на мультиметре я ничего не получаю.
Во 2-й конфигурации нет светодиода и нет непрерывности.
Я что-то упустил? Любые отзывы/комментарии будут высоко оценены.
@slonkar, 👍0
1 ответ
Ваша вторая конфигурация верна, поскольку на рисунке релейного модуля видно, что ему требуется питание 5 В.
Принцип работы реле:
- Когда порт сигнала (in1/in2) находится на низком уровне, загорается сигнальная лампа, а оптопара (она преобразует электрические сигналы с помощью света и может изолировать входные и выходные электрические сигналы) проводит ток, затем транзистор проводит ток, катушка реле электризуется, а нормально разомкнутый контакт реле замыкается.
- Когда порт сигнала (in1/in2) находится на высоком уровне, нормально замкнутый контакт реле будет замкнут. Таким образом, вы можете подключать и отключать нагрузку, контролируя уровень порта сигнала управления.
Как вы упомянули, во второй конфигурации нет свечения светодиода. Чтобы найти решение вашей проблемы, вам нужно провести один тест. Проверьте уровень напряжения D1/D2. Просто выполните соединение на макетной плате, как указано на изображении.
Если уровень напряжения правильный, то проблема может быть в вашем релейном модуле.
Также я прикрепил здесь ссылку на подключение реле для вашей непосредственности.
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как определить размер Flash?
- В ESP-12E NodeMCU, какой выход PIN A0?
- Esp8266 Vin контакт
- Преобразование byte* в int в Arduino
- Каково использование зарезервированных контактов и контактов SDD2, SDD3 NodeMCU?
- NodeMCU (Arduino IDE) «DynamicJsonBuffer» не был объявлен в этой области
- NodeMCU поддерживает внедрение ключей?