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

Хромис сине-зеленый (размер М) – 850 руб.! Хромисы сине-зеленые Chromis caerulea - несложные в содержании рифовые рыбки. Имеют мирный характер и хорошо уживаются другими миролюбивыми рыбами
Подробнее

Асцидии - волшебные животные!

Носорожка Naso brevirostris

Красноточечный Северум

svyaz

DIY 6-Канальный контроллер LED c тач-панелью "3.2"

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

Парни, всем привет

 

Я уже писал об этом н-ое число сообщений назад, но похоже никто не прореагировал.

Олег, реагирую.

Имею два экрана. Один не хотел точно попадать при нажатии (скетч калибровки ни в какую не хочет работать). Решил сделать как ты показал. Итог - экран заработал. :lol:

 

Вовка, если ты хочешь чтоб небыло разных аномалий, тут работает, а тут не работает, запомни, а еще лучше запиши одну вещь

Для твоего экрана и шилда, во всех скетчах и примерах, работающих с экраном и тач-панелью - настройки будут такие:

 

ITDB02 myGLCD(38,39,40,41,ITDB32S); // Настройка пинов и типа экрана

ITDB02_Touch myTouch(46,45,44,43,42); // Настройка пинов тач-панели

Вадим, все проверил, исправил, вроде пошло дело.

Выкрал немного времени почитать код

И вот такой вопрос.

Подключение пинов флешки такие

SD_OUT 50 (Digital)

SD_CLK 51 (Digital)

SD_IN 52 (Digital)

SD_CS 53 (Digital)

а в коде следующее указано.

// DS18B20 Temperature sensors plugged into pin 51 (Water, Hood, & Sump)

// OneWire OneWireBus(51); //Все датчики температуры подключены к пину 51

 

и дальше в коде

//Датчик температуры в аквариуме подключен к выводу 48, датчик на радиаторе подключен к выводу 49, датчик в сампе к выводу 50

#define ONE_WIRE_BUS_W 48 // датчик температуры Аквариум

#define ONE_WIRE_BUS_H 49 // датчик температуры Радиатор освещения Led

#define ONE_WIRE_BUS_S 49 // датчик температуры Самп

 

(Наверное все-таки надо пин 50 в строке

#define ONE_WIRE_BUS_S 49 // датчик температуры Самп)

 

собственно вопрос в том, что как в итоге то подключать датчики температуры, и что делать с пином 51

 

И еще вроде как должны быть еще аналоговые часы, но найти не могу.

П.С. еще есть некоторые вопросы по коду, но пока хватить, дабы не перегружать сообщение.

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


Ссылка на сообщение
Поделиться на других сайтах
Олег, реагирую.

Вот и хорошо, а то уже я начал думать что это только на меня сыпится весь хлам сборки :gygy:

 

Я за Вадима не в ответе, но

 

Подключение пинов флешки такие

SD_OUT 50 (Digital)

SD_CLK 51 (Digital)

SD_IN 52 (Digital)

SD_CS 53 (Digital)

Это означает что SD карточка в программе подключенна к пинам 50...53.

Больше НИЧЕГО НЕЛЬЗЯ подключать к ним, иначе возникнет ситуация когда одно устройство мешает другому.

И следовательно

#define ONE_WIRE_BUS_W 48 // датчик температуры Аквариум

#define ONE_WIRE_BUS_H 49 // датчик температуры Радиатор освещения Led

#define ONE_WIRE_BUS_S 49 // датчик температуры Самп

(Наверное все-таки надо пин 50 в строке

#define ONE_WIRE_BUS_S 49 // датчик температуры Самп)

собственно вопрос в том, что как в итоге то подключать датчики температуры, и что делать с пином 51

комментарии ошибочны.

У тебя шилд нестандартный, я не знаю что там на 47-48-49-50 и тд. Но датчики температуры (от 1 и до 3х), все подключаются к одному выводу свободному любому. Туда-же подключается резистор подпорки (4.7к термодатчика).

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

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


Ссылка на сообщение
Поделиться на других сайтах

Все это замечательно, но ктото должен это делать????? :gygy:

 

Знаешь сколько у меня ушло времени на то чтобы вычистить Джеймины баги, и переделать на 50%-70% все что касается ледов..... От его маловразумительных таблиц до нормальной графики.

Тут еще пахать и пахать. А иначе это так и останется игрушкой-полуфабрикатом.... ;)

Если я начну переделывать свои компьютеры- меня жена не поймёт :) Хотя хочется.

