Що таке ик приймач. Встановлюємо додатковий ик-приймач у супутниковий ресивер. Схема підключення ІЧ-приймача

схема із журналу "Юний Технік".

Цікавий напрямок радіоелектроніки, яка доповнила цю електроніку новими перевагами "невидимого" світла (інфрачервоне світло). Ось я і пропоную схему простого (для прикладу) приймача та передавача заснованого на інфрачервоних променях. Основа: операційний підсилювач к140уд7 (у мене тут уд708), що випромінює і приналежні ІЧ-фотодіоди, УНЧ (к548ун1а(б,в - індексами)- на два канали)(правда куди другий канал підсилювача "включіть" вирішувати вам - схема зрадника розрахована на один канал, тобто моно). Живлення пристрою: взагалі рекомендую з пристойною стабілізацією струмів (а так "дендюшний" адаптер дратує тлом "мережі"). Спосіб: амплітудно-модульований сигнал передавача посилюється приймачем у 1000 разів.

Як працює пристрій? Пропоную Вам переглянути невеликий відеоролик тестування ІЧ-пульта "на слух". Можна швидко перевірити працездатність та потужність сигналу по звуку.

Схема ІЧ-приймача та ІЧ-передавача

При складанні конденсатори С1 і С2 повинні бути якомога ближчими до підсилювача! До виходу можна підключити високоомні навушники (для низькоомних потрібен окремий УНЧ). Фотодіод ФД7 (у мене ФД263: "таблетка" з лінзою, що фокусує); 0.125Вт резистори: R1 з R4 задають коефіцієнт услінію сигналу в 1000 разів. Приймач налагоджується просто: фотодіод прямує на джерело ІЧ-випромінювання, наприклад, лампу 220в-50Гц: нитка розжарення буде фоніт з частотою 50Гц або пульт ДК від телевізора (відео і т.д.). Чутливість приймача велика: нормально приймає сигнали відбиті від стін .

На передавачі ІЧ світлодіоди АЛ107а: підійде будь-хто. R2 2 ком, С1 1000мкФх25в, С2 200мкФх25В, трансформатор теж будь-який. Хоча цілком можна обійтися без трансформатора - подати посилений аудіосигнал на конденсатор С2.

Схема пристроїв

Схема ІЧ приймача з УНЧ

Нещодавно за необхідності зібрав ІЧ приймач для перевірки ІЧ пультів (телевізорів та DVD). Після доопрацювання схеми – встановив моно УНЧ TDA7056. Цей підсилювач має гарні характеристики посилення близько 42 дБ; працює в діапазоні напрузі від 3В до 18В, що дозволило ІЧ приймачеві працювати навіть при напрузі 3В; діапазон посилення TDA від 20 Гц до 20кГц (УД708 проспукає до 800 кГц) цілком достатньо для використання приймача як аудіо супроводу; має захист від короткого замикання на всіх "ніжках"; захист від "перегріву"; слабкий коефіцієнт власних перешкод. Загалом мені сподобався цей компактний та надійний УНЧ (у нас він коштує 90р.).
Є до нього із докладним описом. На рис.1 відображено приклад використання підсилювача.


Фото TDA7056


Рис.1. Схема підсилювача з TDA7056

У результаті вийшов ІЧ приймач рис.2, який працює у діапазоні напрузі від 3В до 12В. Рекомендую використовувати для живлення приймача батареї або акумулятори. При використанні блоку живлення необхідне стабілізоване джерело, інакше буде чути фон мережі 50Гц, який посилює УД708. Якщо пристрій знаходиться поблизу джерела напруги або радіовипромінювання, можуть виникнути наведення. Для зменшення перешкод у схему необхідно увімкнути конденсатор С5. TDA7056 розрахований на вихідний динамік 16 Ом, на жаль у мене такого немає. Довелося використовувати 4-омний динамік на 3 Вт, який був підключений через одноватний резистор 50 Ом. Занадто низький опір котушки динаміка викликає надлишок потужності та перегріває підсилювач. Загалом через додатковий резистор УНЧ не гріється, але забезпечує цілком прийнятне посилення.

Приймач ІЧ - команд пульта дистанційного керування для керування побутовою технікою може бути легко зроблений із застосуванням десяткового лічильника CD4017, таймера NE555 та інфрачервоного приймача TSOP1738.

Використовуючи цю схема ІЧ приймача, можна з легкістю керувати своєю побутовою технікою за допомогою пульта від телевізора, DVD-плеєра або за допомогою схеми ПДУ описаного в кінці статті.

Схема ІЧ приймача для дистанційного керування

Висновки 1 і 2 ик-приймача TSOP1738 використовуються для живлення. Резистор R1 і конденсатор C1 призначені для стабільної роботи та придушення різних перешкод ланцюга живлення.

Коли ІЧ промені на частоті 38 кГц падає на ІЧ-приймач TSOP1738, з його виході 3 з'являється низький рівень напруги, при зникненні ик-променів знову з'являється високий рівень. Цей негативний імпульс посилюється транзистором Q1, який передає посилений частотний сигнал вхід десяткового лічильника CD4017. Висновки лічильника 16 та 8 призначені для живлення його. Висновок 13 підключений до землі, дозволяючи цим його роботу.

Вихід Q2 (4 контакт) підключений до виведення скидання (15 контакт), щоб зробити роботу CD4017 у режимі бістабільного мультивібратора. Під час першого імпульсу Q0 з'являється лог1, другий синхросигнал викликає появу лог1 на Q1 (Q0 стає низьким), але в третій сигнал знову виводить на Q0 лог 1 (Q2 підключений до MR, тому третій тактовий сигнал скидає лічильник).

Давайте припустимо, лічильник здійснив скидання (Q0 високий рівень, інші ж низький). При натисканні на кнопку ПДУ тактовий сигнал впливає на лічильник, що призводить до появи високого рівня на Q1. Таким чином, LED D1 світиться, транзистор Q2 включається та активується реле.

Коли знову натискають кнопку ПДК, на виведенні Q0 з'являється лог 1, реле відключається і LED D2 загоряється. LED D1 вказує, коли пристрій увімкнено і LED D2 вказує, коли пристрій вимкнено.

