1 2 3 4 5 6 7 8 9 10 10/10 9,94оценок: 33

Arduino Mega. Контроллер теплицы. Хроники

Тема в разделе "Теплицы и парники", создана пользователем DIYMan, 05.01.16.

Статус темы:
Закрыта.
  1. Voron74
    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227

    Voron74

    Живу здесь

    Voron74

    Живу здесь

    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227
    Адрес:
    Магнитогорск
    Ок. пока с тем что есть будем разбиратьсяё
     
  2. YRA26
    Регистрация:
    09.01.16
    Сообщения:
    160
    Благодарности:
    71

    YRA26

    Живу здесь

    YRA26

    Живу здесь

    Регистрация:
    09.01.16
    Сообщения:
    160
    Благодарности:
    71
    Подключил DS18b20 все работает отлично на мониторе в SOFT, а при подключении DS3231 не вижу изменений, блоки реле не подключал пока. Макетка есть, но собираю все на проводах завтра проводюлек на работе, если позволит время, наклепаю и попробую реле пощелкать. Датчики освещенности только выехали из поднебесной.@DIYMan, а Вы с "собаку" дежурите, в бытность моей молодости смена с 03.00 до 09.00 так звалась. Еще я, конечно понимаю, что это наглость, но если можно, то по-моему надо бы предусмотреть подстройку текущего времени в SOFT, подошел с бучей, если что и по USB всю систему перенастроил. Где-то на почте России шильды к MEGE затерялись:mad:, а вот сегодня получил датчики DS18b20 в водонепроницаемом исполнении:super:
     
  3. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Дмитрий!
    Возникли вопросы...
    1. Не нашел, где привязываются пины к каналам реле (управление фрамугами).
    2 Установил пин 3 для 0-го датчика температуры, установил кол-во датчиков 1.
    Конфигуратор (и монитор порта то же) не видит первый, ищет второй датчик.
    Примерно то же самое с поливом: ставлю 3 канала, задаю пины. Напомню, у меня автоматика от дачника уже в железе, поэтому пины в прошивке меняю на уже реально распаянные и работающие.
    В ручном режиме из конфигуратора пытаюсь включить хоть один канал полива-ничего не происходит.
    В Globals. h менял с LOW на HIGH -ничего.

    Из архива на Гитхабе папку " Mega" прописывал в IDE 1,6,7
    Скетч компилировался и прошивался в Мегу без ошибок только после установки OneWire 2.3.1
    Вы писали
    Если папку " Mega" не прописывать в библиотеки, то выползает вот такая штука (режим Проверить/Компилировать)

    C:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware "C:\Program Files\Arduino\hardware" -tools "C:\Program Files\Arduino\tools-builder" -tools "C:\Program Files\Arduino\hardware\tools\avr" -built-in-libraries "C:\Program Files\Arduino\libraries" -libraries "C:\Users\user\Documents\Arduino\libraries" -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10607 -build-path "C:\Users\user\AppData\Local\Temp\buildd892ee4093f8fd18d0b5f42604ad8115.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "D:\GreenhouseProject-master (544)\GreenhouseProject-master\Mega\Main\Main.ino"

    C:\Program Files\Arduino\arduino-builder -compile -logger=machine -hardware "C:\Program Files\Arduino\hardware" -tools "C:\Program Files\Arduino\tools-builder" -tools "C:\Program Files\Arduino\hardware\tools\avr" -built-in-libraries "C:\Program Files\Arduino\libraries" -libraries "C:\Users\user\Documents\Arduino\libraries" -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10607 -build-path "C:\Users\user\AppData\Local\Temp\buildd892ee4093f8fd18d0b5f42604ad8115.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "D:\GreenhouseProject-master (544)\GreenhouseProject-master\Mega\Main\Main.ino"

    "C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g+" -c -g -Os -w -std=gnu+11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c+ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\mega" "C:\Users\user\AppData\Local\Temp\buildd892ee4093f8fd18d0b5f42604ad8115.tmp\sketch\Main.ino.cpp" -o "nul"

    "C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g+" -c -g -Os -w -std=gnu+11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c+ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\mega" "C:\Users\user\AppData\Local\Temp\buildd892ee4093f8fd18d0b5f42604ad8115.tmp\sketch\Main.ino.cpp" -o "C:\Users\user\AppData\Local\Temp\buildd892ee4093f8fd18d0b5f42604ad8115.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"

    D:\GreenhouseProject-master (544)\GreenhouseProject-master\Mega\Main\Main.ino:1:21: fatal error: Globals. h: No such file or directory
    #include "Globals.h"
    ^
    compilation terminated.
    exit status 1
    Ошибка компиляции.


    Что делаю не так?
     
  4. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    И еще вопросы возникли.
    Папку " Mega" прописывать как одну библиотеку, или разбивать на составляющие?
    Когда Вы писали о GSM модуле (у меня его пока нет, и этот блок закоментирован),Вы упомянули
    "подпаялся к ноге VCCIO чипа - ну как подпаялся: так, соплю посадил [​IMG]От этой ноги на пин 2 меги вывел сигнал". Может по подобной причине у меня не видятся ДС-ки на 3 пине, т. е. он где-то еще используется?
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Ок, как будет время - сделаю настройку такую.
    Проверьте правильность подключения ;)
     
  6. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Пока Дмитрия нет, отвечу на свои вопросы сам.
    То, что найдено методом "научного тыка",после поездки в деревню, к реально работающей железяке.
    1. Папку " Mega" прописывать как одну библиотеку можно, работает.
    2. OneWire ставить надо.
    3. Самая главная ошибка заключается в том, что папку " Mega" прописали в IDE, потом берем
    Globals. h (берем рефлекторно оттуда, куда скачивали с ГитХаба),корректируем под себя, сохраняем и успокаиваемся. Ан нет! Сохранили то в том месте, откуда брали (опять рефлекторно).
    Далее нужно обновить изменения в IDE. Либо переписать эту библиотеку в среде IDE (снести устаревшую уже папку " Mega" и установить новый ее вариант, либо просто отредактированный вариант Globals. h поместить в папку " Mega" с заменой в папке libraries уже в самой IDE.
    Устанавливать библиотеку " Mega" удобнее всего предварительно создав архив ZIP (это важно).
    И все у всех заработает!
    Что в остатке из моих вопросов?
    Где прописываются пины управления реле? Пока не разобрался.
    Дмитрий!
    В конфигураторе нет вкладки с фрамугами, соответственно нет возможности корректировать правила.
    5 датчиков температуры видит (в реале подключен пока один на 3 пине, как мне и нужно было).
    3 зоны полива тоже видит, и в ручном режиме включает все три (плюс насос),даже при питании от usb. Блок реле примерно такой же как у Вас (есть опторазвязка или нет-не, помню, позже гляну).
    Чего хотелось бы...
    Текущее время выводить в конфигураторе (скажем справа от кнопки "О программе", всегда перед глазами). Будет очень удобно при настройке контроллера.
    Так же будет удобно, если сможем задавать не только час начала полива, но и минуты.
    Почему?
    Установил час и минуты с запасом, и, скажем через 5-10 минут ожидания (а не час в максимуме), посмотрел в реале, сработала твоя установка или нет.
    Думаю, идея понятна.
    Вроде как все. Доклад окончил. :pioner:
     
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    1. Пока привязки пинов к фрамугам нет, т. к. не определился с управлением - чем буду управлять.
    2. Должно работать, вот подтверждение:

    Если у вас в SUPPORTED_SENSORS прописано 1, а в TEMP_SENSORS_PINS указано 3 (без запятой), то в массиве TEMP_SENSORS будет 1 элемент, всё должно работать. Но я проверю, конечно.

    С реле то же самое - должно работать, там проще некуда в ручном режиме - высокий/низкий сигнал на пине. Попробуйте всё ещё раз проверить. Перезапустите Arduino IDE - она иногда глючит и нормально не закачивает прошивку - вместо обновлённой закачивает старую, у меня такое бывало.

    По поводу компиляции и сторонних библиотек - нужна только OneWire, я не в курсе, в стандартной она поставке к Arduino IDE или нет. Саму прошивку ни в какие библиотеки устанавливать не надо - надо просто извлечь все файлы из архива в одну папку, и из этой папки уже открыть файл Main. ino в среде разработки, всё. Все остальные файлы (*.cpp и *.h) - это, по сути, и есть разные библиотеки для поддержки датчиков и т. п.
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Мда, создали себе сложностей :) Достаточно было просто весь архив, скачанный с гитхаба - разархивировать в одну папку и открыть Main. ino, всё. С OneWire - да, ставить, видимо, надо, доложу в архив.

    Правила корректируются на вкладке "Температура", там есть Т открытия и Т закрытия - это как раз то, что прописывается в правила, для управления фрамугами. На первой вкладке ими можно просто порулить, пока - в виртуальном режиме, поскольку я не определился ещё, чем буду управлять фрамугами.

    Ок, подумаю над этим.
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    1. Архив с гитхаба надо просто развернуть в одну отдельную папку, и оттуда уже открыть файл Main. ino, всё. Не надо этот архив устанавливать как библиотеки в Arduino IDE!

    2. Смотрите в Globals. h

    #define NEOWAY_VCCIO_CHECK_PIN 2 / пин, на котором будем проверять сигнал от VCCIO (6 пин) модуля NEOWAY

    можно пин, с которого проверяется питание GSM-модуля, переопределить.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Обновил на гитхабе, добавил первую версию управления досветкой. Положил библиотеку OneWire в архив, её я переписывать не готов пока, а выкладывать прямо к себе, рядом со своим кодом - некрасиво.

    Гистерезис для освещённости пока не используется, поэтому он в конфигураторе заблокирован. Позже, когда буду тестировать на железе - буду смотреть, надо ли он вообще.

    Из железных изменений: на 9-м пине - светодиод индикации ручного режима управления досветкой. на 34-м пине - реле, которое включает/выключает досветку. Как обычно - всё настраивается. Единственное "но" - на железе не тестировал, поскольку соединительные провода так и не пришли, пришлось открывать диспут с продавцом на али :(

    В EEPROM пришлось немного поменять запись правил, но вроде на работе предыдущих сохранённых это сказаться не должно. Хотя кто знает...

    Управление освещённостью реализовано через правила, например:

    LUXONRULE|LIGHT|LIGHT|0|<=|1500|19|120|_|CTSET=LIGHT|ON - включить свет, если освещённость ниже 1500 люкс, работает с 19 до 21 часа.

    LUXOFFRULE|LIGHT|LIGHT|0|>=|0|0|0|LUXONRULE|CTSET=LIGHT|OFF - выключить свет безусловно, только если не сработало правило включения света.

    Сходу всё работает, но мог чего-то не заметить. Поэтому просьба относиться с пониманием.
     
  11. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    С этим тоже уже разобрался, спасибо.
    Программированием контроллеров занимался последний раз лет 30 назад.
    Примерно в те же годы имел удовольствие общаться со спецом такого же уровня как ВЫ.
    Это не лесть, голая констатация факта.
    Еще раз спасибо.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @YRA26, по заявкам телезрителей :)]:aga: добавил прошивку текущего времени с компьютера прямо в контроллер, чтобы таким образом можно было легко настроить модуль часов реального времени. В контроллере теперь есть кнопулька с изображением часов, на которую можно попробовать жмакнуть :)

    Естественно, что если прошивка скомпилирована без поддержки модуля часов - эта команда ничего плохого не сделает ;)

    screen.png

    Пробуйте.
     
    Последнее редактирование: 10.02.16
  13. 2mike
    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    415

    2mike

    Живу здесь

    2mike

    Живу здесь

    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    415
    Адрес:
    Россия
    ntp сервера будут поддерживаться после добавления беспроводного модуля ?.
    З. Ы, Уже много чего наработали, может быть все узловые моменты вынести в первый пост ?
     
  14. Voron74
    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227

    Voron74

    Живу здесь

    Voron74

    Живу здесь

    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227
    Адрес:
    Магнитогорск
    В зависшем состоянии остались реле окон. (пока некуда их цеплять)
     

    Вложения:

    • Untitled Sketch1_bb.jpg
  15. SportMaster
    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961

    SportMaster

    Живу здесь

    SportMaster

    Живу здесь

    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961
    Адрес:
    Петрозаводск
    В финском блоге наткнулся на подключение 48 реле к UNO и Малине.
    Причем, на сколько я понял, у человека реализовано обнаружение наличия переменного тока в линии,
    т. е. есть обратная связь с конечным устройством - ВКЛ / ВЫКЛ.
    Было бы здорово, если кто-нибудь детально разберет и выложит полную схему такой системы.
    MCP23017-SeveralMCPs.jpg 16relay.jpg
    А тут библиотеки и пример работы с микросхемой MCP23017. :hello:
     
Статус темы:
Закрыта.