- Компоненте потребне
- 0.96 'ОЛЕД модул екрана
- Припрема сензора МК-135
- Кружни дијаграм до интерфејса МК135 са Ардуином
- Израчунавање Р.
- Код за мерење ЦО2 помоћу сензора Ардуино МК135
- Тестирање повезивања сензора МК-135
Ниво ЦО2 у атмосфери Земље расте из дана у дан. Глобални просечни атмосферски угљен-диоксид у 2019. години износио је 409,8 делова на милион, а у октобру 2020. године 411,29. Угљен-диоксид је кључни стакленички гас и одговоран је за око три четвртине емисија. Дакле, праћење нивоа ЦО2 такође је почело да добија на значају.
У нашем претходном пројекту користили смо гравитациони инфрацрвени ЦО2 сензор за мерење концентрације ЦО2 у ваздуху. У овом пројекту користићемо сензор МК-135 са Ардуином за мерење концентрације ЦО2. Измерене вредности концентрације ЦО2 биће приказане на ОЛЕД модулу и на крају ћемо упоредити очитавања сензора Ардуино МК-135 са очитањима инфрацрвеног ЦО2 сензора. Поред ЦО2, мерили смо и концентрацију ТНГ-а, дима и гаса амонијака користећи Ардуино.
Компоненте потребне
- Ардуино Нано
- МК-135 сензор
- Јумпер Вирес
- 0.96 'СПИ ОЛЕД модул екрана
- Бреадбоард
- Отпорник од 22КΩ
0.96 'ОЛЕД модул екрана
ОЛЕД (Органске светлеће диоде) је технологија која емитује светлост и направљена је постављањем низа танких органских филмова између два проводника. Кад се на ове филмове примени електрична струја, ствара се јако светло. ОЛЕД-ови користе исту технологију као и телевизори, али имају мање пиксела него на већини наших телевизора.
За овај пројекат користимо монохроматски 7-пински ССД1306 0.96 ”ОЛЕД екран. Може да ради на три различита комуникациона протокола: СПИ 3 Вире мод, СПИ фоур-вире моде, И2Ц моде. Такође можете прочитати више о основама ОЛЕД екрана и његовим врстама читајући повезани чланак. Прибадаче и његове функције објашњене су у доњој табели:
Пин Наме |
Друга имена |
Опис |
Гнд |
Приземље |
Осовина уземљења модула |
Вдд |
Вцц, 5 В |
Напајање (3-5В подношљиво) |
СЦК |
Д0, СЦЛ, ЦЛК |
Делује као затик сата. Користи се и за И2Ц и за СПИ |
СДА |
Д1, МОСИ |
Дата пин модула. Користи се и за ИИЦ и за СПИ |
ОИЕ |
РСТ, РЕСЕТ |
Ресетује модул (корисно током СПИ) |
ДЦ |
А0 |
Дата Цомманд пин. Користи се за СПИ протокол |
ЦС |
Цхип Селецт |
Корисно када се под СПИ протоколом користи више модула |
ОЛЕД спецификације:
- ИЦ управљачког програма ОЛЕД: ССД1306
- Резолуција: 128 к 64
- Визуелни угао:> 160 °
- Улазни напон: 3.3В ~ 6В
- Боја пиксела: плава
- Радна температура: -30 ° Ц ~ 70 ° Ц
Припрема сензора МК-135
МК-135 Гасни сензор је сензор квалитета ваздуха за откривање широког спектра гасова, укључујући НХ3, НОк, алкохол, бензен, дим и ЦО2. МК-135 сензор се може купити или као модул или само као сензор сам. У овом пројекту користимо сензорски модул МК-135 за мерење концентрације ЦО2 у ППМ. Шема кола за плочу МК-135 дата је у наставку:
Отпор оптерећења РЛ игра веома важну улогу у раду сензора. Овај отпор мења вредност отпора према концентрацији гаса. Према табели података МК-135, вредност отпорника оптерећења може се кретати од 10КΩ до 47КΩ. У техничком листу се препоручује да калибришете детектор за концентрацију НХ3 или 50 ппм алкохола у ваздуху и користите вредност отпора оптерећења (РЛ) од око 20 КΩ. Али ако пратите трагове ПЦБ-а да бисте пронашли вредност вашег РЛ на плочи, можете видети отпорник оптерећења 1КΩ (102).
Дакле, да бисте измерили одговарајуће вредности концентрације ЦО2, морате да замените отпорник од 1КΩ отпорником од 22КΩ.
Кружни дијаграм до интерфејса МК135 са Ардуином
Комплетне шеме повезивања сензора за гас МК-135 са Ардуином дате су у наставку:
Коло је врло једноставно јер повезујемо само сензор МК-135 и модул ОЛЕД екрана са Ардуино Нано. МК-135 сензор за гас и модул ОЛЕД дисплеја напајају се са + 5В и ГНД. Прикључак за аналогни излаз сензора МК-135 повезан је са пином А0 Ардуино Нано-а. Будући да ОЛЕД модул екрана користи СПИ комуникацију, успоставили смо СПИ комуникацију између ОЛЕД модула и Ардуино Нано-а. Везе су приказане у доњој табели:
С.Но |
Пин модула ОЛЕД |
Ардуино Пин |
1 |
ГНД |
Приземље |
2 |
ВЦЦ |
5В |
3 |
Д0 |
10 |
4 |
Д1 |
9 |
5 |
ОИЕ |
13 |
6 |
ДЦ |
11 |
7 |
ЦС |
12 |
Након повезивања хардвера у складу са шемом кола, подешавање сензора Ардуино МК135 требало би да изгледа отприлике доле:
Израчунавање Р.
Сада када знамо вредност РЛ, наставимо како израчунати вредности Р о у чистом ваздуху. Овде ћемо користити МК135.х за мерење концентрације ЦО2 у ваздуху. Дакле, прво преузмите библиотеку МК-135, а затим загрејте сензор 24 сата пре очитавања Р о вредности. Након поступка предгревања, користите доњи код за читање Р о вредности:
#инцлуде "МК135.х" воид сетуп () {Сериал.бегин (9600); } воид лооп () {МК135 гасСенсор = МК135 (А0); // Прикачити сензор на пин А0 флоат рзеро = гасСенсор.гетРЗеро (); Сериал.принтлн (рзеро); кашњење (1000); }
Сада када сте добили Р о вредности, идите на Доцументс> Ардуино> либрариес> МК135-мастер фолдер и отворите датотеку МК135.х и промените РЛОАД & РЗЕРО вредности.
/// Отпор оптерећења на плочи #дефине РЛОАД 22.0 /// Отпорност калибрације на атмосферском нивоу ЦО2 #дефине РЗЕРО 5804.99
Сада се померите надоле и замените вредност АТМОЦО2 са тренутном атмосферском ЦО2 која износи 411,29
/// Ниво ЦО2 у атмосфери за потребе калибрације #дефине АТМОЦО2 397.13
Код за мерење ЦО2 помоћу сензора Ардуино МК135
Комплетна шифра за повезивање сензора МК-135 са Ардуином дата је на крају документа. Овде објашњавамо неке важне делове МК135 Ардуино кода.
Код користи Адафруит_ГФКС , и Адафруит_ССД1306 , и МК135.х библиотеке. Ове библиотеке можете преузети из Управитеља библиотека у Ардуино ИДЕ-у и инсталирати их одатле. За то отворите Ардуино ИДЕ и идите на Скетцх <Инцлуде Либрари <Манаге Либрариес . Сада потражите Адафруит ГФКС и инсталирајте Адафруит ГФКС библиотеку компаније Адафруит.
Слично томе, инсталирајте Адафруит ССД1306 библиотеке компаније Адафруит. Библиотеку МК135 можете преузети овде.
Након инсталирања библиотека у Ардуино ИДЕ, покрените код тако што ћете укључити потребне датотеке библиотека.
#инцлуде "МК135.х" #инцлуде
Затим дефинишите ОЛЕД ширину и висину. У овом пројекту користимо 128 × 64 СПИ ОЛЕД екран. Можете да промените СЦРЕЕН_ВИДТХ , и СЦРЕЕН_ХЕИГХТ варијабле према вашем екрану.
#дефине СЦРЕЕН_ВИДТХ 128 #дефине СЦРЕЕН_ХЕИГХТ 64
Затим дефинишите СПИ комуникационе пинове где је повезан ОЛЕД екран.
#дефине ОЛЕД_МОСИ 9 #дефине ОЛЕД_ЦЛК 10 #дефине ОЛЕД_ДЦ 11 #дефине ОЛЕД_ЦС 12 #дефине ОЛЕД_РЕСЕТ 13
Затим креирајте инстанцу приказа Адафруит са ширином и висином дефинисаном раније са СПИ комуникацијским протоколом.
Екран Адафруит_ССД1306 (СЦРЕЕН_ВИДТХ, СЦРЕЕН_ХЕИГХТ, ОЛЕД_МОСИ, ОЛЕД_ЦЛК, ОЛЕД_ДЦ, ОЛЕД_РЕСЕТ, ОЛЕД_ЦС);
Након тога, дефинишите Ардуино пин на који је повезан сензор МК-135.
инт сенсорИн = А0;
Сада унутар функције сетуп () , иницијализујте серијски монитор брзином преноса од 9600 у сврхе отклањања грешака. Такође, иницијализујте ОЛЕД екран функцијом бегин () .
Сериал.бегин (9600); дисплаи.бегин (ССД1306_СВИТЦХЦАПВЦЦ); дисплаи.цлеарДисплаи ();
Унутар функције лооп () , прво прочитајте вредности сигнала на аналогном пину Ардуина позивањем функције аналогРеад () .
вал = аналогРеад (А0); Сериал.принт ("рав =");
Затим у следећем реду позовите гасСенсор.гетППМ () да бисте израчунали вредности ППМ. Вредности ППМ израчунавају се помоћу отпорника оптерећења Р 0 и очитавања са аналогног пина.
флоат ппм = гасСенсор.гетППМ (); Сериал.принт ("ппм:"); Сериал.принтлн (ппм);
Након тога, подесите величину и боју текста користећи сетТектСизе () и сетТектЦолор () .
дисплаи.сетТектСизе (1); дисплаи.сетТектЦолор (БЕЛА);
Затим у следећем реду дефинишите позицију на којој почиње текст помоћу методе сетЦурсор (к, и) . И одштампајте вредности ЦО2 на ОЛЕД дисплеју помоћу функције дисплаи.принтлн () .
дисплаи.сетЦурсор (18,43); дисплаи.принтлн ("ЦО2"); дисплаи.сетЦурсор (63,43); дисплаи.принтлн ("(ППМ)"); дисплаи.сетТектСизе (2); дисплаи.сетЦурсор (28,5); дисплаи.принтлн (ппм);
И у последњем, позовите дисплаи () методу за приказ текста на ОЛЕД дисплеју.
дисплаи.дисплаи (); дисплаи.цлеарДисплаи ();
Тестирање повезивања сензора МК-135
Када су хардвер и код спремни, време је да тестирате сензор. За то повежите Ардуино са преносним рачунаром, одаберите плочу и порт и притисните дугме за отпремање. Затим отворите серијски монитор и сачекајте неко време (поступак предгревања), па ћете видети коначне податке. Вредности ће бити приказане на ОЛЕД дисплеју као што је приказано доле:
Тако се сензор МК-135 може користити за мерење тачног ЦО2 у ваздуху. Комплетни Ардуино код сензора квалитета ваздуха МК135 и радни видео су дати у наставку. Ако сумњате, оставите их у одељку за коментаре.