Ви можете використовувати свій пульт від телевізора для керування або зібрати окремий за наведеною нижче схемою.

  • Вхідна напруга: 2,7...5,5 В
  • Споживаний струм: 0,65...1,05 мА (при Vсс = 5В) номінально 0,9 мА
  • Несуча частота: 38 кГц
  • Довжина світлової хвилі: 850 … 1050 нм (пропускається фільтром понад 80%)
  • Чутливість: 0,17…30000 мW/м2 (до потужності світлового потоку)
  • Відстань прийому: до 45 м
  • Робоча температура: -25 … 85 °C
  • Кут спрямованості: ±45°

Усі модулі лінійки "Trema" виконані в одному форматі

Підключення:

Модуль підключається до будь-якого цифрового arduino висновку. У комплекті є кабель для швидкого та зручного підключення до Trema Shield.

Модуль зручно підключати 3 способами, залежно від ситуації:

Спосіб - 1:Використовуючи дротовий шлейф та Piranha UNO


Бібліотека використовує другий апаратний таймер,

НЕ ВИВОДІТЬ СИГНАЛИ ШИМ НА 3 АБО 11 ВИСНОВОК!

Докладніше про встановлення бібліотеки читайте в нашій ..

Додаткова інформація щодо роботи з модулем:

Пакети:Практично всі пульти відправляють не тільки інформаційний пакет (що вказує тип пристрою та код натиснутої кнопки), але й пакети повтору, які повідомляють пристрій про утримання натиснутої кнопки. Таким чином приймаючий пристрій може реагувати на натискання кнопки одноразово або протягом всього часу її утримання.

Наприклад: натискаючи та утримуючи кнопку з номером телевізійного каналу, телевізор переключиться на цей канал лише один раз. Коли натискаючи і утримуючи кнопку збільшення гучності, телевізор збільшуватиме її протягом усього часу утримання кнопки.

Кількість інформаційних пакетіву більшості пультів одно одному, але деякі пристрої, наприклад кондиціонери, використовують 2, 3 і більше інформаційних пакетів.

Склад пакетів:Інформаційний пакет несе інформацію про код виробника, тип пристрою, код натиснутої кнопки і т.д. Пакети повтору можуть частково або повністю збігатися з інформаційним пакетом, копіювати його біти з інверсією, або не нести ніякої інформації, представляючи послідовність з кількох однакових для кожного пакета повтору бітів.

Тривалість пауз між пакетами:зазвичай не перевищує 200мс.

Протоколи передачі:визначають такі, основні параметри:

  • несучу частоту;
  • спосіб кодування інформації, тривалість імпульсів і пауз бітів, що передаються;
  • кількість інформаційних пакетів:
  • склад інформаційного пакета та пакетів повторів;
  • тривалість пауз між пакетами;
  • наявність та форму сигналів Start, Stop та Toggle;

Несуча частота:у більшості пультів дорівнює 38 кГц, саме на цю частоту налаштований Trema ІЧ-приймач.

Кодування інформації:це принцип передачі біт даних. Виділимо три основні види кодування, при яких кожен біт передається послідовністю з одного імпульсу та однієї паузи:

  • кодування довжиною імпульсів - спочатку передається імпульс, довжина якого залежить від значення біта, що передається, потім слід пауза, довжина якої не залежить від значення біта. Наприклад: у протоколі SIRC (Sony), довжина імпульсу для біта "1" = 1200мкс, а для біта "0" = 600мкс, довжина пауз завжди дорівнює 600мкс. Таким чином, можна відрізнити «1» від «0» по довжині імпульсу.
  • кодування довгої пауз - спочатку передається імпульс, довжина якого залежить від значення передається біта, потім слідує пауза, довжина якої залежить від значення біта. Наприклад: у протоколі NEC, довжина паузи для біта "1" = 1687,5 мкс, а для біта "0" = 562,5 мкс, довжина імпульсів завжди дорівнює 562,5 мкс. Таким чином, можна відрізнити «1» від «0» по довжині паузи.
  • біфазне кодування - довжина імпульсу дорівнює довжині паузи, які послідовність визначає тип передається біта. Наприклад: у протоколі RS5 (Philips), для біта «1» імпульс слід за паузою, а для біта «0» пауза слідує за імпульсом. Для протоколу NRC (Nokia), навпаки, для біта «1» пауза слідує за імпульсом, а для біта «0» імпульс слідує за паузою.

Сигнали Start, Stop та Toggle:за своєю назвою розташовуються на початку, наприкінці або середині пакета.

Stop:При кодуванні довгої паузи, не можна визначити значення останнього біта в пакеті, так як після пакета слідує велика пауза, і останній біт завжди визначатиметься як «1», тому в пакет додається сигнал Stop що представляє собою імпульс не несе ніякої інформації.

Start:При біфазному кодуванні потрібно подати сигнал Start, оскільки неможливо розпочати передачу пакета з паузи.

Toggle:Це біт, який змінює своє значення при кожному новому натисканні на кнопку, використовується в протоколах RS5, RS5X, RS6 (Philips), де пакети повторів повторюють повністю дані інформаційного пакета. Таким чином пристрій, що приймає, може відрізнити утримання кнопки від її повторного натискання.

Приклади:

Перевірка наявності даних, що надійшли з ІЧ-пульта, здійснюється функцією check(). Ця функція реагує на натискання кнопок ІЧ-пульта , але якщо її викликати з параметром true , вона реагуватиме і на утримання кнопок.

Читання даних із будь-якого пульта, реагуємо тільки на натискання кнопок:

#include // Підключаємо бібліотеку до роботи з ІЧ-приймачем iarduino_IR_RX IR(7); // Оголошуємо об'єкт IR, із зазначенням висновку якого підключений ІЧ-приймач void setup()( Serial.begin(9600); // Ініціюємо передачу даних у монітор послідовного порту, на швидкості 9600 біт/сек IR.begin(); / / Ініціюємо роботу з ІЧ-приймачем) void loop()( if(IR.check())( // Якщо в буфері є дані, прийняті з пульта (була натиснута кнопка) Serial.println(IR.data, HEX); / / Виводимо код натиснутої кнопки Serial.println(IR.length); // Виводимо кількість біт у коді)))