Для начала сделаю нормальный свет для скруббера...

 

А вообще, чем больше всего накручено на одно устройство - тем больше шанс выхода из строя. Платформа отличная. Но я бы делал отдельными устройствами. Отдельно- на светильник, так можно и от проводов до него отказаться,- только сетевой провод. Отдельно комп дозатора... Вот для дозатора можно попробовать простенький экран и управление на кнопках. Может и вправду займусь этим ;)

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


Ссылка на сообщение
Поделиться на других сайтах

Правильно. Как тема-то называлась ХХХХ лед контроллер :)

 

А его превратили в черти-что :hmmm:, с тач экраном.

Вот поэтому-то я и 70% времени вбухал в программу управления ледами+ 30% на глобальные баги.

А остальное практически и не трогал, и не уверен что это буду делать.

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


Ссылка на сообщение
Поделиться на других сайтах

Вот и хорошо, а то уже я начал думать что это только на меня сыпится весь хлам сборки :gygy:

Но датчики температуры (от 1 и до 3х), все подключаются к одному выводу свободному любому. Туда-же подключается резистор подпорки (4.7к термодатчика).

Олег, тогда я не пойму, а как прога будет определять, какой термодатчик к чему относится?

Резистор нужен каждому термодатчику?

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


Ссылка на сообщение
Поделиться на других сайтах

 

а в коде следующее указано.

// DS18B20 Temperature sensors plugged into pin 51 (Water, Hood, & Sump)

// OneWire OneWireBus(51); //Все датчики температуры подключены к пину 51

Если не собираешься использовать SD карту, а в проекте Jarduino она не используется, то датчики можешь подключать к любым из 50-53. У меня например они подключены к пину 19.

 

и дальше в коде

//Датчик температуры в аквариуме подключен к выводу 48, датчик на радиаторе подключен к выводу 49, датчик в сампе к выводу 50

#define ONE_WIRE_BUS_W 48 // датчик температуры Аквариум

#define ONE_WIRE_BUS_H 49 // датчик температуры Радиатор освещения Led

#define ONE_WIRE_BUS_S 49 // датчик температуры Самп

Это из версии 1.1, там каждый датчик подключен к отдельному пину.

Определись, какую версию кода будешь использовать и я скажу куда датчики подключать :)

 

Это означает что SD карточка в программе подключенна к пинам 50...53.

Больше НИЧЕГО НЕЛЬЗЯ подключать к ним, иначе возникнет ситуация когда одно устройство мешает другому.

Если захотеть - то можно, пример тому эзернет шилд, где SPI поочередно переключается 4-м пином от эзернет к sd карточке.

 

Платформа отличная. Но я бы делал отдельными устройствами. Отдельно- на светильник, так можно и от проводов до него отказаться,- только сетевой провод. Отдельно комп дозатора... Вот для дозатора можно попробовать простенький экран и управление на кнопках. Может и вправду займусь этим ;)

Я уже давал ссылку на контроллер бразильца Фернандо Гарсия, он как раз хорошо подходит для сампа.

2 канала освещения, PH, ORP, логи всех параметров за сутки, авто-подмены воды, подключение к интернет, через сервис cosm.com, вот ссылка на его параметры онлайн

Сейчас он добавил дозаторы с возможность включения в определенные дни недели.

