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

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

Тема в разделе "Умный дом", создана пользователем Анкор Плюс, 27.04.17.

Статус темы:
Закрыта.
  1. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    Имхо, ИК управление на те же пины намного функциональнее...:hello:
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Тоже принято к обдумыванию, на дальнейшее расширение функционала - где-то валяется выпаянный ИК-приёмник ;)

    З. Ы. Потихоньку возвращаюсь к работе, в ближайшее время надо будет приступать к портированию на Due, ну а после - уже и по функционалу будем посмотреть, что называется ;)
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Обновил прошивку, добавил первую версию раздельных настроек для Mega и Due, добивался, чтобы компилировалось в двух версиях. Globals. h теперь короткий, в нём - все комментарии. Если вкратце, то в нём только определение типа платы, настройки для Mega - в файле Configuration_MEGA.h, для Due - в файле Configuration_DUE.h, настройки отладочных режимов - в файле Configuration_DEBUG.h.

    Пришлось повозиться, но в целом - вопросов всего несколько возникло: во-первых, код чтения с DHT - под мегой читаю напрямую из порта, под Due попытался сделать то же самое, но не уверен, что слёту будет работать, будем лечить, если что.

    Во-вторых - инфа по свободной памяти: надо будет смотреть, что выдаёт адаптированная под Due версия этой функции.

    В-третьих - универсальные модули, код ожидания опустошения буфера TX под Due чуть другой, тоже надо тестить будет.

    В-четвёртых - немного возни в паре мест с типами данных (оказалось, что по умолчанию в Due типы - беззнаковые, а в Mega - знаковые, поэтому принудительно избавился от пары предупреждений компилятора - мелочь, но и мелочи важны).

    Ну и, конечно - кучу всего тестить, подчеркну ещё раз - я пока только добился, чтобы компилировалось под плату Due, не более того (т.к. сейчас жду отладочной платы - есть маза не возиться с макеткой, и так сладко избежать этого геморроя, скажу я вам :)).

    Теперь, как компилировать, если что:

    1. Через менеджер плат устанавливаем плату Arduino Due (она там вторая сверху в списке, называется типа "Arduino SAM boards");

    2. После установки идём в c:\Users\ТУТ ИМЯ ПОЛЬЗОВАТЕЛЯ\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\, ищем там файл platform. txt, делаем его копию, в оригинальном находим строчку

    и убираем из неё строчку {upload.verify}, чтобы выглядело всё вот так:
    Без этой операции под Arduino IDE 1.6.7 у вас ничего на плату не зальётся ;)

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

    Пишите, жду (с) Шпак.

    З. Ы. На мегу новую версию не накатывал - там в принципе под Мегу изменений мизер, ничего серьёзного не затронуто, кроме пары мест с принудительным указанием типа переменной.
     
    Последнее редактирование: 04.09.17
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    И да, объява про мопед: нужна работа, если у кого есть предложения - пишите в личку. Кое-чего могу: PHP там всякие, Laravel и прочая чухня типа Phalcon, могу и native PHP, фронтэнд/бэкэнд/базы данных, только не верстаю и не дизайню. Это что касается веб-программирования. Standalone-приложения: C#/С+. Под ардуину - тоже можно, многое из популярных железок есть.

    Закидайте меня предложениями :)
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Прошивку обновил. Потихоньку морально готовлюсь к макетке - всё-таки надо начинать тестировать, как ни крути - пусть по отдельности и по частям, но - надо ;) Буду очень благодарен, если кто-нибудь из сочувствующих присоединится к тестированию под Due, тем более - сейчас настройки под разные платы - в разных файлах, поудобнее стало, кмк ;)
     
  6. SportMaster
    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961

    SportMaster

    Живу здесь

    SportMaster

    Живу здесь

    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961
    Адрес:
    Петрозаводск
    @DIYMan, скиньте в личку контакты по которым с Вами можно связаться по предложению работы.
    Товарищ как раз ищет программиста под серьезный проект.
     
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Done ;) Спасибо, что откликнулись!
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Руки уже почти дотянулись до макетки, когда вспомнил, что Due - 3.3V. Поэтому настучал себе по рукам, пока буду продумывать все соединения через конвертер уровней и, видимо, придётся тестировать каждый модуль по отдельности, чтобы тонну проводов не плодить.

    Начало уже положено - вставил батарейку в платку часов реального времени :)]:aga: Смех, конечно, но пока и это уже - успех: суета, поиски работы, махонький депрессняк по этому поводу. Но ничо - прорвёмся ;)
     
  9. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Если все будет работать через RS485 с универсальными модулями (вроде как определились), то ни каких преобразователей уровня не надо;)
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    С точки зрения прошивки - надо обеспечить полную совместимость, т. е. проверять и датчики, подключенные напрямую к Due (раз прошивка предоставляет и такую возможность). И LCD-экран, собственно, тоже надо тестировать ;) Так что придётся таки через конвертер уровней подключать, потихоньку, полегоньку.

    А так да - через RS-485 пофик, что там на другой стороне висит, согласен.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Раз время от времени всплывают вопросы о том, "что же такое универсальный модуль" - добавил на сайт и на гитхаб коротенькую статью, где в двух словах попытался объяснить - что это такое и зачем оно надо: http://gardenboss.ru/kbase/11

    Надеюсь, информация будет полезной, да и при случае я теперь смогу давать просто ссылку, не растекаясь в очередной раз мыслью по древу :)
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    По дороге на море заезжал Сергей @HANTER333 - привёз ништяк в виде мини-платы контроллера, адаптированной под работу с Mega Mini, и заточенной для работы с универсальными модулями по шине RS-485 - т. е. есть только линия регистрации модулей, выход RS-485, две сигнальные линии (чтобы можно было получать обратную связь от исполнительных модулей), ESP-07, SIM800L, ну и, конечно, SD-карта, часы реального времени и LCD-дисплей.

    Распаял я "мамы" на Mega Mini, поставил её на плату, дальше пока - фик вам, надо консультироваться с Сергеем: на схеме в Spring Layout не указана полярность подключения питания, лучше я перебздю (хотя там и защитный диод есть). Также, помнится, Сергей обмолвился о напряжении питания, которое надо подавать, а я, хоть убей, не помню - вроде речь шла про 9В, опять же - лучше перебздеть. Ну и, чтобы в третий раз перебздеть - надо в тандеме будет настраивать прошивку под эту плату, чтобы, не дай бог, где-то не заюзать то, что юзать не надо, или - не заюзать то, что юзать - надо :)]:aga: (велик и могуч...).

    Данная компоновка представляется удобной там, где надо далеко вытаскивать датчики по проводам, скажем, в моём случае - мне лучше держать центральный контроллер в сарае, а универсальные модули - по витой паре кинуть за 50 метров в теплицу (оох, сколько ещё траншей копать в будущем :ogo:).

    Эх, если бы ещё заставить клиентскую библиотеку 1-Wire работать на 8 МГц - тогда ВНЕЗАПНО бы оказалось, что у меня уже есть пару плат универсальных модулей, Сергей давненько их мне паял, но протестировать не могу, потому что там камень работает на 8 МГц - были надежды, что 1-Wire заведётся на этой частоте, но - пока ручки кривоваты :(

    В общем, буду тестировать и эту мини-плату, надеюсь, основные вещи мы с Сергеем разрулили на этапе проектирования, хотя, как обычно - практика показывает, что всегда найдётся то, что надо доработать ;)

    Ну и парочку фоток вам для разогрева:

    IMG_2879.JPG IMG_2880.JPG
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    А вот и обзорный мини-видосик:

     
  14. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    960
    Благодарности:
    1.336

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    960
    Благодарности:
    1.336
    Пмсм, стоит делать плату под корпус. Например, корпус для DIN-рейки на 6 модулей. И удобно и силовые части - всё можно в один щиток запихнуть (например IP65 - и ставь хоть в сарай, хоть в теплицу:))
     
  15. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    можно поподробнее на этом месте?
     
Статус темы:
Закрыта.