- Необходими компоненти
- Как работи IR комуникацията?
- Електрическа схема
- Програмиране за Arduino IR Remote Decoder
- Запазване на данните от IR дистанционния декодер в лист на Excel
IR (инфрачервената) комуникация е проста, евтина и широко използвана технология за безжична комуникация. IR светлината е донякъде подобна на видимата светлина, с изключение на това, че дължината на вълната е малко по-дълга. Това свойство на IR го прави неоткриваем за човешкото око и идеален за безжична комуникация.
Има много приложения, в които трябва да декодирате IR сигналите, за да управлявате някои устройства с IR дистанционно. Така че в този урок ще използваме TSOP1838 IR приемник за изграждане на IR дистанционен декодер с помощта на Arduino. Шестнадесетичният код за всеки бутон ще се регистрира в Microsoft Excel Sheet. Този прост декодер за IR дистанционно управление може да се използва в проекти като IR Remote control Robot, Home automation и други IR контролирани проекти.
Преди използвахме IR дистанционно и TSOP приемник, за да изградим много полезни приложения като:
- IR дистанционно управлявана TRIAC димерна схема
- IR дистанционно управлявана домашна автоматизация, използваща Arduino
- IR дистанционно управлявана домашна автоматизация с помощта на PIC микроконтролер
- Контролиран от мобилен телефон променлив ток с помощта на Arduino и Bluetooth
Необходими компоненти
- Arduino Uno / Arduino Nano
- IR приемник (TSOP1838)
- Джъмперни проводници
- Макет
Как работи IR комуникацията?
Подобно на други комуникационни системи, инфрачервената комуникация също има предавател и приемник. Предавателят изглежда точно като светодиод, но той произвежда светлина в ИЧ спектъра вместо във видимия спектър. Докато IR приемникът е фотодиод, вграден с предварително усилвател, който променя IR светлината в електрически сигнал. За IR комуникация и предавателят, и приемникът трябва да са насочени един към друг. За да научите повече за IR предавателя и схемата на приемника, следвайте връзката.
Когато се натисне дистанционен бутон, инфрачервеният светодиод (предавател) излъчва инфрачервена светлина. Тази светлина се приема от приемника, който обикновено е фотодиод или фототранзистор. Но IR светлината се излъчва и от слънцето, крушките и всичко друго, което произвежда топлина. Това може да повлияе на сигнала на предавателя, така че за да се предотврати, сигналът на предавателя се модулира с помощта на носеща честота между 36 kHz до 46 kHz. При получаване на сигнала, IR приемникът демодулира сигнала и го преобразува в двоичен, преди да го изпрати на микроконтролера.
Тук използваме дистанционно за телевизор за изпращане на IR сигнал и TSOP1838 с Arduino за тяхното получаване.
Също така проверете тук различни IR базирани приложения, включително верига за дистанционно управление на телевизора и схема на тестера за IR.
Електрическа схема
Схемата на веригата за IR дистанционен декодер, използващ Arduino, е дадена по-долу:
Връзките са много прости, тъй като сензорът за IR приемник има само три щифта, Vs, GND и Data. Свържете Vs и GND щифт на IR приемника към 3.3V GND пин на Arduino и ПИН за данни към цифров пин 2 на Arduino.
Програмиране за Arduino IR Remote Decoder
Пълният код за Arduino IR Decoder е даден в края на страницата.
За декодиране на IR Remote, първо, трябва да изтеглим и добавим IR библиотека към Arduino IDE. Можете да изтеглите IR Remote библиотеката от тук. След като изтеглите файла, отворете своя Arduino IDE и отидете на Скица> Включване на библиотека> Добавяне на библиотека Zip . Изберете файла на библиотеката и кликнете върху „Отваряне“.
Стартирайте кода си, като включите IR библиотечен файл.
#include
След това дефинирайте пина на Arduino, където сте свързали ПИН за данни на IR приемника. В моя случай той е свързан с D2 щифта на Arduino.
int IRPIN = 2;
След това създайте екземпляр за ПИН на ИК приемника.
IRrecv unrecv (IRPIN);
В следващия ред дефинирайте обект за класа decode_results , той ще се използва от IR приемника за изпращане на декодираната информация.
decode_results резултат;
Във функцията setup () инициирайте серийната комуникация и стартирайте IR приемника, като извикате функцията IRrecv enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("Активиране на IRin"); revocv.enableIRIn (); Serial.println ("Разрешен IRin"); Initialize_streamer (); }
Във функцията loop () , unrecv.decode непрекъснато проверява за нов сигнал и ако бъде получен нов сигнал, полученият сигнал ще бъде съхранен във функцията result.value .
цикъл void () {if (unrecv.decode (& резултат)) {Serial.print ("Стойност:"); Serial.println (result.value, HEX); Write_streamer (); unrecv.resume (); } закъснение (500); }
За изпращане на данни в лист на Excel от Arduino използваме PLX-DAQ. Използвайки функцията Write_streamer () , ние изпращаме данните последователно по определен модел, точно както показва стойността на сериен монитор. Основните редове са обяснени по-долу:
void Write_streamer () {Serial.print ("DATA"); // винаги пишем "DATA", за да посочим следното като Data Serial.print (","); // Преминаване към следващата колона с помощта на "," Serial.print (result.value, HEX); // Дата на съхранение в Excel Serial.print (","); // Преминаване към следващата колона с помощта на "," Serial.println (); // Преместване на края на реда към следващия ред}
След като хардуерът и програмата са готови, е време да я качите във вашата Arduino Nano Board. След като качите кода, насочете дистанционното към IR приемника и натиснете бутоните на дистанционното. Шестнадесетичният код за всеки бутон ще бъде отпечатан на серийния монитор.
Запазване на данните от IR дистанционния декодер в лист на Excel
Сега, за да изпратим данни в лист на Excel, ще използваме PLX-DAQ. Това е софтуер за приставки на Excel, който ви помага да записвате стойности от Arduino директно в лист на Excel на вашия лаптоп или компютър. Използвайте връзката, за да изтеглите файла. След изтеглянето извлечете файла и кликнете върху.exe файла, за да го инсталирате. Той ще създаде папка с име PLX-DAQ на вашия работен плот.
Сега отворете файла „ PLX-DAQ електронна таблица“ от папката на работния плот. Ако макросите са деактивирани във вашия Excel, тогава ще видите защитен блок, както е показано на изображението по-долу:
Щракнете върху Опции-> Активиране на съдържанието -> Готово -> ОК, за да активирате макросите. След това ще получите следния екран:
Сега изберете скоростта на предаване като „9600“ и порта, към който е свързан вашият Arduino, и след това кликнете върху Свързване, за да стартирате поточното предаване на данни. Вашите стойности трябва да започнат да се регистрират, както е показано на снимката по-долу.
Ето как може да се изгради лесно Arduino IR Remote Decoder за преобразуване на IR дистанционните сигнали в еквивалентен HEX код.
Пълният код на Arduino с демо видео е даден по-долу.