У цьому скетчі функція check() викликається без аргументів, отже і реагує вона лише з натискання кнопок ІЧ-пульта .

Читання даних із будь-якого пульта, реагуємо на утримання кнопок:

#include // Підключаємо бібліотеку до роботи з ІЧ-приймачем iarduino_IR_RX IR(6); // Оголошуємо об'єкт IR, із зазначенням висновку якого підключений ІЧ-приймач void setup()( Serial.begin(9600); // Ініціюємо передачу даних у монітор послідовного порту, на швидкості 9600 біт/сек IR.begin(); / / Ініціюємо роботу з ІЧ-приймачем) void loop()( if(IR.check(true)))( // Якщо в буфері є дані, прийняті з пульта (утримується кнопка) Serial.println(IR.data, HEX); / / Виводимо код натиснутої кнопки Serial.println(IR.length); // Виводимо кількість біт у коді)))

У цьому скетчі функція check() викликається з параметром true , отже і реагує вона як у натискання, і утримання кнопок ІЧ-пульта .

Читання даних з будь-якого пульта, із зазначенням як реагувати на якісь кнопки.

#include // Підключаємо бібліотеку до роботи з ІЧ-приймачем iarduino_IR_RX IR(6); // Оголошуємо об'єкт IR, із зазначенням висновку якого підключений ІЧ-приймач // bool flgKey1 = false; uint32_t codKey1 = 0xFF30CF; // Визначаємо прапор натискання та код кнопки 1 bool flgKey2 = false; uint32_t codKey2 = 0xFF18E7; // Визначаємо прапор натискання та код кнопки 2 bool flgKey3 = false; uint32_t codKey3 = 0xFF7A85; // Визначаємо прапор натискання та код кнопки 3 bool flgKey = false; uint32_t tmrKey = 0; // Визначаємо прапор виведення даних в монітор і час останнього натискання кнопки. // void setup()( // Serial.begin(9600); // Ініціюємо передачу даних в монітор послідовного порту, на швидкості 9600 біт/сек IR.begin(); // Ініціюємо роботу з ІЧ-приймачем) // / / void loop()( // if(IR.check(true)))( // Якщо в буфері є дані, прийняті з пульта (утримується кнопка), то... if(millis()-200 > tmrKey)( / / Якщо з останньої команди, що надійшла, пройшло більше 200 мс, то flgKey1 = false; // Вважаємо що кнопка 1 не утримується flgKey2 = false; // Вважаємо що кнопка 2 не утримується = millis(); false;) // Забороняємо виведення даних кнопки 1 при її утриманні if(IR.data==codKey2)( if(flgKey2)(flgKey=false;) flgKey2=true; )else(flgKey2=false;) // Забороняємо виведення даних кнопки 2 при її утриманні if(IR.data==codKey3)( if(flgKey3)(flgKey=false;) flgKey3=true; )else(flgKey3=false;) // Забороняємо виведення даних кнопки 3 при її утриманні if(flgKey)( // Якщо виведення даних дозволено, то... Serial.println(IR.data, HEX); // Виводимо код натиснутою кнопки Serial.println(IR.length);// Виводимо кількість біт у коді) //) //) //

У цьому скетчі функція check() викликається з параметром true , отже вона реагує як у натискання, і утримання кнопок ІЧ-пульта . Але виведення даних у монітор послідовного порту здійснюється лише за встановленого прапора flgKey, який скидається при утриманні кнопок з кодами 0xFF30CF, 0xFF18E7 та 0xFF7A85. Виходить, що на 3 кнопки скетч реагує тільки при натисканні, а на інші кнопки, як на натискання, так і на утримання.

Читання даних лише з тих пультів, які працюють за вказаним протоколом:

#include // Підключаємо бібліотеку до роботи з ІЧ-приймачем iarduino_IR_RX IR(5); // Оголошуємо об'єкт IR, із зазначенням висновку якого підключений ІЧ-приймач void setup()( Serial.begin(9600); // Ініціюємо передачу даних у монітор послідовного порту, на швидкості 9600 біт/сек IR.begin(); / / Ініціюємо роботу з ІЧ-приймачем IR.protocol("Ae```|LJ`@@@@BPBp");// Вказуємо протокол передачі даних, на який слід реагувати) void loop()( if(IR.check( true))( // Якщо в буфері є дані, прийняті з пульта (утримується кнопка) Serial.println(IR.data, HEX); // Виводимо код натиснутої кнопки Serial.println(IR.length); // Виводимо кількість біт у коді ) )

У цьому скетчі, в коді setup(), вказано протокол передачі даних, який рідко збігається у різних виробників ІЧ-пультів. Значить функція check() у коді loop() реагуватиме лише на ті ІЧ-пульти , які підтримують зазначений протокол.

Отримання протоколу передачі даних та типу кодування:

#include // Підключаємо бібліотеку до роботи з ІЧ-приймачем iarduino_IR_RX IR(4); // Оголошуємо об'єкт IR, із зазначенням висновку якого підключений ІЧ-приймач void setup()( Serial.begin(9600); // Ініціюємо передачу даних у монітор послідовного порту, на швидкості 9600 біт/сек IR.begin(); / / Ініціюємо роботу з ІЧ-приймачем) void loop()( if(IR.check())( // Якщо в буфері є дані, прийняті з пульта (була натиснута кнопка) Serial.println(IR.protocol()); / / Виводимо рядок протоколу передачі даних ) )

У цьому прикладі описано як отримати протокол передачі даних ІЧ-пультів. У статті описано, як передавати коди кнопок за вказаним протоколом.

Таким чином, можна створити скетч ІЧ-передавача для імітації сигналів різних ІЧ-пультів. В результаті, пристрої будуть реагувати на ІЧ-передавач, як на власний ІЧ-пульт.

Опис основних функцій бібліотеки:

Підключення бібліотеки:

