Уважаемые аквариумисты, хочется поделиться информацией и опытом по созданию умной "железяки" аквариумного контроллера. За последние несколько лет развитие одно платных компьютеров и им подобных шагнуло далеко в перед. Если ранее нужно было сидеть с паяльником травить лудить и вообще обладать не дюжими знаниями в области радиоэлектроники и программирования, то на текущий момент все это упростилось на столько что появилась возможность и желание сделать все самому. А посему, сею тему буду развивать и поддерживать в силу свободного времени и развития проекта...
Контроллер выполнен в виде нескольких функционально законченных блоков. Данный контроллер построен на платформе Arduino Nano на микроконтроллере ATmega328. Основной упор при разработке делался на дешевизну проекта, поэтому использовались простые комплектующие без сенсорных экранов и прочих излишеств. За исходный функционал брался контроллер Юсупова, а так же меню и экраны управления были взяты по примеру этого контроллера. За исключением собственного функционала.
Комплектующие: Мозги:Arduino Nano ATmega328
Дисплей: LCD 2004
Блока часов реального времени (DS3231)
Силового блока: В зависимости от типа устройства могут применяться как 4-х канальные, так и 8-ми канальные блоки.
Блок связи ESP8266 модель ESP-07
Основные функции.• Часы. Индикация даты и времени.
• Управление аквариумными нагрузками от 4 до 8 каналов.
• До 10 ежедневных программ таймера.
• До 10 ежечасных программ таймера. С диапазоном длительности работы до 60 минут.
• До 10 секундных разовых таймеров. С диапазоном длительности работы от 1 до 255 секунд.
• До 10 ШИМ таймеров на 3 канала. С диапазоном длительности работы от 1 до 255 секунд.
• Поддержка до 8 цифровых датчиков температуры. на 3-х проводной шине.
• Измерение температуры в пределах 16…35 градусов. Разрешение измерения 0.125°C. Возможность управления нагрузкой (обогревателем/охладителем) на любом канале выхода.
• Аккумулятор для работы часов МК. Сохранение хода часов.
• Автоматическое сохранение в энергонезависимой памяти всех настроек (кроме хода часов) при полном отключении питания и разряде аккумулятора.
• Управление устройством через 2-х осевой джойстик.
• Вывод информации на ЖК-дисплей 20*4 с минимальными сокращениями, интуитивно-понятный интерфейс.
• Связь со смартфоном на ОС Android по Wi-Fi. Дополнительное программное обеспечение для быстрого программирования таймеров, термостата, синхронизации времени.
• Удаленное управление устройством по средствам Wi-Fi в локальной сети
(либо сети Internet при определенной настройка сетевого оборудования).
• Самостоятельная синхронизация и корректировка даты и времени устройства при наличии доступа устройству в сеть Internet.
Либо удаленная синхронизация через смартфон.• Функция слежения за отклонением показаний датчиков от среднего установленного значения
со звуковым оповещением и индикацией аварийного датчика.•
Отключение нагрузки (фильтра) на произвольном выходе при нажатии одной кнопки на 5-30 минут (временное отключение фильтра).*оранжевым выделено что еще в процессе разработки
Текущее состояние проекта:Собран полноценный девайс на котором будут обкатываться прошивки.
Заканчивается написание прошивки оставшегося функционала (возможно что-то придется вынести в удаленные настройки с Android так как место под скетч катастрофически не хватает). Закончено написание прошивки для модуля связи ESP8266-07. Изготовлены мат.плата для сборки устройства.
Пишется мобильный клиент.Исходники тут:
https://bitbucket.org/Vteselkin/aquacontroller_clientПротокол для использования тут:
http://pcb.aquagomel.ru/index.php/doc/deviceinfo/protocolТакже пишется документация по работе с устройством его сборке и прошивке... Полная документацияЧто из этого можно будет потрогать руками?Практически все. Все материалы по плате, схема, разводки, gerber файлы я выложу после исправления ошибок.
РаспиновкаD6 (10), D7(11),D8(12), D9(13), D10(14), D11(15), D12(16), D13(17) - каналы используются для силовой части (реле).
D5(9) - switchPin (кнопка джойстика)
D4( 8 ) - tonePin (канал спикера)
D3(7) - температурные датчики
A0(23), A1(24) - X,Y джойстика
A4(27),A5(28) - I2C шина, используется для подключения экрана и модуля часов.
TDX(31), RDX(30) - UART шина для обмена данных с WiFI модулем[/HIDE]
Для чего это?Да на форуме много тем с различными проектами аквариумной автоматики, данное устройство не претендует на какую-то оригинальность, делалось под себя, и возможно кому-то понравится данный проект... На все вопросы с удовольствием отвечу, все советы с удовольствием выслушаю...