ARDUINO Часы-метеостанция. Обсуждение проекта

Andrey4

✩✩✩✩✩✩✩
30 Апр 2020
2
0
Всем привет.
Не работает датчик MHZ19B (или я что-то не понимаю). Распаковал датчик, подключил как указано в примере библиотеки mhz19_uart MHZ19_getppm на пины D4 и D5. Питание от 5V ардуины. В мониторе порта:

MH-Z19 now warming up... status:error: can't get MH-Z19 response.
-1
error: can't get MH-Z19 response.

Вот думаю либо мне так неповезло, что второй датчик пришёл тоже неисправный (BME-280 пришёл нерабочий), толи я что-то не так делаю. Пока есть время открыть спор на алике.

В файле libraries\mhz19_uart\src\MHZ19_uart.h пробовал изменить строку на
uint8_t getppm[REQUEST_CNT] = {0xff, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x79};
изначально было
uint8_t getppm[REQUEST_CNT] = {0xff, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00};

Ждал по 3 минуты. Индикатор внутри датчика мигает красным.
 

N0rdling

★✩✩✩✩✩✩
15 Янв 2020
154
20
Не работает датчик MHZ19B
Во-первых, если внутри датчика вспыхивает огонек (виден через окошки датчика, заклеенные белым материалом), то, скорее всего, он рабочий.
Во-вторых, попробуй поменять местами D4 и D5, Tx датчика должен быть подключен к Rx ардуино, а Rx датчика, соответственно, к Tx ардуино.
В-третьих, попробуй загрузить в ардуино пример из библиотеки и проверить работоспособность датчика.
 
  • Лойс +1
Реакции: Andrey4

Andrey4

✩✩✩✩✩✩✩
30 Апр 2020
2
0
Во-вторых, попробуй поменять местами D4 и D5, Tx датчика должен быть подключен к Rx ардуино, а Rx датчика, соответственно, к Tx ардуино.
Действительно, дело оказалось в этом, спасибо за помощь!

Решил, что там прямое подключение, т.к. глянул в программе Алекса, что у него:
#define MHZ_RX 2
#define MHZ_TX 3
И на кантинке RX датчика идёт в D2, а TX датчика идёт в D3
Так же прямо подключил и в примере библиотеки.
А оказалось у них инициализация дальше разная.
mhz19.begin(rx_pin, tx_pin); против mhz19.begin(MHZ_TX, MHZ_RX);

При том пример в библиотеке какой-то странный. Там в setup есть цикл с условием mhz19.isWarming(). Так вот по идее видимо в какой-то момент эта функция должна вернуть 0 и программа должна перейти к цикл loop вывода данных с датчика, но этого не происходит в течении более 5 мин.

Если это убрать, то выводится всё отлично.

Кстати,
uint8_t getppm[REQUEST_CNT] = {0xff, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x79};
изначально было
uint8_t getppm[REQUEST_CNT] = {0xff, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00};
не влияет никак, и так и так работает (разве что этот файл брался из какого-нибудь кэша, что навряд ли)
 

shakh

✩✩✩✩✩✩✩
30 Мар 2020
1
0
Собрал метеостанцию - всё работает отлично за исключением одного.

Такая проблема: при подключенном датчике MHZ19B каждые пять секунд при срабатывании датчика происходит падение напряжения, при котором моргает экран. Я это смог победить, подключая дополнительное питание в виде кроны к датчику с соединением земли к ардуино.

Может кто-то сталкивался? Есть ли какое-то более корректное решение проблемы?
Собрал эту метеостанцию сначала без датчика СО2, потом пришел датчик, подключил - все работает. Спасибо автору.
Однако несклько напрягало мигание подсветки в момент включения светодиода в датчике СО2. Пробовал и конденсаторы по питанию до 10000мкФ+0,1, и развязку диодами с конденсаторами после них, и блоки питания 2А и даже 3А - мигает. Хотя вполне себе работет от usb ноутбука (прввда мигает сильнее), т.е. ток не такой уж и большой в импульсе.
Выход нашел в применении двух блоков питания китайских 5В-0,7А. Они маленикие и вошли в корпус от старой зарядки на 2А. Один блок питания только на датчик СО2, второй на остальную схему. Выводы Gnd соединены вместе, а 5В идут по отдельным проводам. Шнур питания трехпроводный самодельный в кембрике.
 

2012de

