-
Число публикаций
268 -
Регистрация
-
Последнее посещение
-
Дней в топе
1
Сообщения опубликованы Юрий Н.
-
-
Я просто поставил кран и отрегулировал, примерно до одной капли в секунду....это для моего объёма испарения...получается довольно точно, неделю можно даже не смотреть на уровень
-
Надо внушить ему что они очень полезны и питательны
-
Вобще то там никаго пэаш не должно быть, так как нет ионов....и ваш прибор показывает неизвестно что....может температуру у соседей
- 1
-
Самое простое на лестке бумаги крандошом нарисовать под линеечку , черчение у всех в школе было
Я все свои аква так и рисовал потом заказывал стёкла и клеил главное правельно обезжирить .
точно школу заканчивали? ))) господи..куда катимся...
извините, не удержался
- 1
-
Какие тесты, при чём тут они!? Неужели вы не прочитали ни одной книги по морскому аквариуму и ни одного поста на этом форуме и не знаете как и сколько времени идёт созревание аквариума и когда можно запускать живность !?
- 1
-
-
Да, где-то в середине есть ошибка
а вот так, всё работает.
Спасибо!
#include <Wire.h> #include "RTClib.h" RTC_DS1307 RTC; int Hours_Start_Relay34[2] = {11, 12}; // включение реле 3 и 4 час int Minutes_Start_Relay34[2] = {0, 0}; // включение реле 3 и 4 минута int Hours_End_Relay34[2] = {20, 21}; // выключение реле 3 и 4 час int Minutes_End_Relay34[2] = {0, 0}; // выключение реле 3 и 4 минута int MinuteDay_Start_Relay34[2]; // день в минутах для включения реле 3 и 4 int MinuteDay_End_Relay34[2]; // день в минутах для выключения реле 3 и 4 int Hours_Start_Sunrise[6] = {11, 9, 10, 11, 12, 12}; // начало рассвета по каналам час int Minutes_Start_Sunrise[6] = {0, 0, 0, 0, 0, 0}; // начало рассвета по каналам минута int Hours_End_Sunrise[6] = {14, 11, 12, 13, 14, 14}; // окончание рассвета по каналам час int Minutes_End_Sunrise[6] = {0, 0, 0, 0, 0, 0}; // окончание рассвета по каналам минута int Hours_Start_Sunset[6] = {18, 21, 20, 19, 18, 18}; // начало заката по каналам час int Minutes_Start_Sunset[6] = {0, 0, 0, 0, 0, 0}; // начало заката по каналам минута int Hours_End_Sunset[6] = {21, 22, 22, 21, 21, 21}; // окончание заката по каналам час int Minutes_End_Sunset[6] = {0, 30, 0, 0, 0, 0}; // окончание заката по каналам минута int MinuteDay_Start_Sunrise[6]; // день в минутах для начала рассвета int MinuteDay_End_Sunrise[6]; // день в минутах для окончания рассвета int MinuteDay_Start_Sunset[6]; // день в минутах для начала заката int MinuteDay_End_Sunset[6]; // день в минутах для окончания заката int Current_MinuteDay; // текущая минута суток int Current_Period[6]; // текущая часть суток 1-рассвет, 2-день, 3-закат, 4-ночь для каждого ШИМ //int Meridian_PWM[6] = {128, 192, 192, 192, 128, 128}; // максимальное значение ШИМ int Meridian_PWM[6] = {255, 255, 255, 255, 5, 255}; // максимальное значение ШИМ int Midnight_PWM[6] = {0, 0, 0, 0, 0, 0}; // минимальное значение ШИМ int Current_PWM[6] = {0, 0, 0, 0, 0, 0}; // текущее значение ШИМ /* ***************************************************** */ /* * * */ /* * ШИМ пин для CW, TV, RB, NB, DR, NG * */ /* * Пин - 3 - CW - Cool White * */ /* * Пин - 5 - TV - True Violet * */ /* * Пин - 6 - RB - Royal Blue * */ /* * Пин - 7 - NB - Blue * */ /* * Пин - 10 - DR - Deep Red * */ /* * Пин - 11 - NG - Green * */ /* * * */ /* ***************************************************** */ int PWM_Pin[6] = {3, 5, 6, 9, 10, 11}; // ШИМ пин для CW, TV, RB, NB, DR, NG int Relay1 = 7; //вент int Relay2 = 8; //луна byte Relay1Status=false; byte Relay2Status=false; int Relay34[2] = {4, 12}; //Реле 3 и 4 byte Relay34Status[2] = {false, false}; void setup() { Serial.begin(57600); Wire.begin(); RTC.begin(); if (! RTC.isrunning()) { Serial.println("RTC is NOT running!"); // following line sets the RTC to the date & time this sketch was compiled RTC.adjust(DateTime(2013, 1, 1, 12, 59, 1)); } //RTC.adjust(DateTime(2013, 1, 1, 12, 59, 1)); for (int i=0; i<=5; i++) { pinMode(PWM_Pin[i], OUTPUT); // Установка пин для ШИМ } for (int i=0; i<=5; i++) { analogWrite(PWM_Pin[i], Midnight_PWM[i]); // Установка минимального значения ШИМ Current_PWM[i]=Midnight_PWM[i]; // установка текущих значений ШИМ в минимум } for (int i=0; i<=5; i++) { MinuteDay_Start_Sunrise[i]=60*Hours_Start_Sunrise[i] + Minutes_Start_Sunrise[i]; // Расчет минуты суток для начала рассвета MinuteDay_End_Sunrise[i]=60*Hours_End_Sunrise[i] + Minutes_End_Sunrise[i]; // Расчет минуты суток для окончания рассвета MinuteDay_Start_Sunset[i]=60*Hours_Start_Sunset[i] + Minutes_Start_Sunset[i]; // Расчет минуты суток для начала заката MinuteDay_End_Sunset[i]=60*Hours_End_Sunset[i] + Minutes_End_Sunset[i]; // Расчет минуты суток для окончания заката } for (int i=0; i<=1; i++) { MinuteDay_Start_Relay34[i]=60*Hours_Start_Relay34[i] + Minutes_Start_Relay34[i]; // Расчет минуты суток для включения реле 3 и 4 MinuteDay_End_Relay34[i]=60*Hours_End_Relay34[i] + Minutes_End_Relay34[i]; // Расчет минуты суток для выключения реле 3 и 4 pinMode(Relay34[i], OUTPUT); digitalWrite(Relay34[i], LOW); } pinMode(Relay1, OUTPUT); pinMode(Relay2, OUTPUT); digitalWrite(Relay1, LOW); digitalWrite(Relay2, HIGH); } // Процедура расчета текущего периода и значения PWM по каналам void Led_Dim_PWM() { DateTime now = RTC.now(); Current_MinuteDay = (now.hour() * 60) + now.minute(); for (int i=0; i<=5; i++) { Current_Period[i]=4; if (Current_MinuteDay>=MinuteDay_Start_Sunrise[i] && Current_MinuteDay<=MinuteDay_End_Sunrise[i]) {Current_Period[i]=1;} if (Current_MinuteDay>MinuteDay_End_Sunrise[i] && Current_MinuteDay<MinuteDay_Start_Sunset[i]) {Current_Period[i]=2;} if (Current_MinuteDay>=MinuteDay_Start_Sunset[i] && Current_MinuteDay<=MinuteDay_End_Sunset[i]) {Current_Period[i]=3;} if (Current_Period[i]==1) { Current_PWM[i]=(float)(((float)Current_MinuteDay-MinuteDay_Start_Sunrise[i])/((float)MinuteDay_End_Sunrise[i]-MinuteDay_Start_Sunrise[i]))*((float)Meridian_PWM[i]-Midnight_PWM[i]); if (Current_PWM[i]<Midnight_PWM[i]) {Current_PWM[i]=Midnight_PWM[i];} analogWrite(PWM_Pin[i], Current_PWM[i]); } if (Current_Period[i]==2) { if (Current_PWM[i]!=Meridian_PWM[i]) { Current_PWM[i]=Meridian_PWM[i]; analogWrite(PWM_Pin[i], Current_PWM[i]); } } if (Current_Period[i]==3) { Current_PWM[i]=(float)(((float)MinuteDay_End_Sunset[i]-Current_MinuteDay)/((float)MinuteDay_End_Sunset[i]-MinuteDay_Start_Sunset[i]))*((float)Meridian_PWM[i]-Midnight_PWM[i]); analogWrite(PWM_Pin[i], Current_PWM[i]); } if (Current_Period[i]==4) { if (Current_PWM[i]!=Midnight_PWM[i]) { Current_PWM[i]=Midnight_PWM[i]; if (Current_PWM[i]<Midnight_PWM[i]) {Current_PWM[i]=Midnight_PWM[i];} analogWrite(PWM_Pin[i], Current_PWM[i]); } } } Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(' '); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.print(" Current_MinuteDay: "); Serial.print(Current_MinuteDay, DEC); Serial.println(); for (int i=0; i<=5; i++) { Serial.print("Channel #"); Serial.print(i, DEC); // Serial.println(); Serial.print(", Current Period: "); if (Current_Period[i]==1) {Serial.print("Sunrise");} if (Current_Period[i]==2) {Serial.print("Meridian");} if (Current_Period[i]==3) {Serial.print("Sunset");} if (Current_Period[i]==4) {Serial.print("Midnight");} Serial.print(", Current PWM: "); Serial.print(Current_PWM[i], DEC); Serial.println(); } Serial.println(); } void RalayOnOff() { int SumPWM=0; for (int i=0; i<=5; i++) { SumPWM=SumPWM+Current_PWM[i]; } if (SumPWM>=50 && Relay1Status==false) { Relay1Status=true; Relay2Status=false; digitalWrite(Relay1, HIGH); digitalWrite(Relay2, LOW); } if (SumPWM<50 && Relay1Status==true) { Relay1Status=false; Relay2Status=true; digitalWrite(Relay1, LOW); digitalWrite(Relay2, HIGH); } } void Ralay34OnOff() { for (int i=0; i<=1; i++) { if (Current_MinuteDay>=MinuteDay_Start_Relay34[i] && Current_MinuteDay<=MinuteDay_End_Relay34[i]) { if (Relay34Status[i]==false) { Relay34Status[i]=true; digitalWrite(Relay34[i], HIGH); } } if (Current_MinuteDay<MinuteDay_Start_Relay34[i] || Current_MinuteDay>MinuteDay_End_Relay34[i]) { if (Relay34Status[i]==true) { Relay34Status[i]=false; digitalWrite(Relay34[i], LOW); } } } } void loop () { if ( ( millis() % 30000 ) == 0 ) { Led_Dim_PWM(); RalayOnOff(); Ralay34OnOff(); } }
ещё надо научиться скрытый текст делать...
-
да, именно так-
Если типа включен от хх:хх до уу:уу то написать такую процедуру не сложно. -
Алексей, добрый день! Спасибо что отреагировали на мой вопрос.
А возник он у меня из-за желания задействовать ещё два реле, т.к. у меня 4-х канальная сборка реле....
-
Как бы в этот скетч встроить ещё парочку таймеров?
-
Светоинвертор Как вам такое название солнечной панели ?
По-моему на форуме ещё не обсуждались...
В общем наткнулся на обсуждение альтернативных источников энергии и захотелось мне собрать солнечную батарею в качестве источника аварийного электроснабжения...хотя бы...а дальнейшее применение придумаю.
Итак приобретено:
1. Набор для самостоятельного изготовления солнечной батареи на 70Вт., вот такой
2. Контроллер, вот такой.
70вт думаю вполне хватит для работы возвратной помпы, она у меня экономная, всего 45 вт потребляет.
Видеоинструкции по сборке своими руками на ютубе есть, приступаю!
У кого есть опыт изготовления и применения, поделитесь
-
Извините за офтоп, но вставлю
Нобелевская премия по физике присуждена за LED
http://www.bbc.co.uk/russian/science/2014/10/141007_nobel_physics_led
-
Если останавливаться на сборках да ещё на пониженных токах, может лучше остановиться хотя бы на таких
-
Совершенно не пригодные для использования сборки, проживут не более полугода. Ориентируйтесь лучше на одиночные светодиоды
-
У меня жил довольно долго, года 3-4, но в сампе. Туда был отправлен когда был замечен в разделывании веерного червя, утащил его к себе в норку и там его пощипывал...
Ну а потом в самп был отправлен мантис....и остались от краба только рожки и ножки...
-
Спрашивал об этом лет 10 назад ответа не получил.
Одно знаю- эти нити со временем проходят, были только в первое время а потом бесследно исчезли
-
Подскажите цеколёвку разъёма на этой помпе
-
Даёшь синхрофазатрон для разбивания грецких орехов!
- 1
-
Проще всего конечно поменять дроссели...или весь светильник
-
Это не я покупал
можно быстро найти на ebay, вот например
-
после некоторого периода эксплуатации ещё раз нам прорекламируте этот девайс
-
Почитал Вики понял, что ксенон - та же галлогенка. Насчет срока эксплуатации. Думаю, световой поток за два года у вас снизился наполовину.
какая то неправильная у вас Вики ... )))
а вот DNK замечательно пояснил
-
Пока из обсуждения видно, что никто из форумчан не пробовал ничего клеить таким клеем...даже мебельные конструкции... жаль
-
Хочу обратить внимание уважаемых аквариумистов на такой источник света как ксеноновая лампа. Да, те самые газразрядные лампочки что светят в фарах автомобилей.
Плюсов очень много:
-Энергоэффективные, лампочка всего 35 Вт а светит гак МГ ватт на 70-100. Да, получше многих новомодных диодных сборок.
- Компактные размеры, как самой лампочки так и электронного блока.
- Комплект обходится очень дёшево (до 1000р)
- Можно выбрать любой подходящей цветовой температуры, от 3000 до 16000К.
Срок жизни говорят мал....ну не знаю...у меня светит уже 2 года по 12 часов в день (точнее в ночь))) и жива...куда больше!? ))
Осмос напрямую в акву
в Общие вопросы по оборудованию морского аквариума и биофильтрации
Опубликовано
Нет, должно быть около 4. Скорее всего проблема в установке мембраны, где то пропускает через уплотнение