- Компоненте потребне
- Схарп сензор ГП2И1014АУ0Ф
- ОЛЕД модул екрана
- Кружни дијаграм
- Изградња круга на Перф Боарду
- Објашњење кода за анализатор квалитета ваздуха
- Тестирање међусобног повезивања Схарп ГП2И1014АУ0Ф сензора са Ардуином
Загађење ваздуха главно је питање у многим градовима, а индекс квалитета ваздуха се сваким даном погоршава. Према извештају Светске здравствене организације, више људи превремено страда од последица опасних честица које се налазе у ваздуху него од аутомобилских несрећа. Према Агенцији за заштиту животне средине (ЕПА), ваздух у затвореном може бити 2 до 5 пута токсичнији од спољашњег. Дакле, овде градимо пројекат за праћење квалитета ваздуха мерењем густине честица прашине у ваздуху.
Дакле, у наставку наших претходних пројеката као што су ЛПГ детектор, детектор дима и Монитор квалитета ваздуха, овде ћемо повезати Схарп ГП2И1014АУ0Ф сензор са Ардуино Нано за мерење густине прашине у ваздуху. Поред сензора за прашину и Ардуино Нано, ОЛЕД екран се такође користи за приказ измерених вредности. Схарпов сензор прашине ГП2И1014АУ0Ф врло је ефикасан у откривању врло финих честица попут цигаретног дима. Дизајниран је за употребу у прочистачима ваздуха и клима уређајима.
Компоненте потребне
- Ардуино Нано
- Схарп сензор ГП2И1014АУ0Ф
- 0.96 'СПИ ОЛЕД модул екрана
- Јумпер Вирес
- Кондензатор 220 µф
- Отпорник 150 Ω
Схарп сензор ГП2И1014АУ0Ф
Схарпов ГП2И1014АУ0Ф је сићушни шест-пински аналогни излазни оптички сензор за квалитет ваздуха / оптички прах који је дизајниран да детектује честице прашине у ваздуху. Ради на принципу ласерског расипања. Унутар сензорског модула, инфрацрвена диода и фотосензор су дијагонално распоређени у близини рупе за улаз ваздуха, као што је приказано на доњој слици:
Када ваздух који садржи честице прашине уђе у комору сензора, честице прашине распршују ИР ЛЕД светлост према фото-детектору. Интензитет расејане светлости зависи од честица прашине. Што је више честица прашине у ваздуху, то је већи интензитет светлости. Излазни напон на В ОУТ пину сензора мења се у складу са интензитетом расејане светлости.
ГП2И1014АУ0Ф Пиноут сензора:
Као што је раније поменуто, ГП2И1014АУ0Ф сензор има 6-пински конектор. Доња слика и табела приказују додељивања пинова за ГП2И1014АУ0Ф:
С. БР. |
Пин Наме |
Пин Десцриптион |
1 |
В-ЛЕД |
ЛЕД Вцц пин. Повежите се на 5В кроз 150Ω отпорник |
2 |
ЛЕД-ГНД |
ЛЕД Гроунд Пин. Повежите се са ГНД |
3 |
ЛЕД |
Користи се за укључивање / искључивање ЛЕД диода. Повежите се на било који дигитални пин Ардуина |
4 |
С-ГНД |
Осовина уземљења сензора. Повежите се са ГНД-ом Ардуина |
5 |
В ОУТ |
Аналогни излазни пин сензора. Повежите се на било који аналогни пин |
6 |
В ЦЦ |
Позитивни пин за напајање. Повежите се на 5В Ардуина |
Спецификације сензора ГП2И1014АУ0Ф:
- Ниска потрошња струје: 20мА мак
- Типични радни напон: 4,5В до 5,5В
- Минимална величина прашине која се открива: 0,5µм
- Опсег осетљивости густине прашине: до 580 уг / м 3
- Време осетљивости: Мање од 1 секунде
- Димензије: 46,0 к 30,0 к 17,6 мм (1,81 к 1,18 к 0,69 '')
ОЛЕД модул екрана
ОЛЕД (Органске светлеће диоде) је технологија која емитује светлост и направљена је постављањем низа танких органских филмова између два проводника. Кад се на ове филмове примени електрична струја, ствара се јако светло. ОЛЕД-ови користе исту технологију као и телевизори, али имају мање пиксела него на већини наших телевизора.
За овај пројекат користимо монохроматски 7-пински ССД1306 0.96 ”ОЛЕД екран. Може да ради на три различита комуникациона протокола: СПИ 3 Вире мод, СПИ фоур-вире моде, И2Ц моде. Прибадаче и његове функције објашњене су у доњој табели:
Већ смо детаљно обрадили ОЛЕД и његове врсте у претходном чланку.
Пин Наме |
Друга имена |
Опис |
Гнд |
Приземље |
Осовина уземљења модула |
Вдд |
Вцц, 5 В |
Напајање (3-5В подношљиво) |
СЦК |
Д0, СЦЛ, ЦЛК |
Делује као затик сата. Користи се и за И2Ц и за СПИ |
СДА |
Д1, МОСИ |
Дата пин модула. Користи се и за ИИЦ и за СПИ |
ОИЕ |
РСТ, РЕСЕТ |
Ресетује модул (корисно током СПИ) |
ДЦ |
А0 |
Дата Цомманд пин. Користи се за СПИ протокол |
ЦС |
Цхип Селецт |
Корисно када се под СПИ протоколом користи више модула |
ОЛЕД спецификације:
- ИЦ управљачког програма ОЛЕД: ССД1306
- Резолуција: 128 к 64
- Визуелни угао:> 160 °
- Улазни напон: 3.3В ~ 6В
- Боја пиксела: плава
- Радна температура: -30 ° Ц ~ 70 ° Ц
Сазнајте више о ОЛЕД-у и његовом повезивању са различитим микроконтролером пратећи везу.
Кружни дијаграм
Шема кола за повезивање Схарп ГП2И1014АУ0Ф сензора са Ардуином дата је у наставку:
Коло је врло једноставно, јер само повезујемо ГП2И10 сензор и ОЛЕД модул екрана са Ардуино Нано. ГП2И10 сензор и ОЛЕД модул екрана напајају се са + 5В и ГНД. В0 пин је повезан са А5 пином Ардуино Нано-а. ЛЕД пин сензора повезан је са Ардуиновим дигиталним пином12. Будући да ОЛЕД модул екрана користи СПИ комуникацију, успоставили смо СПИ комуникацију између ОЛЕД модула и Ардуино Нано-а. Везе су приказане у доњој табели:
С.Но |
Пин модула ОЛЕД |
Ардуино Пин |
1 |
ГНД |
Приземље |
2 |
ВЦЦ |
5В |
3 |
Д0 |
10 |
4 |
Д1 |
9 |
5 |
ОИЕ |
13 |
6 |
ДЦ |
11 |
7 |
ЦС |
12 |
С.Но |
Пин сензора |
Ардуино Пин |
1 |
Вцц |
5В |
2 |
В О. |
А5 |
3 |
С-ГНД |
ГНД |
4 |
ЛЕД |
7 |
5 |
ЛЕД-ГНД |
ГНД |
6 |
В-ЛЕД |
Отпорник од 5 В кроз 150Ω |
Изградња круга на Перф Боарду
Након лемљења свих компонената на перф плочи, изгледаће отприлике као доле. Али може се градити и на плочи за плочу. Залемио сам ГП2И1014 сензор на исту плочу на којој сам користио интерфејс за сензор СДС011. Током лемљења, водите рачуна да жице за лемљење буду на довољној удаљености једна од друге.
Објашњење кода за анализатор квалитета ваздуха
Комплетна шифра овог пројекта дата је на крају документа. Овде објашњавамо неке важне делове кода.
Код користи Адафруит_ГФКС , и Адафруит_ССД1306 библиотеке. Ове библиотеке можете преузети из Управитеља библиотека у Ардуино ИДЕ-у и инсталирати их одатле. За то отворите Ардуино ИДЕ и идите на Скетцх <Инцлуде Либрари <Манаге Либрариес . Сада потражите Адафруит ГФКС и инсталирајте Адафруит ГФКС библиотеку компаније Адафруит.
Слично томе, инсталирајте Адафруит ССД1306 библиотеке компаније Адафруит.
Након инсталирања библиотека у Ардуино ИДЕ, покрените код тако што ћете укључити потребне датотеке библиотека. Сензору за прашину није потребна библиотека, јер вредности напона читамо директно са аналогног пина Ардуина.
#инцлуде
Затим дефинишите ОЛЕД ширину и висину. У овом пројекту користимо 128 × 64 СПИ ОЛЕД екран. Можете да промените СЦРЕЕН_ВИДТХ , и СЦРЕЕН_ХЕИГХТ варијабле према вашем екрану.
#дефине СЦРЕЕН_ВИДТХ 128 #дефине СЦРЕЕН_ХЕИГХТ 64
Затим дефинишите СПИ комуникационе пинове где је повезан ОЛЕД екран.
#дефине ОЛЕД_МОСИ 9 #дефине ОЛЕД_ЦЛК 10 #дефине ОЛЕД_ДЦ 11 #дефине ОЛЕД_ЦС 12 #дефине ОЛЕД_РЕСЕТ 13
Затим креирајте инстанцу приказа Адафруит са ширином и висином дефинисаном раније са СПИ комуникацијским протоколом.
Екран Адафруит_ССД1306 (СЦРЕЕН_ВИДТХ, СЦРЕЕН_ХЕИГХТ, ОЛЕД_МОСИ, ОЛЕД_ЦЛК, ОЛЕД_ДЦ, ОЛЕД_РЕСЕТ, ОЛЕД_ЦС);
Након тога дефинишите осјетнике сензора за прашину и оловне пинове. Сенсе пин је излазни пин сензора за прашину који се користи за очитавање вредности напона док се лед пин користи за укључивање / искључивање ИР Лед-а.
инт сенсеПин = А5; инт ледПин = 7;
Сада унутар функције сетуп () , иницијализујте серијски монитор брзином преноса од 9600 у сврхе отклањања грешака. Такође, иницијализујте ОЛЕД екран функцијом бегин () .
Сериал.бегин (9600); дисплаи.бегин (ССД1306_СВИТЦХЦАПВЦЦ);
Унутар функције лооп () прочитајте вредности напона са аналогног пина 5 Ардуино Нано-а. Прво укључите ИР ЛЕД, а затим сачекајте 0,28 мс пре него што очитате излазни напон. После тога очитајте вредности напона са аналогног пина. Ова операција траје око 40 до 50 микросекунди, па уведите кашњење од 40 микросекунди пре него што искључите лед сензор прашине. Према спецификацијама, ЛЕД треба да се пулсира једном на 10 мс, па сачекајте остатак циклуса од 10 мс = 10000 - 280 - 40 = 9680 микросекунди .
дигиталВрите (ледПин, ЛОВ); делаиМицросецондс (280); оутВо = аналогРеад (сенсеПин); делаиМицросецондс (40); дигиталВрите (ледПин, ХИГХ); делаиМицросецондс (9680);
Затим у следећим редовима израчунајте густину прашине користећи излазни напон и вредност сигнала.
сигВолт = оутВо * (5/1024); ниво прашине = 0,17 * сигВолт - 0,1;
Након тога, подесите величину и боју текста користећи сетТектСизе () и сетТектЦолор () .
дисплаи.сетТектСизе (1); дисплаи.сетТектЦолор (БЕЛА);
Затим у следећем реду дефинишите позицију на којој почиње текст помоћу методе сетЦурсор (к, и) . И одштампајте вредности густине прашине на ОЛЕД дисплеју помоћу функције дисплаи.принтлн () .
дисплаи.принтлн ("Прашина"); дисплаи.принтлн ("Густина"); дисплаи.сетТектСизе (3); дисплаи.принтлн (дустЛевел);
И у последњем, позовите дисплаи () методу за приказ текста на ОЛЕД дисплеју.
дисплаи.дисплаи (); дисплаи.цлеарДисплаи ();
Тестирање међусобног повезивања Схарп ГП2И1014АУ0Ф сензора са Ардуином
Када су хардвер и код спремни, време је да тестирате сензор. За то повежите Ардуино са преносним рачунаром, одаберите плочу и порт и притисните дугме за отпремање. Као што видите на доњој слици, приказаће густину прашине на ОЛЕД дисплеју.
Комплетни видео запис и код су дати у наставку. Надам се да сте уживали у водичу и научили нешто корисно. Ако имате питања, оставите их у одељку за коментаре или користите наше форуме за друга техничка питања.