✩✩✩✩✩✩✩
24 Мар 2020
25
0
Приветствую!
Вот, тоже собрал данные часы-метео.. Но заметил одну «проблему» в них.
Мерцает экран, каждые 5сек. На макси яркости и на мини.
Всё подключено по схеме АlexGyver . Присутствуют все датчики. Подведено отдельное питание 5v.
В чём может быть проблема, не поможете разобраться?
Или это особенность этих часов и у всех так?

1 скрин - нормальный экран
2 скрин - в момент мерцания (1 секунда)

1.jpg2.jpg
 

Dadza

★★✩✩✩✩✩
29 Окт 2019
51
66
Минск
Приветствую!
Вот, тоже собрал данные часы-метео.. Но заметил одну «проблему» в них.
Мерцает экран, каждые 5сек. На макси яркости и на мини.
Всё подключено по схеме АlexGyver . Присутствуют все датчики. Подведено отдельное питание 5v.
В чём может быть проблема, не поможете разобраться?
Или это особенность этих часов и у всех так?

1 скрин - нормальный экран
2 скрин - в момент мерцания (1 секунда)

Посмотреть вложение 12982Посмотреть вложение 12983
у меня так было ,когда подключал питание от usb arduino. Как только начал питать от отдельного блока, мерцание пропало.
 

XAMEJIUOH

✩✩✩✩✩✩✩
30 Янв 2020
4
1
Приветствую!
Вот, тоже собрал данные часы-метео.. Но заметил одну «проблему» в них.
Мерцает экран, каждые 5сек. На макси яркости и на мини.
Всё подключено по схеме АlexGyver . Присутствуют все датчики. Подведено отдельное питание 5v.
В чём может быть проблема, не поможете разобраться?
Или это особенность этих часов и у всех так?

1 скрин - нормальный экран
2 скрин - в момент мерцания (1 секунда)

Посмотреть вложение 12982Посмотреть вложение 12983
Проверил теорию @Dadza, оказалось, что от разных блоков по разному, от зарядки универсальной моргает очень сильно, от блока питания чуть заметно. подключен через отдельный USB
 

N0rdling

★✩✩✩✩✩✩
15 Янв 2020
154
20
Победил у себя проблему мерцания экрана при измерении СО2. Во-первых, отдельное гнездо miniUSB для питания. Во-вторых отдельные провода на питание MHZ19B, и отдельные на питание ардуины и остальной требухи.
 

palikar

✩✩✩✩✩✩✩
22 Янв 2020
9
0
Калининград
Всем привет.
Сделал часы-метеостанцию по проекту гайвера. Вроде всё запустилось, работало, но потом картинка на дисплее зависла, на кнопку нет реакции.
Теперь после включения просто горят 1ая и 3я строки, без символов, просто сплошные линии.
Пробовал по-одному отпаивать все модули. Пробовал ардуину менять, ничего не помогло.
Но если бы был косяк с дисплеем, то вся схема работала бы и rgb светодиод горел бы, но он не горит.
Это произошло после того, как я калибровал датчик СО2, замыкал HD на землю.
 

Вложения

NoGood

✩✩✩✩✩✩✩
25 Янв 2019
9
1
У меня проблема с датчиком этим геморройным СО2. Собрал устройство, откалибровал датчик на улице и около месяца он работал вроде нормально. При проветривании комнаты показывал 400-450, если закрыть все окна, то постепенно показания увеличивались до 600-700. Так он проработал около месяца. Потом постоянно стал показывать в комнате 400. Если подышать на него, то показания до 2500 уеличивает. Т.е. вроде работает, но в комнате теперь всегда 400 показывает. Калибровал его много раз уже. Результат - те же 400 в комнате при любых условиях. Тут на форуме видел у кого-то вроде была похожая проблема. Как-то удалось победить или это просто датчику кирдык?

Подозреваю еще, что это может быть из-за автокалибровки датчика, т.к. в комнате почти всегда окно открыто и выше 500 ррм редко показывало, когда все работало исправно. Есть мысли по поводу этого? Можно как-то автокалибровку отключить? И вообще полный сброс параметров ему можно как-то сделать и заново откалибровать (ну кроме известного способа с замыканием ног при калибровке)?
 
Изменено:

Edem2005

✩✩✩✩✩✩✩
20 Апр 2020
4
1
У меня проблема с датчиком этим геморройным СО2. Собрал устройство, откалибровал датчик на улице и около месяца он работал вроде нормально. При проветривании комнаты показывал 400-450, если закрыть все окна, то постепенно показания увеличивались до 600-700. Так он проработал около месяца. Потом постоянно стал показывать в комнате 400. Если подышать на него, то показания до 2500 уеличивает. Т.е. вроде работает, но в комнате теперь всегда 400 показывает. Калибровал его много раз уже. Результат - те же 400 в комнате при любых условиях. Тут на форуме видел у кого-то вроде была похожая проблема. Как-то удалось победить или это просто датчику кирдык?

Подозреваю еще, что это может быть из-за автокалибровки датчика, т.к. в комнате почти всегда окно открыто и выше 500 ррм редко показывало, когда все работало исправно. Есть мысли по поводу этого? Можно как-то автокалибровку отключить? И вообще полный сброс параметров ему можно как-то сделать и заново откалибровать (ну кроме известного способа с замыканием ног при калибровке)?
Я так понимаю этот датчик меньше 400 не показывает. Поэтому если у вас в комнате ~ 250-400, он будет показывать всегда 400.... Поскольку после того как поставил сам прибор дома, стал тщательно следить за СО2, поэтому стал чаще открывать окна (включать вентиляцию), да и на улице потеплело, повеснело, поэтому снизился уровень СО2 в общем. Пока кипишевать не стоит)....... это нормально)...... Это мое личное наблюдение..... Может быть и не так..... Но как я окно закрываю, уровень повышается)....
P.S. И еще, я так понимаю после принудительной калибровки, нужно опять перепрошиться, чтобы отключить автокалибровку....... походу, судя по жалобам, она после принудиловки все таки включается (не знаю правда как)..... может и не так, но я так сделал.

Всем привет! У кого нибудь есть скетч без датчика CO2?
47 #define CO2_SENSOR 1 // включить или выключить поддержку/вывод с датчика СО2 (1 вкл, 0 выкл) попробуй так. Или нужно уменьшить вес скетча? Так закомментируй (в скетче поставь // перед какой нужно строкой, цвет строки должен измениться на серый) все где есть CO2_SENSOR...

Еще здесь на форуме завести бы шапочку...... чтобы не лопатить все..... было бы прикольно)))

Всем кто юзает этот прибор совет - после прошивки не требуйте от него сразу всех показателей! Дайте хоть пару часов поработать... набрать данные и т. п....
 
Изменено:
  • Лойс +1
Реакции: РЕМ

РЕМ

✩✩✩✩✩✩✩
20 Мар 2020
6
2
Я имел ввиду обычный модуль DS3231 RTC (не микро) . Там один диод и резистор в цепи зарядки, которую надо разомкнуть убрав элемент или перерезав дорожку.Посмотреть вложение 3706
Всем привет. Уровень-новичок.
DS3231 работают странно: сначала отставали, потом шли ровно и снова стали ломаться.
Всё проверил: контакт есть с батарейкой и на 13, 14 ножках выдаёт норму. В очередной раз модуль стал выделываться и я перешёл к решительным действиям и удалил диод :D Его просто удалить или необходимо замкнуть цепь, диода то нет?

Монитор порта пишет, что не может найти RTS ("Couldn't find RTC") . На lcd показывает (165:165:162). Я сломал модуль?
 
Изменено:

Старик Похабыч

★★★★★★★
14 Авг 2019
4,266
1,303
Москва
"rtc.adjust(DateTime(F(DATE), F(TIME)));" эта команда будет выставлять время компиляции! Первую строку можно вообще удалить. А потом надо прошить со строкой где DATE и TIME. И еще раз прошить где этой строки нет. Иначе у тебя при каждом сбое питания будет выставляться время компиляции
 
  • Лойс +1
Реакции: РЕМ

Evgeniy 21

✩✩✩✩✩✩✩
16 Фев 2020
2
0
Всем привет! Подскажите пожалуйста, хочу откалибровать датчик MH-Z19b, но метеостанция еще не собрана. Читал, что нужно замкнуть HD на землю. Это нужно делать при подключенном датчике к Arduino (по схеме Гайвера) и при загрузке скетча из примеров библиотеки (при этом датчик, ардуино и ноутбук находятся на балконе)? Или можно просто вынести датчик на балкон и замкнуть HD на землю? Извините за глупый вопрос.
 

NoGood

✩✩✩✩✩✩✩
25 Янв 2019
9
1
Я так понимаю этот датчик меньше 400 не показывает. Поэтому если у вас в комнате ~ 250-400, он будет показывать всегда 400.... Поскольку после того как поставил сам прибор дома, стал тщательно следить за СО2, поэтому стал чаще открывать окна (включать вентиляцию), да и на улице потеплело, повеснело, поэтому снизился уровень СО2 в общем. Пока кипишевать не стоит)....... это нормально)...... Это мое личное наблюдение..... Может быть и не так..... Но как я окно закрываю, уровень повышается)....
P.S. И еще, я так понимаю после принудительной калибровки, нужно опять перепрошиться, чтобы отключить автокалибровку....... походу, судя по жалобам, она после принудиловки все таки включается (не знаю правда как)..... может и не так, но я так сделал.
У меня теперь что при открытом окне, что при закрытом всегда 400 показывает, даже если полдня в комнате сидеть. Раньше если окно закрыть, то за 600 медленно поднималось. При этом чувствую сам, что в комнате дышится хуже.
Всем привет! Подскажите пожалуйста, хочу откалибровать датчик MH-Z19b, но метеостанция еще не собрана. Читал, что нужно замкнуть HD на землю. Это нужно делать при подключенном датчике к Arduino (по схеме Гайвера) и при загрузке скетча из примеров библиотеки (при этом датчик, ардуино и ноутбук находятся на балконе)? Или можно просто вынести датчик на балкон и замкнуть HD на землю? Извините за глупый вопрос.
Да просто на улицу выносишь и замыкаешь.
 

Edem2005

✩✩✩✩✩✩✩
20 Апр 2020
4
1
У меня теперь что при открытом окне, что при закрытом всегда 400 показывает, даже если полдня в комнате сидеть. Раньше если окно закрыть, то за 600 медленно поднималось. При этом чувствую сам, что в комнате дышится хуже.
Еще попробуй переткнуть питание (если не жалко потерять накопленные данные), если начинает с 410 показывать, то датчик работает. И еще, если экран мерцает каждые пять сек., то это тоже показатель работы датчика. ИМХО. Ну и еще попробуй перезалить скетч. Только не забудь в строке 474 mhz19.setAutoCalibration(false); поставить false!

Тут спрашивали что в DEBAG 1 пишет датчик BME280 - ERROR, но он работает, то в строке 506 if (bme.begin(&Wire)) { , вместо (&Wire) вставляем свой адрес датчика. У кого 0x77, у кого 0x76! Должно выглядеть так - if (bme.begin(0x77)).
 
Изменено:

Evgeniy 21

✩✩✩✩✩✩✩
16 Фев 2020
2
0
Всем привет. Ребята подскажите, если экран мерцает каждые 5 секунд (не значительно), советуют поставить электролитический конденсатор. Скажите, каким напряжением и какой емкости следует брать?И чем будет обосновываться выбор?
 

ssp1971

★★✩✩✩✩✩
14 Мар 2020
108
71
ёмкость от 1000 мкФ, напряжение больше напряжения питания. Я 4700 поставил. Мерцание может быть следствием импульсного БП. Советую поменять. мерцание подсветки может быть следствием пограничной зоны между светлой и тёмной зоны (при наличии фоторезистора конечно)
 
  • Лойс +1
Реакции: Evgeniy 21

ProkVya

★✩✩✩✩✩✩
26 Апр 2020
2
14
Моя версия прошивки. За основу взял версию v1.5c24 (https://github.com/Norovl/meteoClock)

Доработки:

- Два дополнительных под режима настроек с возможностью вкл/выкл авто калибровки и запуска калибровки на открытом воздухе MHZ19

- Сделан режим сна (выключение подсветки дисплея) включающийся при нажатии на копку более 4 секунд

- Сделана возможность в настройках скетча убирать из кода экраны с демонстрацией высоты над уровнем моря.

- Для сокращения объёма кода заменены библиотеки на аналогичные "micro"

- Сделано более плавное изменение яркости экрана (АВТО 2)

На экране 2х14 не тестировал.

Корпус от видеокассеты. Вся схема на разъемах. Узлы сделаны из спаянной гребенки в термоусадке.
 

Вложения

NoGood

✩✩✩✩✩✩✩
25 Янв 2019
9
1
Еще попробуй переткнуть питание (если не жалко потерять накопленные данные), если начинает с 410 показывать, то датчик работает. И еще, если экран мерцает каждые пять сек., то это тоже показатель работы датчика. ИМХО. Ну и еще попробуй перезалить скетч. Только не забудь в строке 474 mhz19.setAutoCalibration(false); поставить false!
Делал все это. Подышишь на датчик - он меняет показания, т.е. рабочий. 410 при включении показывает. В остальных случаях всегда 400. Я хз знает что с ним такое...