Свет для аквариума + WIFI + расцвет/закат
- Войдите на сайт для отправки комментариев
Вс, 01/03/2020 - 19:51
Светильник для аквариума (полюдариума) .
расцвет и закат , происходит в определённое время прописанное в скетче , это можно изменить.
а так-же длительность расцвета и заката , от полной темноты до заданной яркости длиться примерно 2 часа
заданная яркость ,это установленные показатели яркости всех диодов в приложении blynk https://blynk.io/
при этом расцвет происходит плавно, начиная с теплого света пероходя в холодный и uv , соответственно закат это переход с установленных параметров в полную темноту , с понижением яркости начиная с коротких синих волн и заканчивая красным закатом.
видео https://www.instagram.com/p/B9MSUlyoUaQ/




#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);
}
библиотеки https://yadi.sk/d/GZWz7JdYa4vpYg
Алекс! Супер!
Алекс! Супер!
кто это?
Интересно бы по комплектующим более подробную информацию получить.
Неплохо так получилось
Алекс! Супер!
кто это?
Походу Гайвер)
Добрый вечер! Увидел ваш проект и хотел спросить, что умеет он? Закат рассвет + температура?
а есть схема для сборки данного контроллера?