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

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

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

Статус темы:
Закрыта.
  1. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Друзья, вчера, засыпая, в полубессознательном состоянии :)]:aga: поставил перед собой дилемму, а именно: на чём остановиться? С одной стороны, готовая настраиваемая перемычками плата - это хорошо, даже очень. С другой - это бааальшуший гемор и секс, с неясными перспективами и кол-вом денег, которые надо впулить в её разработку и доведение до ума, учитывая тот факт, что китайские модули (например, тот же модуль часов) имеют особенность внезапно менять конфигурацию, а то и вовсе исчезать из продажи. Короче, засад там - вагон с тележкой, плюс ещё, если уж по-максимуму отказываться от зависимостей на модули (хотя бы те, которые можно точно сделать на плате, типа DS3231 и RS-485) - это значит, ни много ни мало - уменьшение ремонтопригодности.

    Есть и другой подход, чуть более "на соплях": свой шилд на Arduino Mega - пусть он будет большой по площади, это уже неважно. Из недостатков - хлипкое соединение меги с шилдом. Из достоинств - быстрее спроектировать, проще развести, снимается кучу головняков типа поддержания работы через USB (всё уже есть на Меге) и т. п.

    В общем, я не знаю, на чём остановиться. Надо бы потихоньку начинать рисовать блок-схему, но перед началом стоит всё-таки решить, куда, собственно, развиваться.

    Я готов заплатить разумных денег за разводку готовой платы, однако - разумность разумности рознь, и, понимая, какой это большой объём работы - я даже не рискую оценивать, во что это выльется. @HANTER333 - озвучьте, плз, без обиняков, стоимость ваших услуг в данной сфере (т.е. разводка платы по готовой блок-схеме и принципиальной схеме) - чтобы эта информация хоть как-то помогла мне принять решение, а не метаться, как г. в проруби.

    Есть ещё и третий, резервный вариант: создать проект на каком-нибудь кикстартере и собрать денег на разработку собственно платы, закупку комплектующих и выпуск первой тестовой партии. Но это - для меня неизведанный океан, во-первых, и, во-вторых - дополнительные обязательства, со всеми вытекающими.

    Эээх, кто бы за меня решил :)]:aga: (шучу). Хочется собрать мнения, в общем.
     
  2. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    1) про 3 вариант тоже полный 0,
    2) второй - все имеющиеся в продаже платы подтыкать через "переходник" к Меге? Если да, то я за "переходник" :super:
    "Из недостатков - хлипкое соединение меги с шилдом" - после втыкания можно и герметиком накрайняк залепить (ноги в токопроводящую пасту и в разъем, а герметик - в "технологические" отверстия или винтом...)
     
    Последнее редактирование: 02.08.16
  3. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Сначала надо посмотреть на принципиальную схему:);), а если ее еще и разрабатывать по блок-схеме..., то будет гораздо дороже:)]
     
  4. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    Попытался закомментить (чтобы отключить SD) "#define USE_LOG_MODULE /". Вылетает ошибка:
    Arduino: 1.6.7 (Windows XP), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

    Изменены опции сборки, пересобираем все
    sketch\SMSModule.cpp: In member function 'void SMSModule: ProcessIncomingSMS (const String&)':

    SMSModule. cpp: 496: error: 'File' was not declared in this scope

    File smsFile = SD. open (filePath);
    ^
    SMSModule. cpp: 496: error: expected ';' before 'smsFile'

    File smsFile = SD. open (filePath);
    ^
    SMSModule. cpp: 497: error: 'smsFile' was not declared in this scope

    if (smsFile)
    ^
    sketch\SMSModule.cpp: In member function 'virtual bool SMSModule: ExecCommand (const Command&, bool)':

    SMSModule. cpp: 1071: error: 'SD' was not declared in this scope

    SD. mkdir (filePath);
    ^
    SMSModule. cpp: 1076: error: 'File' was not declared in this scope

    File smsFile = SD. open (filePath,FILE_WRITE | O_TRUNC);

    ^

    SMSModule. cpp: 1076: error: expected ';' before 'smsFile'

    File smsFile = SD. open (filePath,FILE_WRITE | O_TRUNC);
    ^
    SMSModule. cpp: 1077: error: 'smsFile' was not declared in this scope

    if (smsFile)
    ^
    exit status 1
    'File' was not declared in this scope
     
  5. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Да..., Дмитрий говорил о ремонтопригодности...:aga:
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Я подправлю, в следующих релизах всё будет норм. Пока - решение я указал.

    Правка: нашёл ошибку, правлю.
     
    Последнее редактирование: 02.08.16
  7. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    его я давно закомментил :faq:
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @АлкН1, поправил настройки условной компиляции, на гитхабе обновил, пробуйте.

    По ходу сегодня день не очень: внезапно обнаружилось, что после перезагрузки ноута слетел AppServ, и теперь у мну нет вебморды. Давно хотел поставить OpenServer на предмет "попробовать" - по ходу, сегодня самое время ;)
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Зависимости, зависимости - чем больше модулей, тем раскидистее дерево. Я поправил на гитхабе, попробуйте - протестировал в различных конфигурациях модулей, использующих SD - вроде компилируется со всеми. Препроцессор - тоже не самый мощный инструмент, к слову. Напнимер, внутренний стандарт NASA вообще запрещает юзать препроцессор - не знаю, как бы я там смог такую модульную систему без него написать :)]:aga: Хотя теперь я понимаю, почему запрещают - клубок зависимостей, который раскатать порой очень сложно.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Можно порядок цен? Если неудобно здесь - можно в личку.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Скажите, где вы территориально находитесь?
     
  12. Вшуьщт1991
    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11

    Вшуьщт1991

    Участник

    Вшуьщт1991

    Участник

    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11
    Найдя ваш проект, решил попробовать реализовать его в железе. Пока остановился на таком варианте (см. фото):
    - Купил Prototype Shield, вручную развел пины под датчики (3pin: VCC, GND, signal).
    - Отдельно использую плату с дисплеем 128*64, энкодером, светодиодами. По хорошему его нужно своей колодкой подключать, учту на следующий год.
    - на фото это нет, но рядом с мегой прикрутил плату на которой стоят ESP8266 + DS3231+ SD CARD, соединяется с мегой витой парой (8 контактов как раз). По хорошему опять - же подклчюение к меге через колодку, учту на будущее.
    - сверху слева плата с 2мя реле на одно окно. Туда же подключаются 2 концевика. (в будущем заменю наверное на шилд с 8 реле. но нужно продумать куда концевые в таком случае подключать)

    Это всё пока в тестовом режиме и активно дорабатывается, поэтому не совсем красиво, прошу извинить =)
     
  13. Вшуьщт1991
    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11

    Вшуьщт1991

    Участник

    Вшуьщт1991

    Участник

    Регистрация:
    07.07.16
    Сообщения:
    44
    Благодарности:
    11
    Картинка куда-то делась...
    IMG_20160722_171912.jpg
     
  14. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    Опять ошибка...:(:(:(
    Arduino: 1.6.7 (Windows XP), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

    sketch\SMSModule.cpp: In member function 'virtual void SMSModule: Setup()':

    SMSModule. cpp: 39: error: 'GSM_SERIAL' was not declared in this scope

    GSM_SERIAL.begin (GSM_BAUDRATE);

    ^

    SMSModule. cpp: 39: error: 'GSM_BAUDRATE' was not declared in this scope

    GSM_SERIAL.begin (GSM_BAUDRATE);

    ^

    sketch\SMSModule.cpp: In member function 'void SMSModule: SendCommand (const String&, bool)':

    SMSModule. cpp: 647: error: 'GSM_SERIAL' was not declared in this scope

    GSM_SERIAL.write (command.c_str(),command.length();

    ^

    sketch\SMSModule.cpp: In member function 'void SMSModule: ProcessQueue()':

    SMSModule. cpp: 786: error: 'GSM_SERIAL' was not declared in this scope

    GSM_SERIAL.write (0x1A); / посылаем символ окончания посыла

    ^

    exit status 1
    'GSM_SERIAL' was not declared in this scope

    Может, Вы у себя закоментите так:
    #define USE_DS3231_REALTIME_CLOCK / закомментировать, если не хотим использовать модуль реального времени
    #define USE_PIN_MODULE / закомментировать, если не нужен модуль управления пинами
    /+ #define USE_TEMP_SENSORS / закомментировать, если не нужно управление окнами по температуре
    /+ #define USE_WINDOWS_SHIFT_REGISTER / использовать ли сдвиговый регистр 74HC595 для управления окнами, вместо контроля пинов напрямую (см. настройки фрамуг ниже)
    #define USE_LOOP_MODULE / закомментировать, если не нужна поддержка модуля LOOP
    #define USE_STAT_MODULE / закомментировать, если не нужна поддержка модуля статистики (FREERAM, UPTIME, DATETIME)
    /#define USE_SMS_MODULE / закомментировать, если не нужна поддержка управления по SMS
    #define USE_WATERING_MODULE / закомментировать, если не нужно управление поливом
    /+ #define USE_LUMINOSITY_MODULE / закомментировать, если не нужен модуль контроля освещенности (BH1750)
    /+ #define USE_HUMIDITY_MODULE / закомментировать, если не нужен модуль работы с датчиками влажности DHT и Si7021
    /+ #define USE_SOIL_MOISTURE_MODULE / закомментировать, если не нужен модуль датчиков влажности почвы
    /+ #define USE_LOG_MODULE / закомментировать, если не нужен модуль логгирования информации. Внимание: модуль работает только с модулем реального времени (USE_DS3231_REALTIME_CLOCK должна быть определена!)
    /+ #define USE_DELTA_MODULE / закомментировать, если не нужно собирать показания дельт с датчиков
    /+ #define USE_WATERFLOW_MODULE / закомментировать, если не нужны датчик (и) расхода воды (пин (ы) 2 (и 3) меги), настройки - см. ниже
    #define USE_COMPOSITE_COMMANDS_MODULE / закомментировать, если не нужен модуль составных команд
    /+ #define USE_RESERVATION_MODULE / закомментировать, если не нужем модуль резервирования датчиков (когда при отсутствии показаний с одного датчика показания берутся со связанных с ним).
    / модуль резервирования нужен для работы правил, если необходимо обеспечить работу правила даже тогда, когда один из датчиков вышел из строя
    #define USE_TIMER_MODULE / закомментировать, если не нужна поддержка модуля таймеров (4 таймера)
    и попробуете скомпилировать? :|:
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Кстати, вариант - юзать отдельные платы под модули, типа "плата LCD-экрана" и т. п. Надо подумать над этим.
     
Статус темы:
Закрыта.