- Компоненте потребне
- Како функционише ИР комуникација?
- Кружни дијаграм
- Програмирање за Ардуино ИР даљински декодер
- Спремање података ИР даљинског декодера у Екцел лист
ИЦ (инфрацрвена) комуникација је једноставна, јефтина и широко коришћена технологија бежичне комуникације. ИЦ светлост је донекле слична видљивој светлости, с тим што је таласна дужина нешто дужа. Ово својство ИР чини га неприметним за људско око и савршеним за бежичну комуникацију.
Постоји много апликација у којима је потребно декодирати ИЦ сигнале да бисте управљали неким уређајима помоћу ИЦ даљинског управљача. Дакле, у овом упутству ћемо користити ТСОП1838 ИР пријемник за изградњу ИЦ даљинског декодера користећи Ардуино. Хексадецимални код за свако дугме биће евидентиран у Мицрософт Екцел Схеет. Овај једноставан ИЦ даљински управљач може се користити у пројектима као што су ИР даљински управљач, кућна аутоматизација и други ИР пројекти.
Раније смо користили ИР даљински управљач и ТСОП пријемник за изградњу многих корисних апликација попут:
- ИЦ даљински управљани ТРИАЦ димер круг
- ИР даљинска контрола кућне аутоматизације помоћу Ардуина
- ИР даљинска контрола кућне аутоматизације помоћу ПИЦ микроконтролера
- АЦ контролиран мобилним телефоном користећи Ардуино и Блуетоотх
Компоненте потребне
- Ардуино Уно / Ардуино Нано
- ИЦ пријемник (ТСОП1838)
- Јумпер Вирес
- Бреадбоард
Како функционише ИР комуникација?
Попут осталих комуникационих система, инфрацрвена комуникација такође има предајник и пријемник. Предајник изгледа баш попут ЛЕД диоде, али уместо видљивог спектра производи светлост у ИЦ спектру. Док је ИР пријемник фотодиода уграђена у претпојачало које претвара ИР светло у електрични сигнал. За ИЦ комуникацију и предајник и пријемник треба да буду усмјерени један према другом. Да бисте сазнали више о кругу ИР предајника и пријемника, следите везу.
Када се притисне даљинско дугме, ИР ЛЕД (предајник) емитује инфрацрвену светлост. Ово светло прима пријемник који је обично фотодиода или фототранзистор. Али инфрацрвену светлост емитују и сунце, сијалице и све остало што производи топлоту. То може ометати сигнал предајника, тако да се сигнал предајника модулира помоћу носеће фреквенције између 36 кХз и 46 кХз. По пријему сигнала, ИЦ пријемник демодулира сигнал и претвара га у бинарни пре него што га пошаље микроконтролеру.
Овде користимо даљински управљач за ТВ за слање ИЦ сигнала и ТСОП1838 са Ардуином за њихово примање.
Такође, овде проверите разне апликације засноване на ИЦ-у, укључујући круг ометача даљинског управљача ТВ-а и круг ИЦ тестера.
Кружни дијаграм
Дијаграм кола за ИР даљински декодер који користи Ардуино дат је у наставку:
Везе су врло једноставне, јер сензор ИР пријемника има само три пина, Вс, ГНД и Дата. Повежите Вс и ГНД пин ИЦ пријемника са 3,3 В ГНД пином Ардуино-а и Дата пин-ом на Дигитални пин 2 Ардуина.
Програмирање за Ардуино ИР даљински декодер
Комплетни код за Ардуино ИР декодер дат је на крају странице.
Да бисмо декодирали ИР даљински управљач, прво треба да преузмемо и додамо ИР библиотеку у Ардуино ИДЕ. Одавде можете преузети ИР даљинску библиотеку. Након преузимања датотеке, отворите свој Ардуино ИДЕ и идите на Скица> Укључи библиотеку> Додај.Зип библиотеку . Изаберите датотеку библиотеке и кликните на „Отвори“.
Започните свој код тако што ћете укључити датотеку ИР Ремоте либрари.
#инцлуде
Након тога дефинирајте Ардуино пин на који сте повезали Дата пин ИЦ пријемника. У мом случају је повезан са Д2 пином Ардуина.
инт ИРПИН = 2;
Након тога креирајте инстанцу за пин ИЦ пријемника.
ИРрецв ревоцв (ИРПИН);
У следећем реду дефинишите објекат за класу децоде_ресултс , користиће га ИЦ пријемник за слање декодираних информација.
резултат децоде_ресултс;
Унутар подешавање () функцији, покрене серијску комуникацију, и покрените ИР пријемник позивом ИРрецв функција енаблеИРИн ().
воид сетуп () {Сериал.бегин (9600); Сериал.принтлн ("Омогућавање ИРин-а"); ревоцв.енаблеИРИн (); Сериал.принтлн ("Омогућен ИРин"); Инитиализе_стреамер (); }
У функцији лооп () , унрецв.децоде непрестано проверава нови сигнал и ако се прими нови сигнал, примљени сигнални код ће бити сачуван у функцији ресулт.валуе .
воид лооп () {иф (унрецв.децоде (& резултат)) {Сериал.принт ("Валуе:"); Сериал.принтлн (ресулт.валуе, ХЕКС); Врите_стреамер (); унрецв.ресуме (); } кашњење (500); }
За слање података на Екцел лист из Ардуина користимо ПЛКС-ДАК. Користећи функцију Врите_стреамер () , податке шаљемо серијски у одређеном обрасцу, баш као што приказује вредност на серијском монитору. Кључне линије су објашњене у наставку:
воид Врите_стреамер () {Сериал.принт ("ДАТА"); // увек напиши "ДАТА" да би следеће означио као Дата Сериал.принт (","); // Прелазак на следећу колону помоћу „,“ Сериал.принт (ресулт.валуе, ХЕКС); // Датум складиштења у програму Екцел Сериал.принт (","); // Прелазак на следећу колону помоћу "," Сериал.принтлн (); // прелазак краја реда у следећи ред}
Када су хардвер и програм спремни, време је да програм пренесете на своју Ардуино Нано плочу. Након отпремања кода, усмерите даљински управљач према ИЦ пријемнику и притисните дугмад даљинског управљача. Хекс код за свако дугме биће одштампан на серијском монитору.
Спремање података ИР даљинског декодера у Екцел лист
Сада ћемо за слање података на Екцел лист користити ПЛКС-ДАК. То је Екцел плуг-ин софтвер који вам помаже да записујете вредности из Ардуина директно у Екцел лист на вашем преносном рачунару или рачунару. Користите везу за преузимање датотеке. Након преузимања, издвојите датотеку и кликните на.еке датотеку да бисте је инсталирали. На вашој радној површини створиће се фасцикла ПЛКС-ДАК.
Сада отворите датотеку „ПЛКС-ДАК табела“ из директоријума радне површине. Ако су макрои онемогућени у вашем Екцелу, видећете сигурносни блок као што је приказано на доњој слици:
Кликните на Оптионс-> Енабле тхе цонтент -> Финисх -> ОК да бисте омогућили макрое. После овога, добићете следећи екран:
Сада одаберите брзину преноса података као „9600“ и порт на који је повезан ваш Ардуино, а затим кликните на Повежи да бисте започели проток података. Вредности би требало да почну да се евидентирају као што је приказано на слици испод.
Тако се Ардуино ИР даљински декодер може лако направити за претварање ИР даљинских сигнала у еквивалентни ХЕКС код.
Комплетни Ардуино код са демо видеом је дат у наставку.