Arduino Uno + ESP8266 12E + Blynk + Реле

Я начал приключение с Arduino и программированием 2 месяца назад. Итак, я новичок в этой теме. До сих пор я реализовал несколько проектов, в том числе Blynk, связанных с Arduino. Последний был похож на описанный в теме, но я использовал ENC28j60 вместо модуля ESP8266, и тогда он работал нормально.

Проблема началась с модуля ESP.

Краткое описание проекта:

Основная идея состоит в том, чтобы управлять освещением переменного тока с поддержкой приложения Blynk. Прежде всего, я сделал соединение в соответствии с рисунком ниже: введите описание изображения здесь В качестве источника питания я использовал зарядное устройство USB для телефона, соединенное с пошаговым преобразователем напряжения, чтобы в итоге получить источник 3,3 В. Я дополнительно подключил Arduino Uno с релейным модулем так:

Arduino ====> Релейный модуль

5V ====> VCC

GND ====> GND

Пин 5 ====> IN1

Все, что вы можете увидеть на картинках ниже (извините за качество)

введите описание изображения здесь И на данный момент я сделал почти каждый шаг (с таким количеством проблем). Здесь я имею в виду: 1. Я проверил, связан ли arduino с модулем ESP через последовательный порт -> системный отчет "готов". 2. Я загружаю ниже (шаблон) эскиз Arduino IDE для своего проекта:

#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "***";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "***";
char pass[] = "***";



void setup()
{
  // Debug console--
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);

}

void loop()
{
  Blynk.run();

}

И вот наконец я запустил новый проект в Блынке. Я установил Arduino Uno в качестве аппаратной модели и WiFi в качестве типа подключения. Затем я добавил кнопку и установил для выхода значение D5.

И вот (ближе к концу проекта) я столкнулся с проблемой. После нажатия кнопки подключения (в правом верхнем углу) я получаю информацию о том, что устройство подключено (онлайн). Потом, когда я пытаюсь нажать кнопку Active Relay - ничего не происходит. Что еще Я пробовал с разными булавками на Arduino с одинаковыми результатами. И я не знаю почему (вероятно, потому что у меня все еще небольшой запас знаний), но когда я устанавливаю выходное значение кнопки на D2 - после подключения, когда я нажимаю его, тогда диод на модуле ESP выключается и включается. Я пытался найти решение на этом форуме и во многих других местах за последние 3 дня, но безрезультатно. Вот почему я решил попросить вас о помощи. Знаете ли вы, что я сделал не так или что я должен добавить в проект, чтобы соединение между Blynk и реле работало правильно?

Напишите, если вам понадобится более подробная информация с моей стороны.

2 ответа

Почему вы используете как uno, так и esp? Вы можете просто использовать esp вместо комбо, это сделает ваш проект менее энергоемким и меньшим. Если вам интересно использовать только esp, вы можете воспользоваться платами nodemcu (которые можно найти менее чем за 4 евро в Китае).

У меня есть несколько примеров эскизов для этого (с температурой и влажностью), если вы хотите взглянуть на них.

Когда вы смотрите на картинки и код, которые вы используете, вы заметили, что ESP высветил эскиз Arduino. Это хорошо, если вы хотите активировать реле напрямую с ESP (без Arduino UNO). Тогда вам просто нужно подключить реле к ESP вместо Arduino. К сожалению, не все релейные платы могут работать с логикой 3,3 В, которую обеспечивает ESP, но, возможно, вам повезет.

С другой стороны, если вы хотите использовать Arduino UNO с ESP в качестве Wi-Fi, вам придется перепрограммировать ESP оригинальной прошивкой AT. Затем вы можете подключить его к Arduino и использовать эскиз, который выглядит примерно так.

#define BLYNK_PRINT Serial

#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

char auth[] = "YourAuthToken";

char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); 
// pin 3 connected to ESP RX and pin 2 connected to ESP TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 115200

ESP8266 wifi(&EspSerial);

void setup()
{
  // Debug console
  Serial.begin(9600);

  delay(10);

  // Set ESP8266 baud rate
  EspSerial.begin(ESP8266_BAUD);
  delay(10);

  Blynk.begin(auth, wifi, ssid, pass);
}

void loop()
{
  Blynk.run();
}

И вы должны удалить связь между RST и GND на Arduino

Другие вопросы по тегам