работы

 

post-972-1352304494_thumb.jpg post-972-1352304508_thumb.jpg

 

post-972-1352304531_thumb.jpg post-972-1352304545_thumb.jpg

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


Ссылка на сообщение
Поделиться на других сайтах

А вообще, чем больше всего накручено на одно устройство - тем больше шанс выхода из строя. Платформа отличная. Но я бы делал отдельными устройствами. Отдельно- на светильник, так можно и от проводов до него отказаться,- только сетевой провод. Отдельно комп дозатора... Вот для дозатора можно попробовать простенький экран и управление на кнопках. Может и вправду займусь этим ;)

Я уже неоднократно писал в этой теме, что устройства лучше разделить на несколько: одно для светильника, второе - для контроллеров (температура, pH, ORP, автодолив, возможно, сюда же контроллеры течения). Вроде больше ничего не надо. Дозаторы я бы тоже вывел на третий отдельный контроллер.

 

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

 

А вот изменения настроек всех устройств удобно вносить с одного центрального блока, который и можно сделать на базе того же Jarduino или подобного устройства. Для этого в каждое устройство вноситмся копеечный радиомодуль на базе NRF24L01 (стоит около $2 на eBay). И все устройства будут периодически отсылать свой статус на "центральный пульт управления", а также получать от него задания на изменение настроек программы.

 

Я у себя буду делать именно так. К сожалению, времени свободного у меня совершенно нет, поэтому пока проект существует только в голове (если не считать пары собранных Jarduino-модулей, и валяющихся на столе радиоблоков).

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


Ссылка на сообщение
Поделиться на других сайтах

У каждого датчика есть уникальный серейный номер.

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

Смотри "Сообщение #993".

Бред конечно, но это то что есть сейчас.

Будет настроение, я это выкину и поставлю автодетектирование. Это всеголишь пару десятков строк.

 

Поэтому резистор нужен один, т.к все датчики - на одном проводе.

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


Ссылка на сообщение
Поделиться на других сайтах

Олег, тогда я не пойму, а как прога будет определять, какой термодатчик к чему относится?

Резистор нужен каждому термодатчику?

Вовка я не Олег, но отвечу.

Вначале сделай как я написал в сообщении #993 с каждым датчиком по очереди.

Потом подключи датчики по этой схеме, резистор один для всех 3-х датчиков.

 

DS18B20_parasite_mode_2.png

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


Ссылка на сообщение
Поделиться на других сайтах
Если захотеть - то можно, пример тому эзернет шилд, где SPI поочередно переключается 4-м пином от эзернет к sd карточке.

Ты прекрасно знаешь как там это сделанно.

А для остальных - подключать датчики к тем ногам где висят какие-то потенциалы - не сильно хорошая идея. Достаточно "пустых" ног. Кстати, с тем-же успехом датчики работают и при подключении к аналоговым выводам (А хх).

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


Ссылка на сообщение
Поделиться на других сайтах

У каждого датчика есть уникальный серейный номер..

Бред конечно, но это то что есть сейчас.

Будет настроение, я это выкину и поставлю автодетектирование. Это всеголишь пару десятков строк.

Сделай, а потом нам расскажешь где у тебя какой датчик при сбросе ардуино.

В варианте Джейми, датчики всегда соответствуют своим назначениям, так как раз и навсегда привязаны по серийному номеру.

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


Ссылка на сообщение
Поделиться на других сайтах

Сделай, а потом нам расскажешь где у тебя какой датчик при сбросе ардуино.

В варианте Джейми, датчики всегда соответствуют своим назначениям, так как раз и навсегда привязаны по серийному номеру.

 

Уж не сумлевайся. Никуда они при сбросе не денутся. :gygy:

 

 

Ладно.

Я тут как-то саморекламировался чуть :hmmm:

Ты Вадим, в курсе.

Первые экземпляры комплектов ушли к заказчикам.

 

