Перейти к контенту
МОРСКОЙ АКВАРИУМ - форум Аква Лого

Аква Лого / мы на связи
Аква Лого в VK
Аква Лого в Телеграмм
Аква Лого в соцсетях
Пресноводные В аквариумистике используется относительно небольшое количество видов улиток. Чаще всего их наличие носит декоративный характер. Но, безусловно, улитки приносят и пользу. Прежде всего, эти труженики объедают низшие сорные водоросли, которые, создавая плёнку на стёклах и декорациях, портят внешний вид аквариума. Также улитки подъедают остатки корма, оставшиеся после обильного кормления, не давая портится воде.
Alex_M

Лед светильник 70Вт. для DMS 500PL (72л.)

Рекомендуемые сообщения

Вообще-то я это к чему спрашивал))

Имеется - Arduino UNO, LCD16x2, часы, датчики температуры...

Увидев вашу тему, подумал - вот оно, то, что надо!))) Затрат минимум, эффективность - 100%

Скетч с библиотеками запустились сразу. Все нормально работает. Подключаю LCD - по I2C, проблема((( С "delay (60000)", время на дисплее и температура обновляется через минуту((

Убираю delay - все работает нормально.

Т.к. в ардуино понимаю, надеюсь пока) мало, возник вопрос - ничего там никуда в память не забивается???)) Так что в итоге работать вообще не будет????))

Поделиться этим сообщением


Ссылка на сообщение

Да все правильно.

 

В Вашем варианте можно сделать так.

 

void loop ()
{
if ( ( millis() % 60000 ) == 0 ) //вызов раз в минуту
{
Led_Dim_PWM();
RalayOnOff();
}
if ( ( millis() % 1000 ) == 0 ) //вызов раз в секунду, читаем температуру и обновляем экран
{
Temp_read(); //читаем температуру
Screen_out(); //обновляем экран
}
}

Изменено пользователем Alex_M (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
  1/31/2013 в 11:08 AM, Alex67Z сказал:

Вообще-то я это к чему спрашивал))

Имеется - Arduino UNO, LCD16x2, часы, датчики температуры...

Увидев вашу тему, подумал - вот оно, то, что надо!))) Затрат минимум, эффективность - 100%

Скетч с библиотеками запустились сразу. Все нормально работает. Подключаю LCD - по I2C, проблема((( С "delay (60000)", время на дисплее и температура обновляется через минуту((

Убираю delay - все работает нормально.

Т.к. в ардуино понимаю, надеюсь пока) мало, возник вопрос - ничего там никуда в память не забивается???)) Так что в итоге работать вообще не будет????))

 

а какие датчики температуры используете?

 

можете пример кода скинуть работы с ними и с дисплеем?

 

UPD. да у Алекса действительно простой для освоения проект, код, написанный доступно. То с чего стоит начать. всего по минимуму, при этом достаточно. у меня уже несколько месяцев работает светильник и я к нему не подхожу )

 

UPD2. Хотел еще спросить, у меня иногда на ардуине лампочка с зеленого меняет цвет на оранжевый и так и горит если не передернуть питание. что это может быть? )

Изменено пользователем Basopotam (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
  1/31/2013 в 11:18 AM, Alex_M сказал:

Да все правильно.

 

В Вашем варианте можно сделать так.

 

void loop ()
{
if ( ( millis() % 60000 ) == 0 ) //вызов раз в минуту
{
Led_Dim_PWM();
RalayOnOff();
}
if ( ( millis() % 1000 ) == 0 ) //вызов раз в секунду, читаем температуру и обновляем экран
{
Temp_read(); //читаем температуру
Screen_out(); //обновляем экран
}
}

 

имха

 

так не очень хорошо делать.

дело в том, что проверив переменную "на один раз в минуту" и что-то там поделав (да и даже ни чего не делая), не факт что вы отследите событие "в каждую секунду" (конечно, это особенно актуально для коротких интервалов, исчисляемых милисекундами).

нет если конечно стабильность и точность сего события не важна, можно и так, но работать может через раз.

 

необходимо делать вложения от частого к редкому, но даже такой подход не обеспечит максимальной точности исполнения. если у вас более одного/двух временных маркеров, лучше отслеживать их в прерывании по таймеру (в прерывании выставляете маркеры, а уже в основном цикле их проверяете, выполняете и сбрасываете)

Изменено пользователем Kiraso (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
Basopotam
По поводу "мегаконтроллера" - согласен. Слишком много всего....
Дтчики температупы - DS18B20.
А если по порядку)) Arduino Uno, LCD Keypad Shield DFRobot (это LCD с кнопками. Сверху уны ставить удобно, а вот если хочешь использовать выходы на ардуино по полной, то он нафиг не нужен)), тем более при подключении его по I2C, у него RW на землю запаян, так что без напильника не обойтись - надо отрывать), часы 1307.
LCD подключен по I2C через микросхему PCF8574.
Сначала запускал часы, датчики температуры.... Потом пытался объединить скетчи.
В итоге заработало только так:


// Подключение необходимых библиотеки
#include <Wire.h>
#include "RTClib.h"
#include <OneWire.h>
#include <DallasTemperature.h>

// Датчик (или датчики) подключаются к пину 2 Ардуины
#define ONE_WIRE_BUS 2

// настройка «onewire» для работы с любыми другими девайсами (не только Dallas датчиками температуры)
OneWire oneWire(ONE_WIRE_BUS);

// подключаем Dallas Temperature.
DallasTemperature sensors(&oneWire);

// подключение библиотеки для LCD через PCF8574
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x38,16,2); // «0х38» адрес LCD

int k=0; // назначение для переменной при нажатии кнопок
int u=0; // назначение 2-й переменной для датчика уровня
int v=0; // назначение 3-й переменной для охлаждения воды
int Relay1=7; // вентилятор охлаждения радиатора, назначаем 7-й выход
int Relay2=8; // включение «луны», назначаем 8 выход
byte Relay1Status=false;
byte Relay2Status=false;
int Relay3 = 4; // вентилятор охлаждения воды, назначаем 4-й выход
int Relay4 = 12; // автодолив, назначаем 12-й выход

RTC_DS1307 RTC;
// назначаем время восходов и закатов, выходы PWM
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] = {15, 12, 13, 14, 15, 15}; // окончание рассвета по каналам час
int Minutes_End_Sunrise[6] = {0, 0, 0, 0, 0, 0}; // окончание рассвета по каналам минута

int Hours_Start_Sunset[6] = {17, 20, 19, 18, 17, 17}; // начало заката по каналам час
int Minutes_Start_Sunset[6] = {0, 0, 0, 0, 0, 0}; // начало заката по каналам минута
int Hours_End_Sunset[6] = {21, 23, 22, 21, 21, 21}; // окончание заката по каналам час
int Minutes_End_Sunset[6] = {0, 0, 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, 128, 128, 128, 128, 76}; // макс. значение ШИМ 50% на все каналы, 76% на Red
int Midnight_PWM[6] = {0, 0, 0, 0, 0, 0}; // минимальное значение ШИМ
int Current_PWM[6] = {0, 0, 0, 0, 0, 0}; // текущее значение ШИМ


/* *********************************************************/
/* * * */
/* * ШИМ пин для CW, TV, RB, NB, CY, DR * */
/* * Пин - 3 - CW - Cool White * */
/* * Пин - 5 - TV - True Violet * */
/* * Пин - 6 - RB - Royal Blue * */
/* * Пин - 7 - NB - Blue * */
/* * Пин - 10 - CY – Cyan * */
/* * Пин - 11 - DR - DeepRed * */
/* * * */
/* *********************************************************/

int PWM_Pin[6] = {3, 5, 6, 9, 10, 11}; // назначение PWM выходов для CW, TV, RB, NB, CY, DR


void setup ()
{

lcd.init();
lcd.backlight();
Serial.begin(57600);
Wire.begin();
RTC.begin();
sensors.begin();

pinMode(A0, INPUT); // настраиваем аналоговый вход A0
pinMode(A1, INPUT); // настраиваем аналоговый вход A1

// назначаем на 7-м и 8-м пинах уровени
pinMode(Relay1, OUTPUT);
pinMode(Relay2, OUTPUT);
digitalWrite(Relay1, LOW);
digitalWrite(Relay2, HIGH);
// назначаем на 4-м и 12-м пинах (пины реле) низкий уровень
pinMode(Relay4, OUTPUT);
digitalWrite(Relay4, LOW);
pinMode(Relay3, OUTPUT);
digitalWrite(Relay3, LOW);

if (! RTC.isrunning())
{
lcd.setCursor(0, 0);
lcd.print("RTC no time");
//строчка ниже – установка времени (для установки – убрать комм. и установить дату и время)
//RTC.adjust(DateTime(__DATE__, __TIME__));
}

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]; // Расчет минуты суток для окончания заката
}

}


// Процедура расчета текущего периода и значения 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.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 loop ()
{
{

Led_Dim_PWM();
RalayOnOff();

}

DateTime now = RTC.now();
sensors.requestTemperatures(); // запрос показаний температуры

k=analogRead(0); // значение «k» равно аналоговому входу A0
u=analogRead(1); // значение «u» равно аналоговому входу A1

if (u<10) // при срабатывании датчика уровня, на выходе 4 устанавливается высокий уровень
{
digitalWrite(Relay4, HIGH);
delay(3000);
}
else if (u>=10) // при срабатывании датчика уровня, на выходе 4 устанавливается низкий уровень
{
digitalWrite(Relay4, LOW);
}


v=sensors.getTempCByIndex(1); // переменной "v" присваивается темп. 1-го датчика (Т воды)
if (v>=28) // если температура поднимается до 28 градусов, срабатывает реле на вентилятор охлаждения
{
digitalWrite(Relay3, HIGH);
}
else if (v<26) // если температура опускается до 26 градусов, вентилятор выключается
{
digitalWrite(Relay3, LOW);
}
if (k>1000) // если кнопки не нажаты, то высвечивается время и данные по температуре
{
lcd.setCursor(0, 0);
lcd.print(now.hour(), DEC);
lcd.print(":");
lcd.print(now.minute(), DEC);
lcd.print(":");
lcd.print(now.second(), DEC);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("A="); // температура аквариума
lcd.setCursor(2, 1);
lcd.print(sensors.getTempCByIndex(0)); // первый датчик в воде
lcd.print(" ");
lcd.setCursor(8, 1);
lcd.print("R="); // температура на радиаторе
lcd.setCursor(10, 1);
lcd.print(sensors.getTempCByIndex(1)); // второй датчик на радиаторе
}
}
Понимаю, что не очень красиво))
В комментариях расписано - что и для чего)))

Алекс!
Можете помочь?
Вот куда это:

[color=#000088]if[/color] [color=#666600]([/color] [color=#666600]([/color] millis[color=#666600]()[/color] [color=#666600]%[/color] [color=#006666]1000[/color] [color=#666600])[/color] [color=#666600]==[/color] [color=#006666]0[/color] [color=#666600])[/color] [color=#880000]//вызов раз в секунду, читаем температуру и обновляем экран[/color]
[color=#666600]{[/color]
[color=#660066]Temp_read[/color][color=#666600]();[/color] [color=#880000]//читаем температуру[/color]
[color=#660066]Screen_out[/color][color=#666600]();[/color] [color=#880000]//обновляем экран[/color]
[color=#666600]}[/color]

надо пришпилить?
Или... как правильно сделать?

P.S. Знатоков прошу не шпынять)) Помогите лучше с советом))
Никогда с программированием не дружил)) С паяльником и электрикой - более менее, а вот с программированием....

Надеюсь за офтоп не примут? а то может уже пора ветку по программированию ардуино открывать))

Поделиться этим сообщением


Ссылка на сообщение

Круто! )

 

а можно к коду приложить ссылки на библиотеки?

 

Я тоже думал собрать ардуину с аналогичным дисплеем, только еще добавить логику управления яркостью - т.е. некий ручной режим:

 

логика такая:

 

Нажимаем одновременно 2 кнопки (первая и вторая) и переходим в режим ручного управления светом:

 

1. кнопка выбор канала

2. кнопка яркость + (шим +)

3. кнопка яркость минус (шим минус)

 

выход из ручного режима нажимаем одновременно 2 кнопки.

 

 

 

Автодолив через релюху подключен? и какой датчик уровня воды используется?

 

Для i2c использовалась такая шняга? http://www.ebay.com/itm/IIC-I2C-interface-Level-Conversion-Module-5-3v-System-Arduino-Sensor-new-/330810342439?pt=LH_DefaultDomain_0&hash=item4d05d53c27

Изменено пользователем Basopotam (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
  1/31/2013 в 12:29 PM, Alex67Z сказал:
Алекс!

Можете помочь?

Вот куда это:

 

if ( ( millis() % 1000 ) == 0 ) //вызов раз в секунду, читаем температуру и обновляем экран

{

Temp_read(); //читаем температуру

Screen_out(); //обновляем экран

}

 

надо пришпилить?

Или... как правильно сделать?

 

Сходу не подскажу.

Я сам пока только начинаю разбираться с arduino. Я планировал объявить глобальные переменные для хранения считанных значений температуры и создал бы отдельную процедуру для считывания с датчиков температуры. А где необходимо использовал бы значения температуры из глобальной переменой.

Поделиться этим сообщением


Ссылка на сообщение

Вот если бы она еще работал))) Было бы .... круто))))

Вот в настоящий момент дисплей ничего не показывает. На serial.print - шим начинает переходить в "закат" и уменьшать значения. Т.е основная программа работает, а вот все что вокруг...)))

Кнопки распаены через резисторы. Если только поочередно - кнопок - 5 штук.

Да, по поводу релюх забыл.... 4 релюхи управление - 5 вольт. А уровни - герконовые, черз резистор на 5 в. При замыкании - на общий (землю).

Это все на коленках, на плате монтажной)) По отдельности - все работает. А вот вместе(((

По поводу библиотек - библиотеки те, что Алекс давал + :

 

DallasTemperature.zipДанные загружаются...

 

LiquidCrystal_I2C.zipДанные загружаются...

 

Все работает в версии - 1.0

 

  1/31/2013 в 1:17 PM, Alex_M сказал:

Сходу не подскажу.

Я сам пока только начинаю разбираться с arduino. Я планировал объявить глобальные переменные для хранения считанных значений температуры и создал бы отдельную процедуру для считывания с датчиков температуры. А где необходимо использовал бы значения температуры из глобальной переменой.

 

Мдя.... для меня темный лес.... переменные((

Поделиться этим сообщением


Ссылка на сообщение

Алекс!

Спасибо за подсказку:

if ( ( millis() % 1000 ) == 0 ) //вызов раз в секунду, читаем температуру и обновляем экран

{

Temp_read(); //читаем температуру

Screen_out(); //обновляем экран

}

В итоге сделал отдельный блок для температуры и датчиков, все нормально работает!!!!

 

 

Basopotam

Для i2c использовалась такая шняга? http://www.ebay.com/...=item4d05d53c27

Нет. По i2c подключил так - http://jt5.ru/examples/oled-i2c/

Там все расписано.

Поделиться этим сообщением


Ссылка на сообщение
  2/1/2013 в 7:17 AM, Alex67Z сказал:

Алекс!

Спасибо за подсказку:

if ( ( millis() % 1000 ) == 0 ) //вызов раз в секунду, читаем температуру и обновляем экран

{

Temp_read(); //читаем температуру

Screen_out(); //обновляем экран

}

В итоге сделал отдельный блок для температуры и датчиков, все нормально работает!!!!

Отлично. Рад что смог помочь.

Поделиться этим сообщением


Ссылка на сообщение
  2/1/2013 в 7:17 AM, Alex67Z сказал:

Алекс!

Спасибо за подсказку:

if ( ( millis() % 1000 ) == 0 ) //вызов раз в секунду, читаем температуру и обновляем экран

{

Temp_read(); //читаем температуру

Screen_out(); //обновляем экран

}

В итоге сделал отдельный блок для температуры и датчиков, все нормально работает!!!!

 

 

Basopotam

Для i2c использовалась такая шняга? http://www.ebay.com/...=item4d05d53c27

Нет. По i2c подключил так - http://jt5.ru/examples/oled-i2c/

Там все расписано.

 

интересная тема, спасибо.

 

Наверное есть изначально экраны с кнопками, работающие по i2c. Не думал делать на таких?

Поделиться этим сообщением


Ссылка на сообщение

Наверное есть, не знаю. Знаю что шилды LCD с i2c сразу есть (там та же микросхема стоит PCF8574)

Поделиться этим сообщением


Ссылка на сообщение
  1/30/2013 в 11:02 AM, Alex_M сказал:

Светодиоды: сборки Димы.

Управление: arduino nano.

 

Все остальное опишу, когда будет готов светильник, т.к. многое меняется в процессе сборки светильника. :)

 

Алекс!

Если не секрет, баночка та же? Просто интересно, сколько сборок планируете?

Поделиться этим сообщением


Ссылка на сообщение
  2/2/2013 в 12:20 PM, Alex67Z сказал:

Алекс!

Если не секрет, баночка та же? Просто интересно, сколько сборок планируете?

 

Светильник под новую банку.

Сборок будет 10шт. (уже куплены).

Поделиться этим сообщением


Ссылка на сообщение

Начал обновление светильника:

 

На данный момент выкинул все фиолетовые светодиоды (от 385 до 420нм) и поставил COB 420нм 1шт и COB 430нм 2шт.

COBы работают сейчас на 0.6А и общая мощность примерно 16-17Вт.

Планирую использовать их на 1А, тогда будет примерно 28-30Вт.

 

После замены: флуоресценция уменьшилась, но и засветка мути в воде тоже исчезла. Цвет более приятный на глаз.

 

 

Объединил цианы и зеленые в одну цепочку, отключил DR совсем.

 

Далее планирую: увеличить количество RB до 10-12шт, B до 8шт., возможно, уменьшить CW до 4шт.

Поделиться этим сообщением


Ссылка на сообщение

Если не секрет, какие токи сейчас на каналах?

И здорово было бы фотки посмотреть)))

Поделиться этим сообщением


Ссылка на сообщение
  3/17/2013 в 4:17 PM, Alex_M сказал:

Начал обновление светильника:

 

На данный момент выкинул все фиолетовые светодиоды (от 385 до 420нм) и поставил COB 420нм 1шт и COB 430нм 2шт.

COBы работают сейчас на 0.6А и общая мощность примерно 16-17Вт.

Планирую использовать их на 1А, тогда будет примерно 28-30Вт.

 

После замены: флуоресценция уменьшилась, но и засветка мути в воде тоже исчезла. Цвет более приятный на глаз.

 

 

Объединил цианы и зеленые в одну цепочку, отключил DR совсем.

 

Далее планирую: увеличить количество RB до 10-12шт, B до 8шт., возможно, уменьшить CW до 4шт.

 

можно пояснить, что имеется в виду по сов?

 

все нашел ))) спасиб! а что за компоненты использовал?

Изменено пользователем Basopotam (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
  3/21/2013 в 8:49 AM, Alex67Z сказал:

Если не секрет, какие токи сейчас на каналах?

И здорово было бы фотки посмотреть)))

По каналам на максимуме:

1. TV сейчас 0.6А, планирую 1А

2. RB сейчас 0.7А, планирую 1А

3. B сейчас 0.6А, планирую 0.7А

4. C+G сейчас 0.5, планирую C 0.5А, G 0.6A

5. DR отключен

6. CW сейчас 1А, планирую 1А

Последние фотографии есть в моей теме

 

  3/21/2013 в 8:53 AM, Basopotam сказал:

можно пояснить, что имеется в виду по сов?

Вот такие

420nm

430nm

Поделиться этим сообщением


Ссылка на сообщение
  3/21/2013 в 9:24 AM, Alex_M сказал:

 

 

 

Вот такие

420nm

430nm

 

какие впечатления по данным диодам?

Поделиться этим сообщением


Ссылка на сообщение
  3/21/2013 в 11:58 AM, Basopotam сказал:

какие впечатления по данным диодам?

Не давно поставил, пока рано делать выводы…

По цвету все нормально.

Поделиться этим сообщением


Ссылка на сообщение

Будет значительная засветка мути в воде (хотя и флуоресценция увеличится), особенно если «левый хвост» распределения уйдет за 400нм.

Поделиться этим сообщением


Ссылка на сообщение

а можешь написать физические размеры матриц которые ты используешь? а то у меня на радиаторе всего понатыкано...

Поделиться этим сообщением


Ссылка на сообщение
  3/22/2013 в 6:05 AM, Basopotam сказал:

а можешь написать физические размеры матриц которые ты используешь? а то у меня на радиаторе всего понатыкано...

Вечером посмотрю.

Поделиться этим сообщением


Ссылка на сообщение

Пожалуйста, авторизуйтесь, чтобы оставить комментарий

Вы сможете оставлять комментарии после авторизации



Войти

×
×
  • Создать...
Рейтинг@Mail.ru

Политика обработки персональных данных