#define BLYNK_PRINT Serial #include <Wire.h> #include <DS3231.h> #include <SPI.h> #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 12 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); char auth[] = "*********************************"; char ssid[] = "*********"; char pass[] = "********"; long CT; long i; long s; long m; long h; DS3231 clock; RTCDateTime dt; #define ledr D5 // #define ledg D9 #define leduv D10 #define ledb D0 #define led10 D7 #define led3 D8 #define rain D3 #define par D4 int sli10 = 0; int sli3 = 0; int slir = 0; int slig = 0; int slib = 0; int sliuv =0; BLYNK_WRITE(V2) {sli10 = param.asInt();} BLYNK_WRITE(V3) {sli3 = param.asInt();} BLYNK_WRITE(V4) {slib = param.asInt();} BLYNK_WRITE(V5) {slir = param.asInt();} BLYNK_WRITE(V6) {slig = param.asInt();} BLYNK_WRITE(V7) {sliuv = param.asInt();} int b1 = 0; BLYNK_WRITE(V9) {b1 = param.asInt();} int b2 = 0; BLYNK_WRITE(V8) {b2 = param.asInt();} int b = 0; BLYNK_WRITE(V1) {b = param.asInt();} int ir; int ig; int ib; int i3; int i10; int iuv; BLYNK_CONNECTED() { Blynk.syncAll(); } void setup() { // Debug console Serial.begin(115200); Wire.begin(); clock.begin(); sensors.begin(); Blynk.begin(auth, ssid, pass); // You can also specify server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442); //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442); // clock.setDateTime(2020, 22, 01, 20, 27, 20); pinMode(ledr, OUTPUT); pinMode(ledg, OUTPUT); pinMode(ledb, OUTPUT); pinMode(led3, OUTPUT); pinMode(led10, OUTPUT); pinMode(leduv, OUTPUT); pinMode(rain, OUTPUT); pinMode(par, OUTPUT); digitalWrite(rain, HIGH); digitalWrite(par, HIGH); } void loop() { Blynk.run(); dt = clock.getDateTime(); s = (dt.second); m = (dt.minute); h = (dt.hour); CT = (h * 3600) + (m * 60) + (s); digitalWrite (rain, b1); digitalWrite (par, b2); if (b==0) { analogWrite(ledg, slig); analogWrite(ledb, slib); analogWrite(ledr, slir); analogWrite(led3, sli3); analogWrite(led10, sli10); analogWrite(leduv, sliuv); } if (b==1) { if (h < 12){ i3 = map (CT, 25200, 43200, 0 , sli3); ir = map (CT, 26000, 43200, 0 , slir); ig = map (CT, 27000, 43200, 0 , slig); i10 = map(CT, 29000, 43200, 0 , sli10); ib = map (CT, 30800, 43200, 0 , slib); iuv = map(CT, 29000, 43200, 0 , sliuv); } else { i3 = map (CT, 64800, 79500, sli3 , 0); ir = map (CT, 64800, 80000, slir , 0); ig = map (CT, 64800, 77000, slig , 0); i10 = map(CT, 64800, 72000, sli10 ,0); ib = map (CT, 64800, 70800, slib , 0); iuv = map(CT, 64800, 70500, sliuv ,0); } i10 = constrain (i10, 0 , sli10); i3 = constrain (i3 , 0 , sli3) ; ir = constrain (ir , 0 , slir) ; ig = constrain (ig , 0 , slig) ; ib = constrain (ib , 0 , slib) ; iuv = constrain (iuv, 0 , sliuv) ; analogWrite(ledg, ig); analogWrite(ledb, ib); analogWrite(ledr, ir); analogWrite(led3, i3); analogWrite(led10,i10); analogWrite(leduv,iuv); } String (ggg); sensors.requestTemperatures(); ggg = (sensors.getTempCByIndex(0)); if (s>10){ Blynk.virtualWrite(V10,ggg); } else{ // Blynk.virtualWrite(V10,i10); Blynk.virtualWrite(V10,( String(clock.dateFormat("H:i", dt)))); } Serial.println (ggg); Serial.print (CT); // delay (1000); }
|