#include // Підключаємо бібліотеку, до роботи з ІЧ-приймачем. iarduino_IR_RX IR(№_ВИСНОВКУ [, ІНВЕРСІЯ]); // Оголошуємо об'єкт IR, із зазначенням номера виводу, до якого підключений ІЧ-приймач. // Другим параметром, типу bool, можна зазначити, що з приймача є інверсними.

функція begin();

  • Призначення: ініціалізація роботи з ІЧ-приймачем
  • Синтаксис: begin();
  • Параметри: Ні.
  • Значення, що повертаються: Ні.
  • Примітка: Викликається 1 раз у коді setup.
  • Приклад:
IR.begin(); // Ініціюємо роботу з ІЧ-приймачем

функція check();

  • Призначення: Перевірка наявності прийнятих із пульта даних.
  • Синтаксис: check([ УТРИМАННЯ ]);
  • Параметри:
    • УТРИМАННЯ - необов'язковий параметр, типу bool - що вказує на те, що необхідно реагувати на утримання кнопок пульта.
  • Значення, що повертаються: bool - прийняті чи ні, дані з пульта.
  • Примітка: Якщо функція викликана без параметра, або він дорівнює false, то функція буде реагувати лише на сигнали з пульта при натисканні його кнопок, а якщо вказати true, то функція буде реагувати як на натискання, так і на утримання кнопок пульта.
  • Приклад:
if(IR.check())( ... ;) // Якщо прийняті дані з пульта, при натисканні його кнопки if(IR.check(true))( ... ;) // Якщо приймаються дані з пульта, при утриманні кнопки

функція protocol();

  • Призначення: отримання, встановлення або скидання протоколу передачі даних.
  • Синтаксис: protocol([ПАРАМЕТР]);
  • Отримання протоколу: Якщо функція викликана без параметра, вона поверне рядок з 25 символів + символ кінця рядка. Біти цього рядка несуть інформацію про тип протоколу передачі даних пульта, дані якого були прийняті останніми. Цей рядок можна використовувати для встановлення протоколу інфрачервоного передавача або інфрачервоного приймача (див. нижче).
  • Встановлення протоколу: Якщо функція викликана з параметром у вигляді рядка з 25 символів протоколу + символ кінця рядка, то після цього функція chek() буде реагувати тільки на пульти, що відповідають зазначеному протоколу передачі даних.
  • Скидання протоколу: Якщо функція викликана з параметром IR_CLEAN, то функція chek() знову реагуватиме на сигнали з будь-яких пультів.
  • Отримання параметрів протоколу: Якщо функція викликана параметром int, від 0 до 17, вона поверне не рядок протоколу, а значення типу int однією з параметрів протоколу передачі даних пульта, дані якого було прийнято останніми:
    • 0 - тип кодування:
      • IR_UNDEFINED - тип кодування не визначено;
      • IR_PAUSE_LENGTH – кодування довгої паузи;
      • IR_PULSE_LENGTH - кодування довгою (шириною) імпульсу (ШІМ);
      • IR_BIPHASIC - біфазне кодування;
      • IR_BIPHASIC_INV - біфазне кодування з інверсними бітами;
      • IR_NRC - пакети повтору ідентичні, а перший та останній пакети спеціальні;
      • IR_RS5 - кодування PHILIPS з бітом toggle;
      • IR_RS5X - кодування PHILIPS з бітом toggle;
      • IR_RS6 - кодування PHILIPS з бітом toggle.
    • 1 - несуча частота передачі даних (кгц);
    • 2 - заявлену кількість інформаційних біт в 1 пакеті;
    • 3 - заявлену кількість інформаційних біт у пакеті повтору;
    • 4 - тривалість паузи між пакетами (мс);
    • 5 - тривалість імпульсу в стартовому біті (мкс);
    • 6 - тривалість паузи в стартовому биті (мкс);
    • 7 - тривалість імпульсу в стоповому биті (мкс);
    • 8 - тривалість паузи в стоповому биті (мкс);
    • 9 - тривалість імпульсу в биті рестарту або toggle (в мкс);
    • 10 - тривалість паузи в биті рестарту або toggle (в мкс);
    • 11 - позиція біта рестарт або toggle в пакеті (№ біта);
    • 12 - максимальна тривалість імпульсу в інформаційних бітах (мкс);
    • 13 - мінімальна тривалість імпульсу в інформаційних бітах (мкс);
    • 14 - максимальна тривалість паузи в інформаційних бітах (мкс);
    • 15 - мінімальна тривалість паузи в інформаційних бітах (мкс);
    • 16 - прапор наявності стартового біта (true/false);
    • 17 - прапор наявності стопового біта (true/false);
    • 18 - прапор наявності біта рестарту або toggle (true/false);
    • 19 - тип пакету повтору (0-ні, 1-з інверсними бітами, 2-ідентичний інформаційному, 3-унікальний);
  • Значення, що повертаються: Залежать від наявності та типу параметра.
  • Примітка: Якщо раніше було встановлено протокол, спроба отримання протоколу, або параметрів протоколу, поверне значення встановленого раніше протоколу, а не протоколу передачі даних пульта, дані якого були прийняті останніми.
  • Приклад:
IR.protocol("AeQQV~zK]Kp^KJp[@@@@@@@Bp"); // Встановлюємо протокол. Тепер приймач отримуватиме дані лише від пультів телевізора ELENBERG. IR.protocol(IR_CLEAN); // Скидаємо раніше встановлений протокол. Тепер приймач знову реагуватиме на будь-які пульти. if(IR.check())( Serial.println(IR.protocol()); ) // Отримуємо протокол. Як тільки приймач отримає дані, у моніторі висвітиться рядок із 25 символів протоколу. if(IR.check())( Serial.println(IR.protokol(12)); ) // Отримуємо один із параметрів протоколу. Як тільки приймач отримає дані, моніторі відобразиться максимальна тривалість імпульсу інформаційного біта в мікросекундах.

Змінна data

  • Значення: Повертає код кнопки з пульта;
  • Тип даних: uint32_t.
if(IR.check())( Serial.println(IR.data); ) // Виводимо код натиснутої кнопки, якщо він прийнятий

