- Компоненте потребне
- ЕМ18 РФИД модул читача
- МЛКС90614 Инфрацрвени термометар
- Кружни дијаграм
- Објашњење кода
- Похрањивање података сензора у Екцел лист од Ардуино Цонтроллер
Од избијања Цовид-19, инфрацрвени термометри користе се као средство за преглед за скенирање људи на аеродромима, железничким станицама и другим препуним објектима. Ови снимци се користе за идентификацију потенцијалних пацијената са Цовид-19. Влада је учинила обавезним скенирање свих пре уласка у канцеларију, школу или било које друго место где је гужва.
Дакле, у овом упутству ћемо изградити РФИД заснован бесконтактни систем за надзор температуре користећи бесконтактни температурни сензор са Ардуином. Када запослени скенирају РФИД картицу, она ће мерити телесну температуру запослених бесконтактним инфрацрвеним термометром и евидентирати име и температуру тог запосленог директно на екцел листу. За изградњу овог пројекта користићемо Ардуино Нано, МЛКС90614, ЕМ18 РФИД читач и ултразвучни сензор. Ултразвучни сензор се користи за израчунавање удаљености између термометра и особе. Термометар ће мерити температуру само када је растојање мање од 25 ЦМ. То је нешто попут РФИД система за присуство, који такође бележи телесну температуру сваке особе.
Компоненте потребне
- Ардуино Нано
- ЕМ-18 РФИД модул
- МЛКС90614 Бесконтактни температурни сензор
- Ултразвучни сензор
- Бреадбоард
- Јумпер Вирес
ЕМ18 РФИД модул читача
Један од широко коришћених РФИД читача за читање 125 кХз тагова је ЕМ-18 РФИД читач. Овај јефтини РФИД читач модул има малу потрошњу енергије, низак фактор облика и једноставан за употребу. Читачки модул ЕМ-18 може пружити излаз кроз два комуникациона интерфејса, тј. РС232 и ВЕИГАНД26.
ЕМ18 РФИД читач има примопредајник који преноси радио сигнал. Када РФИД ознака дође у опсег сигнала предајника, овај сигнал погађа транспондер који се налази унутар картице. Ознака црпи енергију из поља електромагнета генерисаног модулом читача. Транспондер затим трансформише радио сигнал у употребљиви облик напајања. По добијању напајања, транспондер преноси све информације, као што је одређени ИД, у облику РФ сигнала на РФИД модул. Затим се ови подаци шаљу микроконтролеру помоћу УАРТ комуникације.
Да бисте сазнали више о РФИД-у и ознакама, погледајте наше претходне пројекте засноване на РФИД-у.
МЛКС90614 Инфрацрвени термометар
Пре него што наставимо са упутством, важно је знати како делује МЛКС90614 сензор. На тржишту је доступно много температурних сензора, а сензоре ДХТ11 и ЛМ35 интензивно користимо за многе примене у којима се мора мерити атмосферска влажност или температура.
Раније смо користили овај сензор у ИЦ термалном пиштољу који може да осети температуру одређеног предмета (а не амбијента) без директног контакта са објектом. Овде поново користимо исти сензор за израчунавање температуре објекта. МЛКС90614 је један такав сензор који користи инфрацрвену енергију за детекцију температуре објекта. Да бисте сазнали више о кругу инфрацрвеног и инфрацрвеног сензора, следите везу.
МЛКС90614 сензор производи Мелекис Мицроелецтроницс Интегрисани систем, у њега су уграђена два уређаја, један је инфрацрвени детектор термопилова (сензорска јединица), а други је ДСП уређај за кондиционирање сигнала (рачунарска јединица). Ради на основу Стефан-Болтзманновог закона који каже да сви предмети емитују ИЦ енергију и да ће интензитет ове енергије бити директно пропорционалан температури тог објекта. Сензорска јединица у сензору мери колико ИР енергије емитује циљани објекат и рачунарска јединица га претвара у вредност температуре помоћу 17-битног уграђеног АДЦ-а и даје податке путем И2Ц комуникације протокол. Сензор мери и температуру објекта и температуру околине за калибрацију вредности температуре објекта. Карактеристике сензора МЛКС90614 дате су у наставку, за више детаља погледајте таблицу података МЛКС90614.
Кружни дијаграм
Кружни дијаграм за бесконтактни температурни сензор заснован на РФИД-у који користи Ардуино дат је у наставку:
Као што је приказано на дијаграму кола, везе су врло једноставне, јер смо их користили као модуле, можемо их директно изградити на плочи. ЛЕД диода повезана на БУЗ иглу модула читача ЕМ18 постаје висока када неко скенира ознаку. РФИД модул серијски шаље податке контролору; стога је пин предајника РФИД модула повезан са пријемником Ардуино-а. Везе су даље класификоване у доњој табели:
Ардуино Нано |
ЕМ18 РФИД модул |
5В |
Вцц |
ГНД |
ГНД |
5В |
СЕЛ |
Рк |
Тк |
Ардуино Нано |
МЛКС90614 |
5В |
Вцц |
ГНД |
ГНД |
А5 |
СЦЛ |
А4 |
СДА |
Ардуино Нано |
Ултразвучни сензор (ХЦСР-04) |
5В |
Вцц |
ГНД |
ГНД |
Д5 |
Триг |
Д6 |
Одјек |
Објашњење кода
Морамо да напишемо Ардуино код који може да чита податке са ултразвучног сензора, МЛКС90614, ЕМ18 РФИД модул читача, и да пошаље име и температуру особе у Екцел лист. За овај код морате преузети библиотеке Вире и МЛКС90614. Након преузимања библиотека, додајте их у свој Ардуино ИДЕ.
Комплетни код за ово бесконтактно праћење телесне температуре дат је на крају странице. Овде ће исти програм бити објашњен у малим исечцима.
Као и обично, започните код укључивањем свих потребних библиотека. Овде се књижница Вире користи за комуникацију помоћу протокола И2Ц, а библиотека Адафруит_МЛКС90614.х за читање података сензора МЛКС90614.
#инцлуде
Затим дефинишемо пинове ултразвучног сензора на који смо успоставили везу
цонст инт тригПин = 5; цонст инт ецхоПин = 6;
Након тога, дефинишите променљиве за чување података РФИД модула, ултразвучног сензора и МЛКС90614 сензора.
дуго трајање; инт дистанце; Стринг РфидРеадинг; флоат ТемпРеадинг;
Унутар функције воид сетуп () покрећемо серијски монитор за отклањање грешака и сензор температуре МЛКС90614. Такође, поставите Триг и Ецхо пинове као излазне и улазне пинове.
воид сетуп () {Сериал.бегин (9600); // Иницирање серијске комуникације са пинМодеом серијског монитора (тригПин, ОУТПУТ); пинМоде (ецхоПин, ИНПУТ); млк.бегин (); Инитиализе_стреамер (); }
Унутар функције воид лооп () израчунајте растојање између особе и сензора, а ако је удаљеност мања или једнака 25 цм, позовите функцију читача () да скенира ознаку.
воид лооп () {дигиталВрите (тригПин, ЛОВ); делаиМицросецондс (2); дигиталВрите (тригПин, ХИГХ); делаиМицросецондс (10); дигиталВрите (тригПин, ЛОВ); трајање = пулсИн (ецхоПин, ХИГХ); растојање = трајање * 0,0340 / 2; иф (удаљеност <= 25) {читач (); }
функција читања празнина () користи се за читање РФИД картице са ознакама. Када се картица приближи модулу читача, модул читача чита серијске податке и чува их у улазној променљивој.
воид реадер () {иф (Сериал.аваилабле ()) {цоунт = 0; вхиле (Сериал.аваилабле () && цоунт <12) {инпут = Сериал.реад (); цоунт ++; кашњење (5);
У следећим редовима упоредите податке скениране картице са унапред дефинисаним ИД-ом ознаке. Ако се ИД ознаке подудара са скенираном картицом, прочитајте температуру особе и пошаљите температуру и име особе на екцел лист.
иф (инпут == таг) застава = 1; елсе застава = 0; цоунт ++; РфидРеадинг = "Асхисх"; }} иф (застава == 1) {темп_реад (); Врите_стреамер (); }
Унутар функције темп_реад () прочитајте податке сензора МЛКС90614 у Целзијусу и сачувајте их у променљивој „ТемпРеадинг“ .
воид темп_реад () {ТемпРеадинг = млк.реадОбјецтТемпЦ ();}
Када су хардвер и софтвер спремни, време је да отпремите програм на Ардуино Нано плочу. Чим се ваш програм отпреми, ултразвучни сензор почиње да израчунава удаљеност. Када је израчунато растојање мање од 40 цм, очитава температуру и картицу.
Похрањивање података сензора у Екцел лист од Ардуино Цонтроллер
Сада ћемо за слање података на Екцел лист користити ПЛКС-ДАК. То је Екцел плуг-ин софтвер који вам помаже да записујете вредности из Ардуина директно у Екцел лист на вашем преносном рачунару или рачунару. Користите везу за преузимање датотеке. Након преузимања издвојите датотеку и кликните на.еке датотеку да бисте је инсталирали. На вашој радној површини створиће се мапа ПЛС-ДАК.
Сада отворите датотеку „ПЛКС-ДАК табела“ из директоријума радне површине. Ако су макрои у вашем Екцелу онемогућени, видећете сигурносни блок као што је приказано на доњој слици:
Кликните на Оптионс-> Енабле тхе цонтент -> Финисх -> ОК да бисте омогућили макрое. Након овога добићете следећи екран:
Сада одаберите брзину преноса података као „9600“ и порт на који је повезан ваш Ардуино, а затим кликните на Повежи да бисте започели проток података. Вредности би требало да почну да се евидентирају као што је приказано на слици испод.
На овај начин можете да направите уређај за контролу бесконтактне температуре и податке сачувате у Екцел табели.
Радни видео и комплетна шифра дати су на крају странице.