Ви не увійшли.
Сторінки 1
Доброго дня всім!Я написав код який надсилає пуш якщо двері відкриті більше ніж на 25сек.Все працює але виявився баг прошу помогти його вирішити.Коли я відкриваю двері виключаю і включає nodemcu вона запускається.Але коли двері закриті і я перезапускаю вона не запускається в чому причина?геркон підключенний до D8 піну.
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial
char auth[] = "cvqv1m6B1BQVRple1Vx-TO4ZnuCvd1hM"; //ID blynk
/* WiFi credentials */
char ssid[] = "InetHome 35"; //підключення до wifi
char pass[] = "123321123321";
/* TIMER */
SimpleTimer timer;
/* DS18B20 Temperature Sensor */
#include <OneWire.h>
#include<DallasTemperature.h>
#define ONE_WIRE_BUS 2 // DS18B20 подключаем на D4 на плате
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
int temp_0;
int temp_1;
const int girc = 15; //гірконг пін(d8)
int gircstate = 0; // статус гірконгу
int maxtemp = 22 ; //Максимальна температура;
int buzer = 14; //Підключення бузера(D5)
int val = 0;
void setup()
{
pinMode(buzer, OUTPUT); //Ініцилізація бузера
pinMode(girc, INPUT); //Ініцалізація гірконгу
Serial.begin(115200);
Blynk.begin(auth, ssid, pass); //Підключення до wifi
DS18B20.begin();
timer.setInterval(1000L, getSendData);
Serial.println(" ");
Serial.println("Testing Dual Sensor data");
Blynk.notify("Пристрій запустився"); //Пристрій запустився (push)
Blynk.email("www.romanvd.com@gmail.com", "Холодильник", "Пристрій запустився");
}
void loop()
{
gircstate = digitalRead(girc); //Зчитування статусу гірконга
if (digitalRead(15) == 0) //Якщо двері відкриті ...
{
val++;// прибавляем к переменной 1 при каждой смене цикла.
delay(5000);//Час на скільки відкриті двері
}
else
{
val = 0;
}
if (val >= 5) //Якщо двері відкриті більше ніж на вказаний час
{
digitalWrite(13, !digitalRead(13)); //инвертируем состояние пина
val = 0;
Blynk.email("www.romanvd.com@gmail.com", "Холодильник", "Двері відкриті");
Blynk.notify("Двері відкриті");
digitalWrite(buzer, HIGH);
delay(15000);
}
if (temp_1 == -127) { //Помилка датчика температури
Blynk.notify("Помилка датчика температури");
Blynk.email("www.romanvd.com@gmail.com", "Холодильник", "Помилка датчика температури");
digitalWrite(buzer, HIGH);
delay(20000);
digitalWrite(buzer, LOW);
}
timer.run(); // Initiates SimpleTimer
Blynk.run();
if (temp_1 > maxtemp) { //Якщо температура більша за вказану
digitalWrite(buzer, HIGH);
delay(2000);
Blynk.email("www.romanvd.com@gmail.com", "Холодильник", "Температура більша 22°");
Blynk.notify("Температура більша 22°");
delay(15000);
}
else if (temp_1 < maxtemp) {
digitalWrite(buzer, LOW);
}
}
/***************************************************
Send Sensor data to Blynk
**************************************************/
void yield() //Start blynk
{
Blynk.run();
timer.run();
}
void getSendData()
{
DS18B20.requestTemperatures();
temp_1 = DS18B20.getTempCByIndex(1); // Sensor 0 показания для датчика 2 в цельсиях
Serial.print(" oC . Temp_1: ");
Serial.print(temp_1);
Serial.println(" oC");
Serial.print(gircstate);
Blynk.virtualWrite(11, temp_1); //Вивід даних в програмі температура
Blynk.virtualWrite(2, gircstate); //Статус Гірконгу
delay(5000);
}
Остання редакція Romanvd (2020-03-31 12:09:43)
Неактивний
Якщо й тут будеш ігнорувати http://arduino.ru/forum/obshchii/arduino-ne-zapustitsya-pri-zakrytykh-dveryakh#comment-526595 то маєш високу "...верогиднисть что кто-то ответит"
?
тебе же там сказали
Якщо Ви бажаєте отримати нормальну відповідь, Вам слід:
1. Опублікувати схему (ту, що конкретно у Вас, а не схожу з Інтернету).
2. Опублікувати скетч (той, що у Вас, а не схожий з Інтернету).
3. Написати, чого Ви хочете домогтися.
4. Повідомити, що замість цього виходить.
5. Детально вказати, чим 3 відрізняється від 4.
иначе так и будут футболить что там, что здесь...
Нормальным языком можешь объяснить что значит
Romanvd пише:вона запускається.
?
Не включается питание, не соединяется с роутером, с Blynk-ом?
Не грузиться. Ні підключається до роутера ні світдіоди не мигають
Неактивний
А теперь еще раз нормально, пошагово, хоть на украинском, хоть на суржике (здесь нацики в отличие от .ru не замечены), но чтоб было понятно, опиши как должно работать и как работает твоя железка.
Как подключен геркон?
Остання редакція ard125 (2020-03-31 12:57:23)
Неактивний
А теперь еще раз нормально, пошагово, хоть на украинском, хоть на суржике (здесь нацики в отличие от .ru не замечены), но чтоб было понятно, опиши как должно работать и как работает твоя железка.
Как подключен геркон?
Ще раз коли двері закриті(герконг замкнений) то arduino не запускається.А коли виключити arduino відкрити двері(розімкнути герконг)
то вона запускається.мені потрібно щоб вона запускалась в обох випадках.
https://drive.google.com/open?id=15zsEFaBlTKrenymlS4bGVsNv0Myb1eN7
Вот схема
Неактивний
мені потрібно щоб вона запускалась в обох випадках.
D8 или GPIO15 при старте ESP должен быть подтянут к земле. Что делать - читай мой ответ выше
Остання редакція ard125 (2020-03-31 13:23:27)
Неактивний
Romanvd пише:мені потрібно щоб вона запускалась в обох випадках.
D8 или GPIO15 при старте ESP должен быть подтянут к земле. Что делать - читай мой ответ выше
В мене підтягнутий.на який пін мені поміняти
Неактивний
В мене підтягнутий.
При закрытой двери через замкнутый геркон подается + и поэтому ESP-шка не стартует. Либо подавай на геркон землю и меняй в программе логику или попробуй подключить его, например на D7. Более точно нужно знать конкретно что у тебя за плата и смотреть на ее распиновку
Неактивний
Сторінки 1