Ищу исполнителя по написанию скетча по автоматизации перепелятника
- Войдите на сайт для отправки комментариев
Сб, 01/12/2012 - 22:05
Доброго времени суток!
Нужно написать скетч для управления температурой и светом перепелятника. Задание ниже, схема тоже.
Задание на программирование Arduino UNO.
- Программирование в среде Arduino 1.0.1.
- Библиотеки для LCD (2х16 + 6 кнопок), 1-Wire, DS1307 под Arduino 1.0.1 прилагаются и протестированы. Если есть возможность - русифицировать дисплей. Прилагается аналогичный пример библиотеки.
- Крайне желательно комментировать все строки кода, чтобы отладку можно было выполнить самостоятельно.
- Схема диммера взята отсюда http://www.compcar.ru/forum/showthread.php?t=8396 там же есть скетч.
- Силовая часть для управления подсветкой будет нарисована позже, когда появится ясность с мощностью нагрузки (LED – лента), поэтому достаточно обычного ШИМа на пине 3, изменяемого по датчику освещенности.
- Подключение будет выполняться согласно прилагаемой схемы.
- В перспективе к пинам 0,1 планируется подключение реле управления двигателем, контроль положения планируется отслеживать аналоговым входом (по концевикам).
- Вариант отображения информации на дисплее ниже
http://s019.radikal.ru/i609/1212/50/426b0b8f3a1c.jpg
Здесь первые 5 символов – текущее время
Символы 7,8,9 – день недели
Символы 15,16 (первой строки ) показывают день программы для брудера (1-29) – см. алгоритм ниже.
Во второй строке выводится температура с двух датчиков температуры 18B20
1. С кнопок требуется реализовать:
· Установку времени, дня недели.
· Установку дня программы брудера (1-29).
· Отключение сигнала тревоги.
· Смену режима подсветки (авто) – по датчику освещенности или (ручн.).
Алгоритм
Брудер (для птенцов).
Включить лампу на треть мощности (50 Вт).
1. День 1-7:
1.1. Проверить температуру.
1.2. Если t выходит за рамки значений (35-37С), отрегулировать диммированием (±5% мощности).
1.3. Пауза 5 мин.
1.4. Перейти к п. 1.1.
1.5. Если t<33 или > 37.5, подать звуковой сигнал.
2. День 8-14:
2.1. Проверить температуру.
2.2. Если t выходит за рамки значений (30-32С), отрегулировать диммированием (±5% мощности).
2.3. Пауза 10 мин.
2.4. Перейти к п. 2.1.
2.5. Если t<28 или > 34, подать звуковой сигнал.
3. День 15-21:
3.1. Проверить температуру.
3.2. Если t выходит за рамки значений (25-27С), отрегулировать диммированием (±5% мощности).
3.3. Пауза 15 мин.
3.4. Перейти к п. 3.1.
3.5. Если t<21 или > 27.5, подать звуковой сигнал.
4. День 22-28:
4.1. Проверить температуру.
4.2. Если t < 20 С, включить лампу на 10%, если t>22 C, выключить лампу.
4.3. Пауза 30 мин.
4.4. Перейти к п. 4.1.
4.5. Если t<19, подать звуковой сигнал.
5. День 29.
5.1. Выключить лампу.
Перепелятник.
1. Освещение.
1.1. Время 08.00-01.00
1.1.1. Проверить освещенность с помощью фоторезистора.
1.1.2. Включить светодиодную линейку на определенную мощность, в зависимости от показаний фоторезистора.
1.1.3. Пауза 10 мин
1.1.4. Перейти к п. 1.1.1.
1.2. Время 01.00-08.00
1.2.1. Выключить свет.
2. Кормушка.
1.1. Время 12.00. Провернуть сервопривод на определенное количество градусов.
1.2. Время 00.00. Провернуть сервопривод на определенное количество градусов.
схема http://narod.ru/disk/64204547001.b50fe044b6efcac2b11ab5ca41d2d954/%D1%81%D1%85%D0%B5%D0%BC%D0%B0.pdf.html
забыл написать где искать, подредактировал.
Хочу поблагодарить Максима за великолепно решенную задачу. После месячного сотрудничесва схема была значительно переработана, а в алгоритм внесено множество изменений и улучшений. Возможно, позже, опишу проект, если кому-то это интересно, а пока схема и фото готового девайса (точнее не совсем еще готового). К оптимизации особо не стремился, поэтому в схеме появились две ардуины, но все работает как часы (и часы тоже работают )).
Красота!
Осталось тока скетч выложить и поверю, что "в Новый год чудеса случаются! " :))
Где фото живых птиц, прошедших через это устройство? :)
Ну коль Новый год еще не прошел, выкладываю код, возможно кому-то пригодится
Птицы через это устройство еще не прошли, но уже готовятся ). Вот тоже живая, но выращенная "вручную" без устройства ).
Большой респект !!!
Бум разбираться! Дуину взял месяц назад, и одна из причин была как раз - для возможной автоматизации подсобного своего хозяйства.
Успехов Вам sergsap в инновационном птицеводстве =) ! И с праздниками!
Спасибо, Вас тоже с праздниками. Сам недавно узнал о дуине, купил гору железа на ебее, вот первый пилотный проектик, весьма полезный ). Программить самостоятельно тяжеловато, ибо не умею ), а вот паяльник раньше часто в руках держал, тут сложностей не вижу. Что касается автоматизации птицеводства, то это интересная тема, т.к. перепела очень забавные птички и любят порядок во всем - свет, климат. Если что не так, сразу убивать друг друга начинают ну или самоликвидироваться. Поэтому интересно усовершенствовать их быт ). Хотя, признаюсь, хобби птицеводства не мое лично, но вот приходится погружаться в тонкости ).
PS забыл сказать, что скетч не полный и в схеме есть косяк, когла ее причесывал, шину I2C через резисторы случайно на землю повесил. В общем, документация не полная пока )
sergsap , можно поподробнее по схеме ?
зачем вторая дуина прежде всего, она управляет яркостью ламп ?
То есть вопрос - почему одной дуиной обойтись было нельзя
Вторая дуина появилась в результате того, что в ходе отладки устройства вылез небольшой баг - при подключении библиотеки 1-Wire иногда (хаотически) лампа вспыхивала. Небольшой анализ показал подозрения на конфликт библиотеки с внутренним прерыванием, с которым работает диммер. Первым решением было взять готовый диммер с управлением 1-10В и рулить им из ардуины, но поиск таких устройств навел на мысль, что они дороже дуины Nano. Также maksim предложил взять маленький атмелчик и сделать на нем диммер, но для меня это был очередной круг итераций и изысканий, а тут вроде как все готово, вот и остановились на дуине. К тому же, если не ошибаюсь, то библиотеке Servo нужен тот же таймер, что и диммеру, поэтому это тоже оправдывает вторую дуину. Ну и резерв IO не будет лишним для возможного развития проекта. С одной уной резерва просто нет
Такой способ диммирования "кушает" очень много ресурсов МК - одно внешнее прерывание и один таймер. Но основная проблема в том что возник конфликт с библиотекой OneWire.h потому как она при опросе датчиков отключает прерывания и лампа начинает помигивать, если же убрать из OneWire.h отключение прерываний, то температура с датчиков читалась через раз. Было предложено отказаться именно от токого способа диммирования, но так как готового подходящего варианта не нашли, а времени на разработку чего-то другого не было, то было решено просто вынести диммер в отдельную дуину и оставить все как есть.
Теоретически можно было бы попробывать синхронизировать опрос датчиков с работой диммера, но неизвестно был бы положительный результат.
Эх, не успел чуток добавить вопрос к #10
Sergsap, а девайс под названием "кормушка" - воплощение Ваших рук или заводского изготовления? Что-то я пока не встречал таких ни в жизни ни в инете, если не брать кадры ютюба про американские кормушки для домашних питомцев =/
Кормушка пока вынашивается в голове ). Будет определенно рукотворного производтства. Коль управление реализовали, осталось дело за малым. Малый пока думает ).
... Малый пока думает ).
Понятно, спасибо )))
а о датчиках DHT не думали? там и влажность есть, возможно перепелам это тоже важно, Я вот ковыряюсь тоже с DS18B20, ну тормозят они по черному, про запрет прерывания тоже видел, они на максимальном разрешении делают delay(750) при запрете прерываний, насколко я помню.
Плюс ко всему электростатикой от шарканья ногами сажаю эти датчики на показание -0 , и никакого решения кроме как перезагружать контроллер по питанию пока не нашел. Понятно что их нужно изолилировать, но с DHT проблем помойму меньше, если их не очень много.
DHT11 на всякий пожарный тоже были закуплены, но так и остались лежать в запасе. Мне не понравилась их точность 2С по температуре и 5% по влажности. Про проблемы DS18B20 даже и не слышал, а вот раньше с ними сталкивался и плохого ничего сказать не могу. Сейчас у меня на дисплее температура отображается с точностью до десятых градуса и весьма удобно наблюдать за ее изменениями, а также процессом термостатирования.
Была мысль до кучи повесить DHT11 и смотреть за влажностью, но рулить влажностью нечем, поэтому и нужды вроде как нет. Как и нет информации о потребности птичек к определенной влажности ).
Была мысль до кучи повесить DHT11 и смотреть за влажностью, но рулить влажностью нечем,
Как это "нечем"? Микрокомпрессор с пульверизатором - и будет Вам руль для добавления влажности. Уменьшение - только вентиляцией, хотя, в теории, можно было бы и пельтье приспособить на конденсацию влаги.
Сейчас модно применять ультразвуковые увлажнители. Вот интересно насколько сложно такой ультразвуковой излучатель найти и прикрутить к Arduino. Еще есть так называемая "мойка воздуха" когда на барабан закреплен пористый материал, а нижняя часть погружена в жидкость. Барабан мееедлено крутится, губка намокает, затем несколько испаряется, заодно улавливая пыль, а затем по завершению круга погружается в жидкость и смывает пыль. Еще верхнюючасть желательно обдувать вентилятором, чтобы усиливать испарение. Хотя наверно для перепелятника актуально обратное - осушитель
Еще есть так называемая "мойка воздуха" когда на барабан закреплен пористый материал, а нижняя часть погружена в жидкость. Барабан мееедлено крутится, губка намокает, затем несколько испаряется, заодно улавливая пыль, а затем по завершению круга погружается в жидкость и смывает пыль.
Нету там пористого материала. :) Ребристые пластиковые диски, по 6 штук с каждой стороны. Раз в месяц приходится разбирать и мыть не только поддон, но и поверхность дисков со щеткой, т.к. собирать-то оно собирает, а вот со смывом всей грязи в поддон - не ахти.
Как это не чем"? Микрокомпрессор с пульверизатором - и будет Вам руль для добавления влажности. Уменьшение - только вентиляцией, хотя, в теории, можно было бы и пельтье приспособить на конденсацию влаги.
Вот этого больше всего и боялся, что придется еще и общеобменную вентиляцию городить, а надо то было покормить, да посветить )).
А просто увлажнитель ИМХО не вариант, будет локально влажность высаживаться, потом мох пойдет расти, за ним тоже уход понадобится )
а такая схема вам не подойдет?
Нет, не подойдет, это всего лишь позиционный регулятор на реле.