Я не могу управлять реле с помощью Wemos D1 mini - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь управлять реле, используя wemos D1 mini.

Я пытался управлять реле, используя wemos D1 mini, я подключаю контакт D1 к входу IN, GND к GND и 5V к контакту VCC вот так но не работает.Вот мой код:

 int relaypin = D1;
 void setup() {
     Serial.begin(9600);
     pinMode(relaypin, OUTPUT); // Make LED pin D7 an output pin
     pinMode(relaypin, LOW);
     pinMode(LED_BUILTIN, OUTPUT);
 }
 void loop() {
      digitalWrite(relaypin, LOW); // LED off
      digitalWrite(LED_BUILTIN, LOW);
      Serial.println("LED On");
      delay(3000); // Wait 3 seconds
      digitalWrite(relaypin, HIGH); // LED on
      digitalWrite(LED_BUILTIN, HIGH);
      Serial.println("LED Off");
      delay(1000); // Wait 1 second
 }

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Причинами могут быть:

  • Wemos D1 Mini работает на 3,3 В .Таким образом, напряжение входного сигнала на плате реле может быть недостаточным.Оптопара на плате реле требует типичного напряжения 1,2 В для запуска выходной цепи.Но в вашей цепи даже при ВЫСОКОМ выходе от Wemos напряжение на оптопаре составляет 1,7 В .Итак, ваше реле зафиксировано в том же состоянии (НАИБОЛЕЕ ВЕРОЯТНО)
  • Ток питания 5 В может быть недостаточным для работы реле

Как решитьэти ..?

  • Вам нужен преобразователь уровня напряжения для преобразования сигналов 3.3 В от Wemos в 5 В для релейной платы
  • Используйте источник питания, рассчитанный на более высокие токи

Кроме того, в вашем коде: в setup() вы определили pinMode(relaypin,LOW), который, я думаю, должен был быть digitalWrite(relaypin,LOW)

0 голосов
/ 14 февраля 2019

Проблема заключается в вашей функции setup().После объявления реле как OUTPUT (что 0x01) вы сразу объявили его как LOW (что 0x00), что равно INPUT.

Я полагаю, вы должны были написать: digitalWrite(relaypin, LOW) вместо.

(Вы можете увидеть определения в ./hardware/arduino/avr/cores/arduino/Arduino.h)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...