Змінна length

  • Значення: Повертає розмір коду кнопки у бітах;
  • Тип даних: uint8_t.
if(IR.check())( Serial.println(IR.length); ) // Виводимо розмір коду натиснутої кнопки, якщо він прийнятий

Змінна key_press

  • Значення: Повертає прапор, що вказує на те, що кнопка пульта натискається, а не утримується;
  • Тип даних: bool.
if(IR.check(true))( if(IR.key_press)(Serial.println("PRESS");) // Текст буде виведено 1 раз, коли кнопка натискається else (Serial.println("HOLD ");) // Текст виводитиметься постійно, поки кнопка утримується )

Застосування:

  • управління роботами, що рухаються, літаючими та плаваючими моделями, побутовою та спеціалізованою технікою.
  • включення/вимикання освітлення, обігріву, вентиляції, поливу і т.д.
  • відкриття/зачинення дверей, жалюзі, мансардних вікон, кватирок і т.д.

ІЧ-приймач є стандартним пристроєм, що підключається до COM (RS-232) порту, і служить для дистанційного керування роботом.

Одна із можливих схем ІЧ-приймача. Для інфрачервоного приймача підійде будь-який 5-вольтовий інфрачервоний приймач, що використовується в побутовій апаратурі (телевізорах). Наприклад: TSOP1836, IS1U60L, GP1U52X, SFH506-36 або наш вітчизняний TK1833. Стабілізатор напруги КРЕН5А необхідний живлення ІЧ-приймача 5 вольтовим напругою, т.к. з 7-го контакту COM-порту надходить напруга 12 вольт. Резистор можна вибрати із діапазону 3-5 кОм, конденсатор 4.7-10 МкФ. Будь-який малопотужний діод.

У наведеній схемі вихідний сигнал подається на 1 контакт COM порту (DCD). Цей контакт не використовується стандартною мишею для COM порту, тому якщо у Вас не вистачає вільного COM порту, цю схему можна використовувати паралельно з мишею (але не модемом)! Вихідний сигнал можна подавати не тільки на DCD, а й на інші контакти, наприклад, CTS або DSR. Всі ці параметри можна виставити у програмі, яка працює в ІЧ приймачем. Варіантів програми кілька, найбільш поширена програма WinLIRC. Також можу порадити використати програму Girder.

Розпинування та зовнішній вигляд основних елементів схеми

Зліва на право - два різновиди 5-вольтових ІЧ-приймачів, і мікросхема стабілізатора напруги КРЕН5А.

Розпинування COM-порту

Розпинування та опис контактів COM порту (25 pin).

ІЧ-приймач, відіграє не останню роль у нашому, повсякденному житті. За допомогою цієї мікросхеми ми маємо можливість керувати сучасними благами побутової техніки, телевізором, музичним центром, автомагнітолою, кондиціонером. Це дозволяє нам робити, пульт дистанційного керування (ПДУ), розглянемо докладніше, його роботу, схему, призначення та перевірку. У статті, ик-приймач як перевірити самому.

Що таке ІЧ-приймач і як він працює

Це інтегральна мікросхема, її пряме та основне завдання, приймати та обробляти інфрачервоний сигнал, який якраз і видає пульт дистанційного керування. За допомогою цього сигналу відбувається управління технікою.

В основі цієї мікросхеми лежить pin фотодіод, особливий елемент, з p-n переходом та i областю між ними, аналог бази транзистора, як у бутерброді, ось вам і абревіатура pin, у своєму роді, унікальний елемент.

Він увімкнений у зворотному напрямку і не пропускає електричний струм. Ік-сигнал надходить на i область, і він проводить струм, перетворюючи його на напругу.


Наступні щаблі, інтегруючий фільтр, амплітудний детектор і на фініші на них чекають вихідні транзистори.

Як правило, купувати новий іч-приймач у магазині, немає особливого сенсу, тому що його вільно можна випаяти з різних електронних плат. Якщо ви збираєте пристрій для перевірки ПДК, з підручних матеріалів, не знаючи точного маркування приладу, то цоколівку можна визначити самому.


Нам знадобиться, мультиметр, блок живлення або декілька батарейок, з'єднувальні дроти, монтаж можна зробити навісною.

Він має три висновки, один GND, на другий подається плюс 5 вольт, а з третього виходить сигнал out. Підключаємо живлення відповідно першій та другій нозі, і знімемо напругу з третьої.


Він знаходиться в стані очікування сигналу з пульта, і на мультиметрі ми бачимо п'ять вольт. Починаємо перемикати канали або натискати на інші кнопки, направивши пульт на нього.

Якщо він робітник, то напруга просідатиме, приблизно на 0,5- 1 вольта. Якщо все відбувається, як написано тут, за робочим приладом, в іншому випадку, елемент не справний.

Як визначити цоколівку інфрачервоного приймача

Для прикладу я взяв зовсім невідому мені мікросхему, яка лежала в коробці з елементами, «мінус», був визначений, по точці, яка є на звороті елемента, «плюс», досвідченим шляхом через резистор. Я ні чим не ризикував, у те, що він спочатку робітник, надії не було.

Для визначення цоколівки ик-приймача, якщо він впаяний у плату, дивіться на ній, можливо, є маркування висновків. Якщо там нічого не написано, огляньте сам елемент, шукайте його назву, а потім в інтернеті пошукайте характеристики і дані, таке ведення справи, дуже грамотне. Дотримуючись інструкції, ик-приймач як перевірити самому.

схема із журналу "Юний Технік".

Цікавий напрямок радіоелектроніки, яка доповнила цю електроніку новими перевагами "невидимого" світла (інфрачервоне світло). Ось я і пропоную схему простого (для прикладу) приймача та передавача заснованого на інфрачервоних променях. Основа: операційний підсилювач к140уд7 (у мене тут уд708), що випромінює і приналежні ІЧ-фотодіоди, УНЧ (к548ун1а(б,в - індексами)- на два канали)(правда куди другий канал підсилювача "включіть" вирішувати вам - схема зрадника розрахована на один канал, тобто моно). Живлення пристрою: взагалі рекомендую з пристойною стабілізацією струмів (а так "дендюшний" адаптер дратує тлом "мережі"). Спосіб: амплітудно-модульований сигнал передавача посилюється приймачем у 1000 разів.

Як працює пристрій? Пропоную Вам переглянути невеликий відеоролик тестування ІЧ-пульта "на слух". Можна швидко перевірити працездатність та потужність сигналу по звуку.

Схема ІЧ-приймача та ІЧ-передавача

При складанні конденсатори С1 і С2 повинні бути якомога ближчими до підсилювача! До виходу можна підключити високоомні навушники (для низькоомних потрібен окремий УНЧ). Фотодіод ФД7(у мене ФД5.. якийсь: "таблетка" така з фокусуючою лінзою - не пам'ятаю точно найменування); 0.125Вт резистори: R1 з R4 задають коефіцієнт услінію сигналу в 1000 разів. Приймач налагоджується просто: фотодіод прямує на джерело ІЧ-випромінювання, наприклад, лампу 220в-50Гц: нитка розжарення буде фоніт з частотою 50Гц або пульт ДК від телевізора (відео і т.д.). Чутливість приймача велика: нормально приймає сигнали відбиті від стін .

На передавачі ІЧ світлодіоди АЛ107а: підійде будь-хто. R2 2 ком, С1 1000мкФх25в, С2 200мкФх25В, трансформатор теж будь-який. Хоча цілком можна обійтися без трансформатора - подати посилений аудіосигнал на конденсатор С2.

Схема пристроїв

Нещодавно за необхідності зібрав ІЧ приймач для перевірки ІЧ пультів (телевізорів та DVD). Після доопрацювання схеми – встановив моно УНЧ TDA7056. Цей підсилювач має гарні характеристики посилення близько 42 дБ; працює в діапазоні напрузі від 3В до 18В, що дозволило ІЧ приймачеві працювати навіть при напрузі 3В; діапазон посилення TDA від 20 Гц до 20кГц (УД708 проспукає до 800 кГц) цілком достатньо для використання приймача як аудіо супроводу; має захист від короткого замикання на всіх "ніжках"; захист від "перегріву"; слабкий коефіцієнт власних перешкод. Загалом мені сподобався цей компактний та надійний УНЧ (у нас він коштує 90р.).
Є до нього с. На рис.1 відображено приклад використання підсилювача.


Фото TDA7056



Рис.1. Схема підсилювача з TDA7056

У результаті вийшов ІЧ приймач рис.2, який працює у діапазоні напрузі від 3В до 12В. Рекомендую використовувати для живлення приймача батареї або акумулятори. При використанні блоку живлення необхідне стабілізоване джерело, інакше буде чути фон мережі 50Гц, який посилює УД708. Якщо пристрій знаходиться поблизу джерела напруги або радіовипромінювання, можуть виникнути наведення. Для зменшення перешкод у схему необхідно увімкнути конденсатор С5. TDA7056 розрахований на вихідний динамік 16 Ом, на жаль у мене такого немає. Довелося використовувати 4-омний динамік на 3 Вт, який був підключений через одноватний резистор 50 Ом. Занадто низький опір котушки динаміка викликає надлишок потужності та перегріває підсилювач. Загалом через додатковий резистор УНЧ не гріється, але забезпечує цілком прийнятне посилення.



Рис.2. Схема ІЧ приймача з УНЧ



Фото ІЧ приймача

Розглянемо цьому занятті підключення ІЧ приймача до Ардуино. Розкажемо яку бібліотеку слід використовувати для IR приймача, продемонструємо скетч для тестування роботи інфрачервоного приймача від пульта дистанційного керування та розберемо команди у мові C++ для отримання сигналу, що управляє.

Влаштування ІЧ приймача. Принцип роботи

Приймачі інфрачервоного випромінювання отримали широке застосування в електронній техніці, завдяки своїй доступній ціні, простоті та зручності у використанні. Ці пристрої дозволяють керувати приладами за допомогою пульта дистанційного керування та їх можна зустріти практично у будь-якому виді техніки.

Принцип роботи IR ресивера. Обробка сигналу від пульта дистанційного керування

ІЧ-приймач на Ардуїно здатний приймати та обробляти інфрачервоний сигнал, у вигляді імпульсів заданої тривалості та частоти. Зазвичай ІЧ-приймач має три ніжки і складається з наступних елементів: PIN-фотодіод, підсилювач, смуговий фільтр, амплітудний детектор, фільтр, що інтегрує, і вихідний транзистор.

Під дією інфрачервоного випромінювання у фотодіоді, у якого між pі nобластями створена додаткова область із напівпровідника ( i-область), починає текти струм. Сигнал надходить на підсилювач і далі смуговий фільтр, що захищає приймач від перешкод. Перешкоди можуть створювати будь-які побутові прилади.

Смужний фільтр налаштований на фіксовану частоту: 30; 33; 36; 38; 40 та 56 кілогерц. Щоб сигнал від пульта дистанційного керування приймався ІЧ приймачем Ардуіно, пульт повинен бути з тією ж частотою, на яку налаштований фільтр в IR приймачі. Після фільтра сигнал надходить на амплітудний детектор, що інтегрує фільтр та вихідний транзистор.

Як підключити ІЧ приймач до Ардуїно

Корпуси інфрачервоних приймачів містять оптичний фільтр для захисту приладу від зовнішніх електромагнітних полів, виготовляються вони спеціальної форми для фокусування випромінювання, що приймається на фотодіоді. Для підключення IR приймача Arduino UNO використовують три ніжки, які з'єднують з портами - GND, 5V і A0.

Для заняття нам знадобляться такі деталі:

  • Плата Arduino Uno;
  • Макетна плата;
  • USB-кабель;
  • IR приймач;
  • Пульт ДУ;
  • 1 світлодіод;
  • 1 резистор 220 Ом;
  • Провід «папка-папка» та «папка-мамка».

Схема підключення ІЧ приймача до аналогового порту Ардуїно

Підключіть IR приймач за схемою та світлодіоди до 12 та 13 піну та завантажте скетч.

#include // Підключаємо бібліотеку для IR приймача IRrecv irrecv(A0); // вказуємо пін, до якого підключений IR приймач decode_results results; void setup() // процедура setup(irrecv.enableIRIn(); // запускаємо прийом інфрачервоного сигналу pinMode (13, OUTPUT); // пін 13 буде виходом (англ. "output") pinMode (12, OUTPUT); // пін 12 буде виходом (англ. "output") pinMode (A0, INPUT); // пін A0 буде входом (англ. "intput") Serial .begin (9600); // Підключаємо монітор порту) void loop () // процедура loop ( if (irrecv.decode (&results)) // якщо дані прийшли виконуємо команди(Serial .println (results.value); // надсилаємо отримані дані на порт // Включаємо і вимикаємо світлодіоди, залежно від отриманого сигналу if (results.value == 16754775) ( digitalWrite (13, HIGH); ) if (results.value == 16769055) ( digitalWrite (13, LOW); ) if (results.value == 16718055) ( digitalWrite HIGH);) if (results.value == 16724175) ( digitalWrite (12, LOW); ) irrecv.resume (); // приймаємо наступний сигнал на ІЧ приймачі } }

Пояснення до коду:

  1. Бібліотека IRremote.h містить набір команд та дозволяє спростити скетч;
  2. Оператор decode_results надає отриманим сигналам від пульта дистанційного керування ім'я змінної results .

На що звернути увагу:

  1. Щоб можна було керувати увімкненням світлодіода необхідно включити монітор порту і дізнатися який сигнал відправляє та чи інша кнопка на пульті дистанційного керування;
  2. Отримані дані слід внести до скетчу. Змініть восьмизначний код у скетчі після знака подвійної рівності if (results.value == 16769055) на свій.

ІЧ-приймач пристрій, робота та перевірка

У телевізійної, побутової, медичної техніки та іншої апаратури широкого поширення набули ІЧ-приймачі інфрачервоного випромінювання. Їх можна побачити майже у будь-якому вигляді електронної техніки, керують ними за допомогою пульта дистанційного керування.


робота та структурна схема ІЧ приймача

Зазвичай мікроскладання ІЧ-приймача має від трьох висновків. Один є загальним та приєднується до мінуса харчування GND, інший до плюсу Vs, а третій є виходом сигналу Out.

На відміну від стандартного ІЧ фотодіода, ІЧ-приймач здатний не тільки приймати, а й обробляти інфрачервоний сигнал, у вигляді імпульсів фіксованої частоти та заданої тривалості. Це захищає пристрій від помилкових спрацьовувань, від фонового випромінювання та перешкод з боку інших побутових приладів, що випромінюють в інфрачервоному діапазоні. Достатньо сильні перешкоди для приймача можуть створювати люмінесцентні енергозберігаючі лампи зі схемою електронного баласту.

Мікрозбір типового ІЧ-приймача випромінювання включає: PIN-фотодіод, регульований підсилювач, смуговий фільтр, амплітудний детектор, інтегруючий фільтр, порогове пристрій, вихідний транзистор

PIN-фотодіод із сімейства фотодіодів, у якого між областями n і p створена ще одна область із власного напівпровідника (i-область) – це по суті прошарок із чистого напівпровідника без домішок. Саме вона надає PIN-діод його особливі властивості. У нормальному стані струм через PIN-фотодіод не йде, оскільки у схему він приєднаний у зворотному напрямку. Коли під дією зовнішнього ІЧ випромінювання в i-області генеруються електронно-діркові пари, то через діод починає текти струм. Що потім йде на регульований підсилювач.

Потім сигнал з підсилювача слідує на смуговий фільтр, що захищає від перешкод в ІЧ діапазоні. Смужний фільтр налаштований на фіксовану частоту. Зазвичай застосовуються фільтри, налаштовані частоту 30; 33; 36; 36,7; 38; 40; 56 та 455 кілогерц. Для того, щоб випромінюваний ПДУ сигнал приймався ІЧ-приймачем, він повинен бути модулирован той же частотою, на яку налаштований фільтр.

Після фільтру сигнал надходить на амплітудний детектор та інтегруючий фільтр. Останній необхідний для блокування коротких поодиноких сплесків сигналу, які можуть з'явитися від перешкод. Далі сигнал йде на граничний пристрій і вихідний транзистор. Для стійкої роботи коефіцієнт підсилення підсилювача настроюється системою автоматичного регулювання підсилення (АРУ).

Корпуси ІЧ-модулів виготовляються спеціальною формою, що сприяє фокусуванню прийнятого випромінювання на чутливу поверхню фотоелемента. Матеріал корпусу пропускає випромінювання із строго визначеною довжиною хвилі від 830 до 1100 нм. Таким чином, пристрій задіяний оптичний фільтр. Для захисту внутрішніх елементів від дії зовнішніх ел. полів використовується електростатичний екран.

Перевірка ІЧ-приймача

Так як приймач ІЧ-сигналів є спеціалізованою мікроскладання, то для того, щоб переконатися в її працездатності, потрібно подати на мікросхему напругу живлення, зазвичай це 5 вольт. Споживаний струм буде близько 0,4 – 1,5 мА.

Якщо приймач не надходить сигнал, то паузах між пачками імпульсів напруга з його виході практично відповідає напрузі живлення. Його між GNDі виведенням сигналу можна виміряти за допомогою будь-якого цифрового мультиметра. Також рекомендується заміряти споживаний мікросхемою струм. Якщо він перевищує типовий (див. довідник), то швидше за все мікросхема дефектна.

Отже, перед початком тесту модуля обов'язково визначаємо цоколівку його висновків. Зазвичай цю інформацію легко знайти, у нашому мегадовіднику датачитів з електроніки. Завантажити його ви можете натиснувши на малюнок праворуч.

Проведемо перевірку на мікросхемі TSOP31236, її розпинування відповідає малюнку вище. Плюсовий висновок від саморобного блоку живлення підключаємо до плюсового виведення ІЧ-модуля (Vs), мінус – виводу GND. А третій висновок OUT приєднуємо до плюсового щупа мультиметра. Мінусовий щуп приєднуємо до загального дроту GND. Мультиметр перемикаємо на режим напруги DC на 20 V.

Як тільки на фотодіод ІЧ-мікрозбірки почнуть надходити пачки інфрачервоних імпульсів, то напруга на його виході буде падати на кілька сотень мілівольт. При цьому буде добре помітно, як на екрані мультиметра значення зменшиться з 5,03 вольт до 4,57. Якщо відпустимо кнопку ПДУ, то на екрані знову з'явиться 5 вольт.

Як бачимо, приймач ІЧ випромінювання правильно реагує на сигнал із пульта. Значить модуль справний. Аналогічно можна перевірити будь-які модулі в інтегральному виконанні.

Інфрачервоний пульт дистанційного керування - один із найпростіших способів взаємодії з електронними приладами. Так, практично у кожному будинку є кілька таких пристроїв: телевізор, музичний центр, відеоплеєр, кондиціонер. Але найцікавіше застосування інфрачервоного пульта – дистанційне правління роботом. На цьому уроці ми спробуємо реалізувати такий спосіб управління за допомогою популярного контролера Ардуїно Уно.

1. ІЧ-пульт

Що потрібно для того, щоб навчити робота слухатись інфрачервоного (ІЧ) пульта? По-перше, нам знадобиться сам пульт. Можна використовувати звичайний пульт телевізора, а можна придбати мініатюрний пульт від автомагнітоли. Саме такі пульти часто використовуються для керування роботами. На такому пульті є 10 цифрових кнопок та 11 кнопок для маніпуляції з музикою: гучність, перемотування, play, stop тощо. Для наших цілей більш ніж достатньо.

2. ІЧ-датчик

По-друге, для прийому сигналу з пульта нам знадобиться спеціальний ІЧ-датчик. Взагалі ми можемо детектувати інфрачервоне випромінювання звичайним фотодіодом/фототранзистором, але на відміну від нього, наш ІЧ-датчик сприймає інфрачервоний сигнал тільки на частоті 38 кГц (іноді 40кГц). Саме така властивість дозволяє датчику ігнорувати багато сторонніх світлових шумів від ламп освітлення та сонця. Для цього уроку скористаємося популярним ІЧ-датчиком VS1838B, який має наступні характеристики:
  • несуча частота: 38 кГц;
  • напруга живлення: 2,7 - 5,5 В;
  • споживаний струм: 50 мкА.
Можна використовувати інші датчики, наприклад: TSOP4838, TSOP1736, SFH506.

3. Підключення

Датчик має три виводи (три ноги). Якщо подивитися на датчик з боку приймача ІЧ сигналу, як показано на малюнку,
  • то зліва буде - вихід на контролер,
  • по центру – негативний контакт живлення (земля),
  • і праворуч - позитивний контакт живлення (2.7 - 5.5В).
Принципова схема підключення Зовнішній вигляд макету

4. Програма

Підключивши ІЧ-датчик писатимемо програму для Ардуїно Уно. Для цього скористаємося стандартною бібліотекою IRremote, яка призначена якраз для спрощення роботи з прийомом та передачею ІЧ сигналів. За допомогою цієї бібліотеки прийматимемо команди з пульта, і для початку просто виводити їх у вікно монітора послідовного порту. Ця програма нам знадобиться для того, щоб зрозуміти, який код дає кожна кнопка. #include "IRremote.h" IRrecv irrecv(2); // вказуємо висновок, якого підключений приймач decode_results results; void setup() ( Serial.begin(9600); // виставляємо швидкість COM порту irrecv.enableIRIn(); // запускаємо прийом ) void loop() ( if (irrecv.decode(&results)) ( // якщо дані прийшли Serial .println(results.value, HEX);// друкуємо дані irrecv.resume(); // приймаємо наступну команду))) Завантажуємо програму на Ардуїно. Після цього пробуємо отримувати команди з пульта. Відкриваємо монітор послідовного порту (Ctrl+Shift+M), беремо в руки пульт і направляємо його на датчик. Натискаючи різні кнопочки, спостерігаємо у вікні монітора коди, що відповідають цим кнопкам. Проблема із завантаженням програмиУ деяких випадках, при спробі завантажити програму в контролер, може виникнути помилка: TDK2 не був зафіксований у його скопіЩоб її виправити, достатньо видалити два файли з бібліотеки. Заходимо у провідник. Переходимо в папку, де встановлено програму Arduino IDE (скоріше за все це C: Program Files (x86) Arduino). Потім до папки з бібліотекою: …\Arduino\libraries\RobotIRremote, і видаляємо файли: IRremoteTools.cppі IRremoteTools.h.Потім перезапускаємо Arduino IDE, і знову пробуємо завантажити програму на контролер.

5. Керуємо світлодіодом за допомогою ІЧ-пульта

Тепер, коли ми знаємо, які коди відповідають кнопкам пульта, намагаємося запрограмувати контролер на запалення та гасіння світлодіода при натисканні на кнопки гучності. Для цього нам знадобляться коди (можуть відрізнятися, залежно від пульта):
  • FFA857 - збільшення гучності;
  • FFE01F – зменшення гучності.
Як світлодіод, використовуємо вбудований світлодіод на виводі №13, так що схема підключення залишиться колишньою. Отже, програма: #include "IRremote.h" IRrecv irrecv(2); // вказуємо висновок, якого підключений приймач decode_results results; void setup() ( irrecv.enableIRIn(); // запускаємо прийом ) void loop() ( if (irrecv.decode(&results)) ( // якщо дані прийшли switch (results.value) ( ​​case 0xFFA857: digitalWrite(13, HIGH), break; case 0xFFE01F: digitalWrite(13, LOW); break; ) irrecv.resume(); // приймаємо наступну команду ) ) Завантажуємо на Ардуїно і тестуємо. Тиснемо vol+- Світлодіод запалюється. Тиснемо vol-- гасне. Тепер, знаючи як все це працює, можна замість світлодіода керувати двигунами робота, або іншими саморобними мікроелектронними пристроями!