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

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

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

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

    DIYMan

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

    DIYMan

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

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



    И да - обсуждаем, предлагаем, запрашиваем фичи на реализацию. In short - не стесняемся и машем ;)
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Так, ребята, нарисовалась одна идеологически и расово вредная проблема с GSM-модулем, а именно: я из порта RX читаю и вываливаюсь по таймауту, если ничего в порту нет. Если модуль не подключен к питанию - каждые две секунды я вишу пару секунд до отработки таймаута, что блокирует обработку других команд, приходящих от конфигуратора - в итоге в конфигураторе команды проходят медленно и печально.

    Как я понял, нормального способа определить, что на RX/TX чего-нибудь присутствует - нету, да и быть не может. Вопрос в следующем: как мне по высокому уровню сигнала на каком-нибудь пине определять, есть ли питание у модуля? Вернее - определить-то я определю, задача такая:

    1. У GSM-модуля есть разведённые контакты RX/TX, GND, VCC, всё (ну или я невнимательно смотрел). Как понять, что модуль запитан, и только в этом случае начинать посылать ему команды? Учитывая тот факт, что в дальнейшем всё это добро будет питаться от одного БП? Я так понимаю - надо что-то типа ноги VCCIO, на которой будет сигнал, если к модулю подключено питание, так?

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

    З. Ы. Всё, нашёл ножку, на которой +5В, если к модулю питание подведено. Подключать буду, подтягивая пин ардуино к земле резистором на 100К - думаю, этого будет достаточно.
     
    Последнее редактирование: 26.01.16
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Попробовал в деле - в натуре, при входящем звонке на этом пине низкий уровень, не судьба его использовать как монитор наличия питания у модуля. Другие идеи, кроме подпаяться прямо к чипу? Боюсь испорчу - опыт паяния очень мал.
     
  5. karavaev
    Регистрация:
    17.01.16
    Сообщения:
    16
    Благодарности:
    14

    karavaev

    Участник

    karavaev

    Участник

    Регистрация:
    17.01.16
    Сообщения:
    16
    Благодарности:
    14
    Для удобства избавится от внешних резистором можно подтянуть выводы с помощью константы PUT_PULLUP и OUTPUT

    https://arduino.ua/ru/prog/Constants
     
  6. karavaev
    Регистрация:
    17.01.16
    Сообщения:
    16
    Благодарности:
    14

    karavaev

    Участник

    karavaev

    Участник

    Регистрация:
    17.01.16
    Сообщения:
    16
    Благодарности:
    14
    Вроде вы раньше писали что для питания модуля GSM нужно 3.3в
    так на модуле меге есть источник питания 3.3 возьмите питание от туда
     
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Не потянет, у GSM-модуля в пике до 2А, порт меги просто выгорит.
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    В общем, буду паяться к VCCIO выходу GSM-модуля, других вариантов проверить запитку модуля, судя по даташиту - нет. Пожелайте мне удачи ;)
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Всё, решил проблему - подпаялся к ноге VCCIO чипа - ну как подпаялся: так, соплю посадил :) От этой ноги на пин 2 меги вывел сигнал, подтянув пин 2 к земле резистором на 100К. Проверил - работает, если GSM-модуль обесточен - то ничего не тормозит в конфигураторе.

    Заодно поправил ошибку в декодировщике сообщений: когда длинные приходили - контроллер вис. А всё знаете из-за чего? Смотрите:
    Код:
    String PDUMessageDecoder::getUTF8From16BitEncoding(const String& ucs2Message)
    {
      String result;
    
      unsigned char buff[6] = {0};
      for(uint8_t i=0;i<ucs2Message.length();i+=4)
    Кто первым найдёт косяк - тому респект и уважуха. Вот что значит - невнимательно и быстро писать код! :mad::no:

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Обновил на гитхабе, пофиксил проблему разбора длинных SMS, добавил первую версию модуля контроля полива, скрин ниже:

    screen.png

    Конфигуратор теперь при старте не показывает все вкладки. Вкладки показываются только после коннекта к контроллеру, в зависимости от того, какие модули зарегистрированы в контроллере. То есть, например, если вам не нужен модуль управления по SMS и вы исключили его из прошивки директивами условной компиляции - то вкладка "СМС-управление" показана не будет, что вполне логично.

    Пробуйте, высказывайте пожелания. Для полива пока сделал простейшие настройки - выбор дней недели, когда поливать, включение/выключение автоматического контроля полива, да сколько поливать. Думаю, для начала этого вполне достаточно, тем более - что ничего более не написано, только сохранение настроек полива в контроллере.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Сегодня пришёл датчик освещённости на чипе BH1750, вот такой: https://www.aliexpress.com/item/GY-302-BH1750-Chip-Light-Intensity-Light-Module/1954232482.html Как дойдут руки и вообще - если будет нужда в его применении - буду пилить его. Но пока это не в приоритете.
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    В общем, распаял колодку, правда, не ровно под 90 градусов (не вертикально стоит) - но тут сам виноват - надо было перед пайкой соплю на первую ножку посадить и по этой сопле выровнять прямой угол. Учту на будущее.

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

    На гитхабе обновил, скрин новой версии конфигуратора ниже:

    screen.png

    Так что с освещенностью можно работать и дальше - костяк уже заложен. А я чего, собственно, полез-то? Оченно мне хотелось посмотреть и проверить, как на шине I2C уживутся модуль часов и датчик освещенности. Ну не верят у меня в семье джентльменам на слово, хоть ты тресни :)]:aga: Проверить-то всё равно хочется ;)

    З. Ы. И вообще - чего это за такое молчание в последние дни? Скучные вы, уйду я от вас :)]:aga:
     
  14. karavaev
    Регистрация:
    17.01.16
    Сообщения:
    16
    Благодарности:
    14

    karavaev

    Участник

    karavaev

    Участник

    Регистрация:
    17.01.16
    Сообщения:
    16
    Благодарности:
    14
    Модуля GSM, освещенности и часов ds3231 у меня нет
    так что могу только проверять как работает все остальное. РАБОТАЕТ
    Когда сделаете контроль за температурой на ds18b20, то уже смогу проверить как реагирует контролер. Так же есть в наличии датчик влажности SHT10
    Можно ли прикрутить вместо ds3231 модуль Tiny RTC DS1307?
     
  15. Goodwil
    Регистрация:
    14.04.12
    Сообщения:
    2.881
    Благодарности:
    2.415

    Goodwil

    Живу здесь

    Goodwil

    Живу здесь

    Регистрация:
    14.04.12
    Сообщения:
    2.881
    Благодарности:
    2.415
    Адрес:
    Липецк, Россия
    Многие пока что только смотреть могут:aga:, ибо посылки от Китайских друзей могут идти до 3-х месяцев...
     
Статус темы:
Закрыта.