Pull to refresh

Comments 25

Около месяца назад подозрительно похожа статья была на MySku: http://mysku.ru/blog/aliexpress/40219.html
Да, это моя статья, и она действительно похожа.
Хотелось бы по подробнее узнать как вы реализовали считывание СО2 уровня с этого датчика, так как по моим опытам показания от последующих считываний скачут значительно и следует усреднять показания за н-ное количество циклов.
Это есть в исходных скриптах.
Примерно так:
local function pin1cb(level) -- Функция обработки прерывания
local tt = tmr.now()/1000; -- получаем текущее время
if level == 1 then Если уровень высокий
h = tt;
tl = h - l; -- вычисляем промежуток времени прошедший с предыдущего цикла
ppm = 5000 * (th - 2) / (th + tl - 4) -- вычисляем значение со2 по формуле из даташита.
if ppm>300 then ListTime[3]={time=tmr.time(), data=ppm} end; -- Если данные похожи на правду записываем их в глобальную переменную
else -- если низкий фронт
l = tt; -- сохраняем текущее время
th = l - h; -- вычисляем прошедшее время с предыдущего цикла
end
if c>3 then gpio.mode(1,gpio.INPUT) print('pp1',ppm) return ppm end -- если прошло больше 3 циклов считаем что значение получено
c=c+1
if level == 1 then gpio.trig(1, "down") else gpio.trig(1, "up") end -- переключаем прерывание с повышающегося фронта на понижающий и обратно.
end

gpio.mode(1,gpio.INT) -- устанавливаем 1 пин в режим прерывания
gpio.trig(1, "up",pin1cb) -- настройка прерывания на 1 пине. Если фронт сигнала возрастает вызываем функцию pin1cb


У меня нет проблем с скачущими значениями. Считываю все подряд. Даже когда прибор стоит у окна и вокруг него неспокойная воздушная обстановка. Значения конечно скачут. Но плюс/минус 150 — 250 ppm за 10 минут. И это похоже на реальную картину.
Проверьте у себя питание, на всякий случай, осциллографом. Вполне вероятно что с ним что-то не так ибо совсем скачкообразных значений там быть не должно.
Да думаю я зря волнуюсь на счет скачкообразности, в моем случае они в пределах 50 ppm в пустой квартире и 100ppm когда кто-то присутствует при измерениях каждые 10 минут (при этом каждый замер это 5 усредненных PWM циклов) Просто на графике народмон такие скачки не очень эстетично выглядят. Питаю кстати от китайского БП на 5 вольт, который на самом деле дает 5,6в, а вся схема напичкана конденсаторами. Сам CO2 датчик во время «мигания» потребляет ~45мА.

Кстати, самое крутое что я наблюдал этим датчиком было дыхание маленького деревца которое живет у меня в гостиной. Когда я уезжал из дома на несколько дней, по ночам CO2 медленно поднимался до самого утра, а потом резко падал с наполнением комнаты светом.

