19 апреля, 2019 - 00:54 | |
---|---|
Задумка простая. Хочу управлять от ESP8266 вытяжкой в ванной комнате.
Хочу задействовать: Реле 5v, Датчик DHT11 Возможно ли написать скетч чтоб он управлялся как от DHT11 (автоматически), так и параллельно с браузера (принудительно) с показанием влажности? Сейчас использую простой скетч для принудительного ВКЛ|ВЫКЛ вентилятора: Хочется объединить данный скетч с скетчем на DHT11 |
djtimoha
![]() 19.04.2019 |
19 апреля, 2019 - 19:44 | #1 |
---|---|
Будущее за микроконтроллерами |
Admin
![]() 3.07.2018 |
28 апреля, 2019 - 09:48 | #2 |
---|---|
Спасибо за наводящие подсказки. Написал довольно таки не плохой скетч под управлением BLINK и добавил в него ещё SSD1306 128X32 экран. Так что пока проект сыроватый, но уже работает на 80% |
djtimoha
![]() 19.04.2019 |
7 мая, 2019 - 12:11 | #3 |
---|---|
#define BLYNK_PRINT Serial#include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <DHT.h> #define RELA D7 // пин D7 #define DHTPIN D5 // пин D5 #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321 //#define DHTTYPE DHT21 // DHT 21, AM2301 DHT dht(DHTPIN, DHTTYPE); int rela = 1; int relas = 0; char auth[] = "token"; char ssid[] = "name wi-fi"; char pass[] = "pass"; void setup() { Serial.begin(115200); Blynk.begin(auth, ssid, pass); pinMode(RELA, INPUT); digitalWrite(RELA, 0); dht.begin(); } BLYNK_WRITE(V0) { rela = param.asInt(); Serial.print("R="); Serial.print(rela); Serial.println("%"); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit if(rela >= 1) { Blynk.virtualWrite(V3, 0); Blynk.virtualWrite(V6, "Температура "+t); Blynk.virtualWrite(V1, ran); if(h >= 50) { pinMode(RELA, OUTPUT); digitalWrite(RELA, rela); int relas = 1; Blynk.virtualWrite(V2, 250); } if(h <= 49) { pinMode(RELA, INPUT); digitalWrite(RELA, rela); int relas = 0; Blynk.virtualWrite(V2, relas); } delay(3000); } else { Blynk.virtualWrite(V1, h); Blynk.virtualWrite(V6, t); Blynk.virtualWrite(V3, 250); pinMode(RELA, OUTPUT); digitalWrite(RELA, 1); delay(3000); } Blynk.run(); } |
djtimoha
![]() 19.04.2019 |
14 мая, 2019 - 17:38 | #4 |
---|---|
Интересный скетч написал ESP + WEB PAGE + AJAX - TIME #include <ESP8266WebServer.h>const char* ssid = "name";const char* password = "pass";ESP8266WebServer server(80); String Website,Javascript;void javascriptContent(){ Javascript ="<script type=\"text/javascript\" src='https://code.jquery.com/jquery.js'>\n"; Javascript+="</SCRIPT>\n"; }void WebsiteContent(){ javascriptContent(); Website="<html>\n"; Website+="<body>"; Website+="<div id='txt'>00:00:00</div>"; Website+="<script type=\"text/javascript\">"; Website+="window.onload = function () {"; Website+="var timed = setInterval(function () {"; Website+="var today = new Date();"; Website+="var h = today.getHours();"; Website+="var m = today.getMinutes();"; Website+="var s = today.getSeconds();"; Website+="if (h < 10) { var ht = \"0\" + h; } else { var ht = h;}"; Website+="if (m < 10) { var mt = \"0\" + m; } else { var mt = m;}"; Website+="if (s < 10) { var st = \"0\" + s; } else { var st = s;}"; Website+="document.getElementById('txt').innerHTML = ht + \":\" + mt + \":\" + st;"; Website+="}, 1000)"; Website+="}"; Website+="</script>"; Website+="</body></html>"; Website+=Javascript; server.send(200,"text/html",Website); }void setup() { // put your setup code here, to run once: Serial.begin(115200); WiFi.begin(ssid,password); while(WiFi.status()!=WL_CONNECTED)delay(500); WiFi.mode(WIFI_STA); Serial.println(WiFi.localIP()); server.on("/",WebsiteContent); server.begin();}void loop() {server.handleClient();} |
djtimoha
![]() 19.04.2019 |
14 мая, 2019 - 17:41 | #5 |
---|---|
|
djtimoha
![]() 19.04.2019 |
Показание с датчика температуры и влажности на телефоне. dht11 + esp8266
[b]Wi-Fi реле на NodeMCU. Управление Android приложением[/b]
Планировал сделать проект аналогичный вашей идеи. Но пока времени нет.
Тут сразу возникает пару проблем составлении алгоритма:
1. Кто главный датчик или приложение.
2. датчик dht-11 не точный и инерционный. Как компенсировать инерционность. На мой взгляд данный датчик непригоден для данных целей. Показываю в видео в первой статье.