- AQUAkmv
- Сообщество аквариумистов
- Простой контроллер для аквариума на ARDUINO
- И так, нам понадобится:
- Схема подключения :
- Прошивка:
- Простой контроллер для аквариума на ARDUINO : 22 комментария
- Делаем на Arduino автоматизацию для аквариума
- 1. Определение задач для микроконтроллера Arduino при автоматизации аквариума
- 2. Необходимая периферия и способы ее подключения к Arduino
- 3. Программирование на Arduino для автоматизации аквариума
- 3.1 Меню и ЖК-Дисплей
- 3.2 Код для работы цветной ленты
AQUAkmv
Сообщество аквариумистов
Простой контроллер для аквариума на ARDUINO
Сейчас для управления светом многие используют механические и электронные таймеры, для управления температурой в аквариуме простенькие термостаты. Я хочу предложить объединить это всё в одно устройство.
Если нужно управление светодиодным светом, то лучше посмотреть усовершенствованную версию этого контроллера ССЫЛКА на проект.
В интернете очень много подобных схем, я же хочу предложить один из простейших вариантов. Я не претендую на оригинальность и лучший код. Такой приборчик у меня трудится у же 4 года без серьёзных поломок.
Для начала определимся что нам нужно – сколько каналов для 220в нагрузок, сколько для 12в нагрузок.
Я выбрал 5 каналов 220в: 4 независимых канала с периодом 30 мин (48 интервалов на сутки), один отдельный канал для углекислоты.
Для охлаждения будем использовать компьютерный вентилятор на 12в
Плюс к этому я хочу видеть состояние каналов в реальном времени, поэтому добавим ко всему LCD дисплей.
Управлять всей этой красотой будем с помощью одного энкодера. Переходы по меню нажатием на энкодер, переход по значениям внутри одного меню – поворотом энкодера. Для изменения значения, нужно нажать на энкодер и не отпуская повернуть в нужную сторону.
После прошивки контроллера нужно отключить питание, зажать энкодер нажатым и заново подключить питание. Подождать до появления вот такой картинки
После этого, можно отпустить энкодер. Контроллер сбросится на правильные заводские настройки. Далее можно настраивать в обычном режиме
И так, нам понадобится:
1. Arduino nano 3.0 с Atmega 328p на борту | Ссылка на али: Купить |
2. Дисплей 1602 с модулем I2c | Ссылка на али: Купить |
3. Датчик температуры Ds18b20 В герметичном корпусе | Ссылка на али: Купить |
4. Часы реального времени DS3231 | Ссылка на али: Купить |
5. Модуль реле на 4 канала и еще один на 1 канал | Ссылка на али: Купить |
5. Или модуль твердотельных реле (более надежный вариант) | Ссылка на али: Купить |
6. Модуль с силовым ключем | Ссылка на али: Купить |
6. Понижающий Преобразователь | Ссылка на али: Купить |
7. Энкодер, 1шт |
Для монтажа потребуются провода, разъемы, макетные платы для сборки драйверов, принадлежности для пайки:
1. Отличный монтажный провод | Ссылка на али: Купить |
3. Хороший припой | Ссылка на али: Купить |
4. Макетные платы | Ссылка на али: Купить |
5. Флюс безотмывочный RMA 223 | Ссылка на али: Купить |
7. Паяльник с регулировкой температуры | Ссылка на али: Купить |
Перед сборкой нужно настроить понижающий преобразователь на 5В
Схема подключения :
Силовая плата может быть как на основе реле:
При использовании таких реле и индуктивной нагрузки (двигатели, помпы, фильтры) во избежании помех на контроллер следует поставить RC фильтр:
R=100 Oм, C=0.1мкФ*630V
Так и на основе симисторов:
Файл платы для Sprint в формате lay6 СКАЧАТЬ
Прошивка:
После сборки по схеме остается залить прошивку.
Файл прошивки лежит ТУТ Обновлен 22 ноября 2019г.
Прошиваем один HEX с помощью простейшей программы XLoader:
Работать с ней предельно просто:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт, который создался при подключении Arduino к USB (скорость порта автоматически подставится при выборе типа Arduino)
— жмем Upload
Архив с программой Xloader.zip
Если есть вопросы, то их можно обсудить в соответствующей теме ССЫЛКА НА ТЕМУ
Простой контроллер для аквариума на ARDUINO : 22 комментария
Ещебы рассвет и закат, и этомум контроллеру цены бы небыло
Добавить рассвет – закат – луна было б вообще здорово! Автору респект!
Это есть в прошивке
Всем привет .ПРОДЕЛАЛ ПРОЕКТ ..со2 4 реле и температура .. прошу помощи ..
меню разьяснить –переключение джойсиком .. – один режим работал по температуре ..пока щелкал остальные 1234 реле разобраться .. после включения реле щелкают но не в режиме программы молчат .. например ..подсветка экранчика ..крутил присматревался к стреле ..где как ..можно случайно включить ..
Добрый день.Переходы по меню нажатием на энкодер, переход по значениям внутри одного меню — поворотом энкодера. Для изменения значения, нужно нажать на энкодер и не отпуская повернуть в нужную сторону.
А можно увеличить до восьми?
Если Вы про выходы реле, то да.
Здравствуйте. Возник вопрос, зачем отдельное реле для углекислоты?
Просто еще один канал, который в меню назван Co2)))
Отличный контроллер, это то что я искал, спасибо большое автору. Пару месяцев использования полет нормальный. Сборка удалась не с первого раза. По началу вылетали глюки в виде иероглифов, отказа энкодера, просто зависания и отключение дисплея. Не знал на что грешить, в итоге заказал еще один полный пакет комплектующих, новая сборка тоже не увенчалась успехом. А в итоге оказалось дело в проводах которые фонили. Сменил провода, изолировал фольгой и все отлично. Собрано в деревянном корпусе. Но осталась одна небольшая проблемка это немного тупит энкодер при прокручивании, но это не страшно, т.к. настройки меняются редко. В итоге у меня деревянный ящик с 6ю розетками(5 через реле и одна прямая на случай всякий что то подключить или вечером возишься в аквариуме и что бы не лезть в настройки просто переставляешь свет в прямую) в итоге вертикальный ящик с 6 розетками, энкодером и дисплеем
Здравствуйте, пытаюсь разобраться в теме аквариумов на МК и наткнулся на ваш. Возникло несколько вопросов. Обязательно ли подключать вентилятор через Mosfet? Нельзя ли убрать отдельную релешку взяв более крупный блок из 6-ти?
Не заметил вашего ответа про реле, извиняюсь.
Надо было одним комментарием все вопросы сразу задать.
Можно ли обойтись без мосфета, и подвести вентилятор на один из каналов реле?
Обязательно ли использовать понижающий преобразователь, если учесть что вентилятор запитан отдельно?
Заранее спасибо за ответ!
Мосфет для 12в вентилятора, в новой версии вентилятор будет с PWM, для плавного разгона в зависимости от температуры. Преобразователь желателен в любом случае.
привет, спасибо за идею и конструкцию если это возможно пришлите пожалуйста
arduino скетьчь “Простой контроллер для аквариума на ARDUINO”
по е-почте .
зарание блогодарин Г.
Добрый день! В теме на форуме есть архив с исходниками!
Вечер добрый. Собрал акваконтроллер по первой схеме. Еще толком не разобрался с работой каналов. Непонятна логика работы каналов 1-4. Можно ли сделать время работы так же как и у канала со2, от какого то времени до какого то определенного ?
Добрый, логика проста – сутки разбиты на интервалы по 30 минут, в каждый интервал нагрузку можно или включить или выключить. Очень похоже на механический таймер.
Добрый вечер. Возможно ли в схеме заменить ds3231 на ds1302? Другого просто нет под рукой а заказ долго ждать. Помогите к каким контактам его можно подсоединить и реально ли? Понимаю что в скейче менять надо еще но хотя бы практически.
Источник
Делаем на Arduino автоматизацию для аквариума
Arduino – микроконтроллер, использующийся в качестве конструктора и платформы для самостоятельной разработки электроники. Устройство подходит как новичкам, так и профессионалом в техническом строении. Ардуино заслужило популярность среди разработчиков благодаря удобному и легкому языку, на котором пишут программный код для МК.
Кроме того, этот микроконтроллер обладает открытой архитектурой. Достаточно подсоединить устройство к компьютеру и записать получившийся код с помощью usb-кабеля. Приборы, в основе которых находится микроконтроллер, получают сведения из окружающей среды посредством датчиков и управляют исполнительными частями сконструированных инструментов. В этой статье подробно расписаны задачи для МК Arduino, которые помогут автоматизировать работу аквариума и избавить пользователя от лишних хлопот.
1. Определение задач для микроконтроллера Arduino при автоматизации аквариума
Первое, о чем должен позаботиться пользователь, – формулировка задач для работы аквариума. По-другому, за что должен отвечать программный код на Arduino для аквариума. Список задач представлен в списке ниже:
- подача подсветки в разных тонах в утреннее, дневное, вечернее и ночное время;
- включение света белого оттенка утром, в дневное время яркость увеличивается, а в вечернее, наоборот, уменьшается, ночью запрещается включать свет вообще;
- синий оттенок включается, когда рыбам становится «холодно»;
- красный оттенок подается, когда рыбам «жарко»;
- на аквариуме устанавливается датчик, который всегда отображает точное время;
- компрессор в аквариуме регулируется: пузыри с воздухом пускаются строго вечером, на ночь компрессор прекращает работу;
- пользователь создает пульт управления устройством;
- сигнальный свет регулируется строго с переходом температуры воды, пользователь настраивает данные диапазоны;
- регулируется утреннее и вечернее время;
- дополнительная функция – отображение данных о показателе влажности воздуха и температуры вне аквариумной зоны, вывод температуры воды обязателен при этом;
- подсвечивание даты, когда пользователь нажимает соответствующую кнопку на пульте управления, если дополнительных действий не последовало, экран меркнет.
2. Необходимая периферия и способы ее подключения к Arduino
Для собрания аппаратной части потребуются следующие компоненты:
- микроконтроллер Arduino Uno (можно и с Мегой);
- пьезо сигналка;
- светодиодная лента RGB для подачи света, при погружении в емкость ее следует поместить в силиконовый шланг, чтобы вода не проникала внутрь;
- белая светодиодная лента;
- датчик, отслеживающий температурный режим и влажность, наиболее оптимальный вариант – DHT11;
- небольшой LCD экран;
- часы, отображающие реальное время, оптимальный вариант – DS1307;
- 2 штуки реле, один управляет работой компрессора, другой регулирует аэрацию, причем оба работают только при 220;
- ик-приемник;
- транзисторы в количестве 5 штук, 3 штуки для rgb-ленты, 1 для помпы и последний для работы белой ленты.
Перечисленные компоненты обладают собственным типом подключения. Кроме того, потребуются драйверы для работы. После покупки пользователь должен зайти на официальный сайт производителя и скачать драйвера.
Одна из возможных схем:
На просторах интернета найдена была еще одна возможная схема для сборки стеклянного друга:
3. Программирование на Arduino для автоматизации аквариума
При программировании Ардуино для аквариума стоит быть внимательным. Перед подключением любого компонента необходимо ознакомиться с прилагаемой инструкцией. Обычно в памятке и на официальном сайте производителя указывается информация насчет равномерного напряжения. Если пренебречь условиями напряжения, можно испортить оборудование – произойдет замыкание. Обычно такая ситуация наблюдается при неаккуратном подключении датчика температуры и часов.
3.1 Меню и ЖК-Дисплей
Для ЖК-дисплея чаще всего используют библиотеку LiquidCrystal. Вы можете её увидеть во многих проектах, где фигурирует дисплей.
Например, для вывода «Hello World» нам нужен такой код:
Для нашего урока базовый класс может выглядеть так:
Ну и как пример с одним из пунктов меню (позаимствовано на просторах интернета):
Все датчики и светодиодные ленты к платформе Ардуино подключаются с помощью контактов, у которых действительно есть возможность поддержания широтно-импульсной модуляции. Нельзя подключать сразу 3 контакта при максимальном напряжении, так как лента может перегореть: не сразу, но в течение 50 минут светодиоды прекращают мерцать. Такая ситуация возникает, когда резисторы выходят из строя.
Недостаток вышеизложенной конструкции состоит в том, что каждый цвет на ленте имеет разную яркость. Если включить максимум напряжение на светодиоде красного оттенка, получится условная яркость красной ленты, равная 255 единицам.
А если одновременно подключить синий и красный фонарик на максимальном напряжении, показатель яркости установится на 510 единицах. В итоге получится фиолетовый цвет, что неприемлемо.
3.2 Код для работы цветной ленты
Отрегулируем яркость белой ленты с помощью кода:
На этом пока всё. Желаем вам дальнейших успехов с проектами на разных микроконтроллерах.
Источник