Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define BLYNK_PRINT Serial
- #include "EEPROM.h"
- #include <ESP8266WiFi.h>
- #include <BlynkSimpleEsp8266.h>
- #include <DHT.h>
- #include <TimeLib.h>
- #include <WidgetRTC.h>
- #include <SPI.h>
- // You should get Auth Token in the Blynk App.
- // Go to the Project Settings (nut icon).
- char auth[] = "db1c8b0eb5354042b03bafea955cbe06";
- // Your WiFi credentials.
- // Set password to "" for open networks.
- char ssid[] = "DIGI-01061597";
- char pass[] = "PMzvSJDW";
- #define DHTPIN 2 // What digital pin we're connected to
- // Uncomment whatever type you're using!
- #define DHTTYPE DHT11 // DHT 11
- //#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
- //#define DHTTYPE DHT21 // DHT 21, AM2301
- DHT dht(DHTPIN, DHTTYPE);
- BlynkTimer timer;
- WidgetRTC rtc;
- long ido;
- void clockDisplay()
- {
- ido = long(hour())*3600 + minute()*60 + second();
- //Serial.print("mért idő:");
- // Serial.print(ido);
- // Serial.println();
- }
- BLYNK_CONNECTED() {
- // Synchronize time on connection
- rtc.begin();
- }
- long a;
- long b;
- // időprogram érték lekérdezés
- BLYNK_WRITE(V2) {
- a = param[0].asLong();
- b = param[1].asLong();
- // Serial.print("kezdet: ");
- // Serial.print(a);
- // Serial.println();
- /* Serial.print("ontosidő: ");
- Serial.print(ido);
- Serial.println();
- Serial.print("vég: ");
- Serial.print(b);
- Serial.println();*/
- }
- // időprogram érték lekérdezés!
- int beallit; // a szbályzott hőmérséklet beállított értéke -slide-
- //globális változók
- float tE; //ehhez nézzük, hogy változott e a hőmérséklet
- int beallitE; // változott e a beállított érték
- float h;
- float t;
- int uzemmod;
- int ejjel;
- int nappal;
- // sensor adatok lekérdezése
- void sendSensor()
- {
- h = dht.readHumidity();
- t = dht.readTemperature();
- if (isnan(h) || isnan(t)) {
- // Serial.println("Failed to read from DHT sensor!");
- return;
- }
- // You can send any value at any time.
- // Please don't send more that 10 values per second.
- Blynk.virtualWrite(V5, h);
- Blynk.virtualWrite(V6, t);
- }
- // sensor adatok lekérdezése!
- // éjszakai beállítás
- BLYNK_WRITE(3)
- {
- ejjel=param.asInt();
- // Serial.println(param.asStr());
- }
- //éjszakai beállítás!
- // nappali beállítás
- BLYNK_WRITE(4)
- {
- nappal=param.asInt();
- //Serial.println(param.asStr());
- }
- // nappali beállítás!
- // üzemmód váltás
- BLYNK_WRITE(7)
- {
- uzemmod=param.asInt();
- // Serial.println(param.asStr());
- }
- // üzemmód váltás!
- //termosztát
- void termosz(){
- //érték adás
- // idő program
- if (b > ido and ido > a )
- {
- // Serial.println(a);
- // Serial.println(ido);
- // Serial.println(b);
- beallit=nappal;
- }
- else{
- beallit = ejjel;
- }
- // Serial.print("időprogram értéke: ");
- // Serial.println(beallit);
- //időprogram
- if (uzemmod==1)
- {
- beallit=ejjel;
- }
- if (uzemmod==2)
- {
- beallit=nappal;
- }
- else
- {}
- //értékadás!
- if (t==tE and beallit==beallitE)
- {
- valt_3();
- }
- else {
- if (t<beallit-0.25){
- valt_1();
- delay(100);
- valt_3();
- }
- if (t>beallit+0.25){
- valt_2();
- delay(100);
- valt_3();
- }
- }
- }
- void valt_1(){
- digitalWrite(D8,HIGH);
- digitalWrite(D6,LOW);
- }
- void valt_2(){
- digitalWrite(D8,LOW);
- digitalWrite(D6,HIGH);
- }
- void valt_3(){
- digitalWrite(D8,LOW);
- digitalWrite(D6,LOW);
- }
- void setup()
- {
- //eepromból kiolvasás
- EEPROM.begin(512);
- //eepromba írás
- nappal = EEPROM.read(2);
- ejjel = EEPROM.read(1);
- //eepromból kiolvasás!
- pinMode(D6, OUTPUT);
- pinMode(D8, OUTPUT); //relé kimenet
- // Debug console
- Serial.begin(9600);
- Blynk.begin(auth, ssid, pass);
- // You can also specify server:
- //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
- //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
- dht.begin();
- // Setup a function to be called every second
- timer.setInterval(10000L, sendSensor);
- timer.setInterval(10000L, clockDisplay);
- }
- void loop()
- {
- tE=t;
- beallitE=beallit;
- Blynk.run();
- timer.run();
- // clockDisplay();
- termosz();
- // eepromba írás
- EEPROM.write(1,ejjel);
- EEPROM.write(2,nappal);
- EEPROM.commit();
- Serial.println(ejjel);
- Serial.println(nappal);
- // eepromba írás!
- // Serial.println(t);
- // delay(1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement