 |
|
27.11.2016, 21:53
|
#1
|
Придивляюся
Реєстрація: 26.05.2016
Звідки Ви: Волгоград
Дописи: 81
сказав Дякую: 11
сказали Дякую 2 раз(и) в 2 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
likuz1973, да если нужно выходить на бизнес, то 100% надо делать общую плату где будет просто впаиваться чип атмеги да и всё остальное...
Не знаю как у Сергея, но у меня сейчас контроллер умещается в корпусе чуть больше БП АТХ и куча проводов. По сути у меня это в данный момент конструктор, я постоянно что то изменяю, что то добавляю, что то переделываю и в этом кайф Ардуино  Всё разбирается и собирается. Чего только стоит подключение дешёвых 10 Ватных драйверова лед 
|
Я не собираюсь строить или начинать бизнес на контроллерах. Есть много профессионалов, кто уже этим занимается давно и набил не мало шишек)) интересуюсь только для своих аквариумов.. Мне достаточно разведения аманок
|
|
|
29.11.2016, 22:41
|
#2
|
Живу я тут
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
если не верить в контроллер и не отловить все его ошибки, то какой смысл вобще им заниматься?
|
Если почитать тему с самого начала, поймёте - я не занимаюсь ардуиной, ни покупками, ни продажами, ни программированием !
Я получил от этих двух проектов всё что мне нужно, отыскав их на просторах интернета. Поделился тут.
Цитата:
Допис від mashenkaM
если правильно всё сделать, то будет всё отлично, иначе бы люди этим не занимались.
|
Отлично когда люди знают это программирование, и легко это делают ... Данные проекты здесь исключительно в готовом виде - просто собрать, прошить и пользоваться. Искал именно такие - которые могут повторить практически любой человек, самые нужные функции, где минимально пайки и компьютерной мороки.
Допиливание скетча - Ваш выбор.
|
|
|
cказали "Дякую" Сергій М за цей допис:
|
|
28.11.2016, 18:01
|
#3
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
Сергій М, а вы сейчас каким именно пользуетесь контроллером?
__________________ 
|
|
|
28.11.2016, 19:12
|
#4
|
Придивляюся
Реєстрація: 26.05.2016
Звідки Ви: Волгоград
Дописи: 81
сказав Дякую: 11
сказали Дякую 2 раз(и) в 2 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
mashenkaM Вы давно программированием занимаетесь? Хобби или работа?
|
|
|
28.11.2016, 21:17
|
#5
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
хобби, я самоучка-недоучка 
__________________ 
|
|
|
28.11.2016, 21:32
|
#6
|
Придивляюся
Реєстрація: 26.05.2016
Звідки Ви: Волгоград
Дописи: 81
сказав Дякую: 11
сказали Дякую 2 раз(и) в 2 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
хобби, я самоучка-недоучка 
|
Красава!!!!
|
|
|
29.11.2016, 11:43
|
#7
|
Бан за нарушения
Реєстрація: 27.11.2016
Звідки Ви: Arduino
Дописи: 98
сказав Дякую: 12
сказали Дякую 21 раз(и) в 16 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
likuz1973, для Вас архив, в нём сам скетч и необходимые библиотеки.
Тестировал на протеусе, поэтому есть вероятность дополнительного тестирования и отладки.
Пояснения:
1) 52 строка и далее - номер контактов куда следует подключать датчики и реле, могут быть изменены. (аналоговые выходы А0-А7 могут быть использованы как цифровые и обращения к ним начинается с 14 = А0, 15 = А1 и т.д.)
#define pinTemperatureAqua 14
#define pinTemperatureLedRadiator 15
#define pinRelayHeat 16
#define pinRelayFanWater 17
#define pinRelayFanLedRadiator 2
2) 73 строка
byte setTemperature[] = {23, 50}; // Установленная температура: [0] - вода в аквариуме, [1] - радиатор LED;
Тут вроде всё понятно, это ваши установки температуры
3) 235 строка, считывание температуры происходит постоянно, если хотите раз в 30 секунд как всё у автора, то переместите строку
ControlTemperature();
выше фигурных скобок в тело IF(){}
4) 271 строка
float hysteresis = 1.0; // величина гистерезиса для обогревателя
float hysteresisFan = 2.0; // величина гистерезиса для вентилятора охлаждения воды аквариума.
hysteresisFan всегда должен быть больше hysteresis хотя бы на 1 градус.
То есть установлено 25 градусов, обогреватель будет выключаться при 24 и включаться при 26. Но вентилятор для охлаждения воды будет включаться только при 25+ hysteresisFan = 27 и выключаться при 26.
Установите сначала библиотеки - потом тестите и если что пишите, помогу.
|
|
|
cказали "Дякую" Arduino за цей допис:
|
|
29.11.2016, 12:53
|
#8
|
Придивляюся
Реєстрація: 26.05.2016
Звідки Ви: Волгоград
Дописи: 81
сказав Дякую: 11
сказали Дякую 2 раз(и) в 2 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
Цитата:
Допис від Arduino
likuz1973, для Вас архив, в нём сам скетч и необходимые библиотеки.
Тестировал на протеусе, поэтому есть вероятность дополнительного тестирования и отладки.
Пояснения:
1) 52 строка и далее - номер контактов куда следует подключать датчики и реле, могут быть изменены. (аналоговые выходы А0-А7 могут быть использованы как цифровые и обращения к ним начинается с 14 = А0, 15 = А1 и т.д.)
#define pinTemperatureAqua 14
#define pinTemperatureLedRadiator 15
#define pinRelayHeat 16
#define pinRelayFanWater 17
#define pinRelayFanLedRadiator 2
2) 73 строка
byte setTemperature[] = {23, 50}; // Установленная температура: [0] - вода в аквариуме, [1] - радиатор LED;
Тут вроде всё понятно, это ваши установки температуры
3) 235 строка, считывание температуры происходит постоянно, если хотите раз в 30 секунд как всё у автора, то переместите строку
ControlTemperature();
выше фигурных скобок в тело IF(){}
4) 271 строка
float hysteresis = 1.0; // величина гистерезиса для обогревателя
float hysteresisFan = 2.0; // величина гистерезиса для вентилятора охлаждения воды аквариума.
hysteresisFan всегда должен быть больше hysteresis хотя бы на 1 градус.
То есть установлено 25 градусов, обогреватель будет выключаться при 24 и включаться при 26. Но вентилятор для охлаждения воды будет включаться только при 25+ hysteresisFan = 27 и выключаться при 26.
Установите сначала библиотеки - потом тестите и если что пишите, помогу.
|
Огромное человеческое спасибо!!!  Разрешите вопрос, В этом скече уже учтены поправки, которые Вы предлагаете внести СергийМ или мне тоже необходимо взять на заметку? Или речь идет о разных скечах?
Востаннє редагував likuz1973: 29.11.2016 о 13:02..
|
|
|
29.11.2016, 14:14
|
#9
|
Бан за нарушения
Реєстрація: 27.11.2016
Звідки Ви: Arduino
Дописи: 98
сказав Дякую: 12
сказали Дякую 21 раз(и) в 16 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
likuz1973, основа взята Сергея М, я начал разбираться в его коде, и до часу ночи успел только сделать то, что вы просили. Поэтому те вещи, что я написал выше, присутствуют в вашем коде. В принципе код небольшой и его можно подравить, просто вчера не было времени, да и я не знал нужно ли это кому то.
Вы лучше протестируйте и скажи всё ли норм. Свой контроллер я не захотел переделывать, а симулятор протеус часто не показывает все глюки.
|
|
|
29.11.2016, 11:29
|
#10
|
Бан за нарушения
Реєстрація: 27.11.2016
Звідки Ви: Arduino
Дописи: 98
сказав Дякую: 12
сказали Дякую 21 раз(и) в 16 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
Сергій М, здравствуйте! Надеюсь мои советы не будут лишними...
Жаль сайт не дружелюбен к коду  Скопируйте код в Notepad++ и выровняйте для удобного чтения.
1.
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
RTC.adjust(DateTime(2013, 1, 1, 12, 59, 1));
}
Строчку "RTC.adjust(DateTime(2013, 1, 1, 12, 59, 1));" я бы удалил, потому что нельзя установить время в не запущенные часы.
2.
if (Current_MinuteDay>=MinuteDay_Start_Sunrise[i] && Current_MinuteDay<=MinuteDay_End_Sunrise[i]) {
Current_Period[i]=1;
}
Как вы думаете, что будет если я захочу сделать рассвет в 23.30 и выключить свет в 1.00?  Ничего... в 23.55 текущее время будет больше старта, и больше финиша.
необходима дополнительная проверка.
Вот кусочек моего кода:
if(turnOnStartToSeconds < turnOnFinishToSeconds){
if((turnOnStartToSeconds <= timeNowToSeconds) && (timeNowToSeconds <= turnOnFinishToSeconds)){
return PWM_UP;
}
} else {
if(timeNowToSeconds >= turnOnStartToSeconds || timeNowToSeconds <= turnOnFinishToSeconds){
return PWM_UP;
}
}
3. Вот эта строка работает правильно пока у вас минимальное значения яркости 0, измените и всё перестанет правильно работать
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]);
Вот это у вас даёт процент "прохождения" рассвета от 0,0 до 1,0
(((float)Current_MinuteDay-MinuteDay_Start_Sunrise[i])/((float)MinuteDay_End_Sunrise[i]-MinuteDay_Start_Sunrise[i]))
А вот это учитывает максимальную яркость в пике:
((float)Meridian_PWM[i]-Midnight_PWM[i])
Пока Meridian_PWM[i] = 255, а Midnight_PWM[i] = 0 всё отлично, максимальная яркость будет 255.
Но если мы захотим сделать Midnight_PWM[i] = 10 то есть аквариум ночью будет светить на 4% яркости, ну типа ночная подсветка тусклая, то получим бред:
с 10 при рассвете яркость упадёт до 0 и только потом начнёт расти, а не с 10.
255-10 и в пике яркости получится значение 245.
По факту яркость будет расти с 0 до 245, а потом РЕЗКО прыгать в 255, конечно всё это мелочи и возможно незаметны, но при некоторых условиях критичны.
Правильнее было бы сделать так, но надо тестить:
расчёт процента рассвета*(Meridian_PWM[i] - Midnight_PWM[i]) + Midnight_PWM[i]
Востаннє редагував Arduino: 29.11.2016 о 16:15..
|
|
|
30.11.2016, 00:47
|
#11
|
Бан за нарушения
Реєстрація: 27.11.2016
Звідки Ви: Arduino
Дописи: 98
сказав Дякую: 12
сказали Дякую 21 раз(и) в 16 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
После прочтения нескольких книг по программированию, до меня наконец то дошла идея ООП и мне пришлось переписывать свой код в более ориентированный к ООП.
По факту я для каждого типа датчиков или процедур написал универсальные библиотеки. Что это даёт? Теперь это просто Lego кирпичики кода.
Начинающему не нужно будет писать куча не понятного кода, он просто подключит свой датчик, скопирует несколько строк в свой скетч и всё заработает.
То есть теперь для создания любой конфигурации контроллера не нужно изменять, вырезать, добавлять кучу кода, а просто собирать код из готовых кирпичиков, знаю что они работают как надо.
|
|
|
Ці 2 користувач(ів) сказали Дякую Arduino за це повідомлення:
|
|
30.11.2016, 07:52
|
#12
|
Придивляюся
Реєстрація: 26.05.2016
Звідки Ви: Волгоград
Дописи: 81
сказав Дякую: 11
сказали Дякую 2 раз(и) в 2 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
Могу сказать, что мои два контроллера на Nano работают с мая 2016 года. За все время я изменял только настройки по времени заката-рассвета (подбирал под себя), даже не использовал функции реле, не лазил в изменение параметров ШИМ (хотя очень хотел это сделать) И меня этот минимализм устраивает)) Ну не буду же я каждый час изменять эти настройки)) Т.е. я простой обыватель, с минимальными требованиями, который по мануалу может приобрести необходимые компоненты, собрать воедино, залить скетч и просто радоваться тому, что получилось)). А ведь на сегодня контроллеры работают и это радует. Я действительно далек от программирования (на пятом десятке уже поздно начинать все с нуля))). И огромное всем спасибо, кто принимает участие в решении возникающих вопросов. СергийМ а по поводу того, что скетч написан не тобой, а Алексом, я думаю он не будет против, если знающие люди внесут в него некоторые коррективы, которые позволят улучшить работу его творения. Я просто уверен, что совместными усилиями mashenkaM и Arduino и других пользователей работа этого контроллера будет доведена до совершенства, а мы как, тестеры поможем им в этом.
|
|
|
cказали "Дякую" likuz1973 за цей допис:
|
|
30.11.2016, 11:22
|
#13
|
Бан за нарушения
Реєстрація: 27.11.2016
Звідки Ви: Arduino
Дописи: 98
сказав Дякую: 12
сказали Дякую 21 раз(и) в 16 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
likuz1973, пока ваш контроллер управляет освещением, ему не нужны экраны и да его можно собрать как простая коробочка, где есть входы и выходы. (подобные контроллеры делают многие на этом форуме)
Но как только появляются реле и датчики температуры, без экрана уже не удобно.
если есть датчик температуры, то конечно хочется знать какая именно, смотреть на спиртовой градусник имея в аквариуме высокоточный цифровой просто не комильфо.
А если есть реле, то надо делать кнопки быстрого (аварийного) вкл-выкл, что в принципе удорожит сборку на пару гривен (пару кнопок, пару светодиодов и пару резисторов). Спросите зачем? Да просто выключить фильтр или компрессор, или вы сливаете воду обнажив обогреватель, и что бы не выдёргивать его из розетки или вырубать контроллер, можно одним касание его отключить. Опять же реле тянут за собой розетки и понеслось. Чего только в голову не приходило 
|
|
|
30.11.2016, 12:43
|
#14
|
Придивляюся
Реєстрація: 26.05.2016
Звідки Ви: Волгоград
Дописи: 81
сказав Дякую: 11
сказали Дякую 2 раз(и) в 2 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
Цитата:
Допис від Arduino
likuz1973, пока ваш контроллер управляет освещением, ему не нужны экраны и да его можно собрать как простая коробочка, где есть входы и выходы. (подобные контроллеры делают многие на этом форуме)
Но как только появляются реле и датчики температуры, без экрана уже не удобно.
если есть датчик температуры, то конечно хочется знать какая именно, смотреть на спиртовой градусник имея в аквариуме высокоточный цифровой просто не комильфо.
А если есть реле, то надо делать кнопки быстрого (аварийного) вкл-выкл, что в принципе удорожит сборку на пару гривен (пару кнопок, пару светодиодов и пару резисторов). Спросите зачем? Да просто выключить фильтр или компрессор, или вы сливаете воду обнажив обогреватель, и что бы не выдёргивать его из розетки или вырубать контроллер, можно одним касание его отключить. Опять же реле тянут за собой розетки и понеслось. Чего только в голову не приходило 
|
Согласен, удобство в использовании любого оборудования это очень важный аргумент! И да, действительно для обслуживания аквы я просто физически выключаю приборы из розетки... Безопасность ещё никто не отменял. Поверьте есть опыт когда и реле залипает, и кнопки не выключают и тд. Хотя визуально все выглядит отлично... ( кнопка отжата, светодиод не горит и тд) Релле как я понимаю размыкает только один из проводов, идущих на устройство и если реле размыкает нулевой провод, а фаза подаётся на прибор, который может пробивать, то глубоко "по барабану" кнопка, разомкнутое реле и тд. Так навертит, что простой оскоминой на зубах не обойдётся. Может это конечно паранойя, но мне не тяжело дернуть три вилки из удлинителя, а после окончания обслуживания их включить обратно. Так что, если рассматривать с этой точки зрения, то надо дополнительно к реле ставить защиту (УЗО как вариант либо ещё что-то). Для чего в данном случае необходимо быстрое, аварийное отключение? Если будет коротыш, то вы просто не успеете отключить прибор, в этом случае за вас отработают автоматы на вводе в Цепь, плавкие вставки и тд, у кого, что стоит. Если вдруг у грелки замкнули биметаллические контакты и она греет воду больше чем положено, то здесь включается в работу реле и термодатчик, если уж они не сработали, то лишние 15 сек для выключения прибора из розетки роли уже не играют. Как-то так... Про визуализацию процессов согласен, и если вы это реализуете, будет просто прекрасно!!!
Востаннє редагував likuz1973: 30.11.2016 о 13:10..
|
|
|
30.11.2016, 11:32
|
#15
|
Живу я тут
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
|
Re: Ардуино для чайника или знатоки форума для аквариумиста ===www.aquaforum.ua===
likuz1973, Алекс—М не против, он знает об размещении его проекта здесь.
А на счёт доработки — думаю это только в плюс, так как меня многие спрашивают о датчиках температуры, на воду и радиатор светильника, летом очень нужны они. Думаю что даже в этом скетче есть место для них. Но как можно заметить — тут есть 2 реле уже зависящих от режимов работы, 1—е реле на охлаждение радиатора, не зависящее от температуры, просто включается вместе с каналами ШИМ, 2—е реле включает лунную подсведку, сразу после выключения каналов ШИМ(со слов автора — так как лично я не проверял, не было нужды).
Было бы отлично отвязать эти реле для самостоятельной настройки, а в идеале — возможность при необходимости привязать к датчикам температуры, если таковые будут.
3 и 4 реле независимые.
|
|
|
 |
|
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 02:14.
|