Итак, поскольку ардуино - всего лишь лего, где нехватает многих частей, то к концу разработки у многих оно будет выглядеть таким образом.

Т.е начинается так

original.jpg

А заканчивается

diy_arduino.jpg

 

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

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

И так, на аквашилде

 

- крепеж экрана на 4х винтах, а не на соплях как сейчас

- два варианта часов (или\или), дорогие сверхточные ds3231 или обычные ds3107

- вместо батарейки конденсатор (ионистор) на 350- 400 часов поддержки без питания

- место под дополнительную память

- 8 каналов 0-10в или ШИМ (в любых сочетаниях), с напряжениями от 5 и до 10в - по запайке. Т.е совместимо с абсолютно всеми известными на сегодня драйверами

- 6 транзисторных ключей средней мощности под вентиляторы или реле. Часть из них ШИМ (для вентиляторов), часть просто ключи (под реле, помпы и тд)

- собственный достаточно мощный источник питания (+5в и + 3.3в), т.о стабилизатор на меге перестает греться так сумашедше как сейчас при питании от 12в

- питание от 12в

- отдельный ШИМ "драйвер" луны - под индикаторные диоды

- разьем с питанием и связью под wireless (nordic cpu)

- разьемы под платки atlas (PH, ORP и тд http://atlas-scientific.com)

- электрически нормальное согласование экрана и SD карты с мегой, а не то дерьмо что на шилде версии 1.2 и немного лучше чем на шилде версии 2

- выход на термодатчики (резистор внутри платы)

- пищалка аларма

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

 

 

Выглядит это дело так

DSC_0640.jpg DSC_0641.jpg

 

И бутерброд в сборе

DSC_0638.jpg DSC_0639.jpg

 

Все крепко закреплено, экран можно на 2х или 4х винтах, при желании и мегу с шилдом можно скрепить, весь крепеж совпадает.

Фото кстати, моей версии (Oleg mod), 8 канальный вариант.

И еще раз подчеркиваю, ни часов отдельных, ни транзисторов на вентиляторы, ни резисторов внешних не нужно.

Кого интересует дальнейшее - подробности в ЛС :roll:

 

РС: Версию программы с полностью переработанным лед интерфейсом скоро выложу, от Джейми там почти ничего не осталось. :P

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

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


Ссылка на сообщение
Поделиться на других сайтах

Олег,

 

Аквашилд просто класс! :vo:

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


Ссылка на сообщение
Поделиться на других сайтах

Круто

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


Ссылка на сообщение
Поделиться на других сайтах

Олег, и где же взять такой крутой шилд?

Кстати, народ, кто пользует версию кода от Вадима. Обнаружил такой баг.

В меню, где можно самому настроить когда начнет работать тот или иной канал диодов, ну то есть где 8 диапазонов на 2 часа времени, происходит следующее: пытаюсь поменять значения, а после смены в 3-4 интервале (неважно какого часа) вдруг перескакивание на другой часовой диапазон?

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

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


Ссылка на сообщение
Поделиться на других сайтах

:vo: Отличный подход к делу, Олег!

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


Ссылка на сообщение
Поделиться на других сайтах

Кстати, народ, кто пользует версию кода от Вадима. Обнаружил такой баг.

В меню, где можно самому настроить когда начнет работать тот или иной канал диодов, ну то есть где 8 диапазонов на 2 часа времени, происходит следующее: пытаюсь поменять значения, а после смены в 3-4 интервале (неважно какого часа) вдруг перескакивание на другой часовой диапазон?

 

Да, там есть такой баг. Это не только у Вадима, но и в оригинальной версии. Это то о чем я как то говорил, слайдеры и времена скачут безбожно.

100% я это не вылечил, но очень сильно уменьшил этот эффект в своей программе.

 

Свою версию я пока не выложил, но могу выложить мной переписанный драйвер touch который сильно уменьшает этот эффект. С софтом Вадима я его не пробовал.

Попробуй взять этот файл

ITDB02_Touch.zip

 

В среде ардуино в директории ХХ:\Jarduino\libraries\ITDB02_Touch\

заменить эти файлы на мои (старые просто переименуй в old, но не стирай)

и в программе Вадима, найди строчки

myTouch.InitTouch(LANDSCAPE);

myTouch.setPrecision(PREC_MEDIUM);

и после них добавь еще одну

myTouch.read(); //dummy read, enale IRQ

Без нее тач не заработает.

Заново скомпилировать и загрузить.

Попробуй.

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

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


Ссылка на сообщение
Поделиться на других сайтах

Доброй ночи Олег.

 

Молодец, получилось на 5 +++. Стоило подключиться людям Знающим и Умеющим, сразу получаем достойный результат.

Олег скинь пожалуйста в личку по стоимости шилда, сейчас как раз подумываю о покупке еще одной Ардуины и как раз платы согласования с часами в продаже нет. А тут как раз и платка вышла интересная твоя, короче есть о чем задуматься.

Еще вопрос:

тут есть позиция

- разьем с питанием и связью под wireless (nordic cpu)

это случайно не для такой цели как Vahegan предлагает? процитирую его:

А вот изменения настроек всех устройств удобно вносить с одного центрального блока, который и можно сделать на базе того же Jarduino или подобного устройства. Для этого в каждое устройство вноситмся копеечный радиомодуль на базе NRF24L01 (стоит около $2 на eBay). И все устройства будут периодически отсылать свой статус на "центральный пульт управления", а также получать от него задания на изменение настроек программы.

 

 

С Уважением Григорий.

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


Ссылка на сообщение
Поделиться на других сайтах

Еще вопрос:

тут есть позиция

- разьем с питанием и связью под wireless (nordic cpu)

это случайно не для такой цели как Vahegan предлагает? процитирую его:

А вот изменения настроек всех устройств удобно вносить с одного центрального блока, который и можно сделать на базе того же Jarduino или подобного устройства. Для этого в каждое устройство вноситмся копеечный радиомодуль на базе NRF24L01 (стоит около $2 на eBay). И все устройства будут периодически отсылать свой статус на "центральный пульт управления", а также получать от него задания на изменение настроек программы.

С Уважением Григорий.

 

Совершенно верно, это именно для Ваге и сделанно. Тот радиомодуль

http://iteadstudio.com/store/index.php?mai...;products_id=53

либо соединаятся с платой кабелем, либо если его конектор заменить на "маму", втыкается в шилд напрямую.

Почему так - просто я такого типа 90гр "мам" не достал, и у меня все конекторы "папа". :roll:

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


Ссылка на сообщение
Поделиться на других сайтах

Так а можно озвучить стоимость аквашилда, или только в личку? Думаю многих заинтересует

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


Ссылка на сообщение
Поделиться на других сайтах

BlackAlex только в личку.

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


Ссылка на сообщение
Поделиться на других сайтах

моя хотел как лучше, как проще. Собственно меня личка тоже устраивает. Сходу вопрос - доставка. Из Израиля едем, или будет распротранитель в СНГ? МИн заказ какой?

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


Ссылка на сообщение
Поделиться на других сайтах

Свою версию я пока не выложил, но могу выложить мной переписанный драйвер touch который сильно уменьшает этот эффект.

Олег, ты что-то перепутал, или приаттачил не тот файл.

WinMerge сказал вот, обеим файлам.

Henning Karlsen (автор библиотек) набирает бета-пользователей для тестирования новой библиотеки Touch

 

post-972-1352322186_thumb.jpg

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


Ссылка на сообщение
Поделиться на других сайтах

Да, я чтото с атачем напутал, проверю. :tuplu:

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


Ссылка на сообщение
Поделиться на других сайтах

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти

×