В моем случае я собрал погодную станцию в связке Atmega328+ESP8266+BMP180+MH-Z19 и наружный датчик с автономным питанием на Atmega328+light sensor+DHT22 отправляющий данные по 433mhz каналу.
Писал прошивку для подобного устройства, с тем же СО2-датчиком и тем же дисплеем — на lua постоянно получал ошибку про нехватку памяти для прошивки. Плюнул — и написал все в Arduino IDE. Получилось компактнее и понятнее, а lua — забыл как страшный сон.
Не соглашусь. Это довольно простой проект, и очень не критичный к ресурсам.
У меня есть другой проект где несколько десятков программных модулей, десяток датчиков, управление оборудованием, обработка связи по WIFI.
И все нормально работает.
Да о памяти конечно приходится задумываться, но не настолько критично.
Лично мне нравится lua своим изяществом, универсальностью, и очень быстрой отладкой.
Если речь о NodeMCU, то тоже столкнулся с проблемой нехватки памяти, причём на довольно простом скрипте. Позже оказалось, что есть какой то лимит на размер одного файла, поэтому скрипт нужно разбивать на модули, иначе будет ошибка нехватки памяти. Но, по-моему, писать на Си не сильно сложнее, чем на Lua, особенно когда стоит задача поморгать светодиодом с использованием готового модуля.
Для меня в Lua есть одна совершенно замечательная особенность. Можно в готовое, работающее устройство добавлять и изменять скрипты на ходу. Через USB или WiFi. Мне нравится что можно добавлять и менять функциональность в живую, просто пересылая из управляющей программы на PC скрипты. Проблема с памятью решается разбиением на модули и правильным их оформлением. В том числе широким использованием локальных переменных и функций.
На делфи еще пишут?! Расскажите пожалуйста современное применение данного языка.
Последний раз встречал делфи года три назад на производственной фирме где люди со стажем по 5-10 лет на нем работают и банально нет времени и средств переучиваться и переводить процесс на что-то поновее.
Есть какие-то перспективы или отрасли конкретно под этот язык?
Вроде пишут, по идее даже десктопный AIMP на нём написан. Хотя я сам не особо в теме.
Я (и не только я) на работе пишу клинские места в клиент-серверных проектах на delphi. И да, контора работает уже 15 лет.
Delphi универсальный язык, какая в сущности разница, что на нем писать, если это не сказывается на результат?
> На делфи еще пишут?! Расскажите пожалуйста современное применение данного языка.
Total Commander — достаточно современное применение? 32-битная версия до сих пор компилируется в очень старой версии Delphi. 64-битная — в Lazarus.
UFO just landed and posted this here
По деньгам примерно 3000р за детали + корпус от 200р до 1500р Мне корпус достался бесплатно.
По времени — сейчас могу повторить за 1 день. Когда делал, экспериментировал, переделывал, думал…
Месяц наверное.
Мне понравилось, как получилось! Вы — молодец. Такое бы в каждый офис.
Скажите, а где контроль влажности? Это вообще-то важный показатель для самочувствия. А если есть дети — очень важный показатель (от которого зависит, например, ваш сон по ночам).
В офисе не актуально. Там влажностью нет ни какого способа управлять. Для дома несомненно актуально. Прикрутить датчик влажности не проблема, надо придумать как вписать показания в интерфейс. Есть такие заявки, я над этим думаю.
Насчет сна у меня нет такой информации. Знаю что вреден сухой воздух при длительном воздействии, как для человека, так и для некоторого оборудования и книг. Сухой воздух вызывает пересыхание слизистых оболочек и повышает вероятность заболеть ОРЗ. Зимой, без увлажнения, типично 40% влажности всего. Зимой, вентилируя помещение, снижаем влажность, так что ориентация на СО2 без учета влажности может быть вредна. Получим низкое содержание СО2, но при пересушенном воздухе.
Спасибо за материал, интересно. Подскажите плз, а какой из датчиков лучше брать?
В описании на ебее написано:
Measuring Range
0~2000 ppm
0~5000 ppm
Please let us know the measuring range you need in the Remarks. If no remarks, we will ship 0~5000ppm by default.

И кстати, $29.58+free shipping за датчик это адекватная цена?
По ссылкам на статьи автора можно найти как он подбирал компоненты:
drive.google.com/file/d/0B4KYGXb6-nxpZVc0Z2trU2VHRUE/view

Там приведена ссылка на датчик MH-Z19 за 24$ (1700 Р)
ru.aliexpress.com/item/1PCS-module-MH-Z19-infrared-co2-sensor-for-co2-monitor-Free-shipping-new-stock-best-quality/32643995676.html

— Migrator, было бы не плохо добавить информацию о детальках в статью, для полноценной, так сказать, инструкции.
Также, если посмотреть Ваше видео о приборе без корпуса, можно увидеть не указанный блок питания для макетирования MB102 (3,3В 5В)

Спасибо
Собственно Вы дали исчерпывающую информацию:) Блок питания оказался лишним, от микро USB питания вполне достаточно.
Дороговато будет. На Алли, С платной доставкой получается US $25.93. Трудно сказать. С одной стороны 2000 это уже ахтунг. С другой, точность у них одинаковая. У меня 5000. Меня устраивает.

Это был ответ для DmitrySpb79
Sign up to leave a comment.

Articles