Visits: 966 Индикатор кода – RC-5 Protocol Philips При конструировании дистанционного управления на инфракрасных лучах для контроля удобно иметь индикатор кодов передаваемых пультом. Плата ch-c3000 позволяет изготавливать устройства с возможностью установки фото приемников типа TSOP4836. Введение Многообразие недорогих пультов дистанционного управления с кодировкой RC-5, выпускаемых разнообразными производителями, делает его привлекательным для управления бытовыми приборами. При …
Читать далее Индикатор кода – RC-5 Protocol Philips
Метка:ДУ ИК
Применение модуля ССР в режиме захвата
Visits: 1406
Использование модуля ССР для декодирования команд
ИК пульта – APA1616.
Для управление домашней автоматикой удобно использовать недорогие пульты дистанционного управления на ИК-лучах.
Пульт простой, компактный, экономичный питание одна батарейка 3,3 V CR2025. Рассмотрим передачу пульта:
Начитается передача с формирования синхро импульса, длительность его 13 мс, длительность передачи 0 – 1,14 мс, 1 – 2,23 мс. Кодируется просто начало бита (или синхроимпульса) это отрицательный перепад. Для декодирования необходимо синхронизироваться от отрицательного перепада и измерять длительность. В передачи три байта (24 бита). Информационный последний байт. После передачи команды передается код автоповтора – бит длительностью 11 мс.
Логика декодирования проста. Ждем отрицательный перепад, измеряем длительность, далее проверяем если длительность больше 13 мс. Это синхробайт. Если больше 10 мс – это автоповтор. Если больше 1,9 мс – передача бита 1. Если больше 0,9 мс – передача – 0.
Декодирование выполним при помощи модуля CCP работающего в режиме ЗАХВАТА.
Настройка модуля, для измерения выберем CCP4:
T1CON=0b00110001; // настройка таймера T1CON // |||||| | // |||||| +-- TMR1ON таймер включить // |||||+---- T1SYNC синхронизация отключена // ||||+----- T1OSCEN генератор отключен // ||++------ T1CKPS настройка предделителя 00 - 1:1 // ++-------- TMR1CS выбор тактовой частоты FOSC CCP4CON=0b00000100; // вход RB0 // ++++-- CCPxM<3:0>: режим работы - Capture mode: every falling edge
По каждому отрицательному перепаду формируется прерывание, в этот все необходимые измерения и вычисления.
void interrupt my_isr(void) // высоко приоритетное прерывание { if(CCP4IF)// { CCP4IF=0; // сброс вектора прерывания. pwm_reg=TMR1L; pwm_reg += TMR1H << 8; TMR1L=0; TMR1H=0; if(pwm_reg>12000&&TMR1IF)// передача синхроимпульса должна сопровождаться переполнением таймера { chetchic=24;//счетчик бит (3 байта 8*3=24) TMR1IF=0; } else if (pwm_reg>10000)// передача "бита автоповтора" { AUTO=1; } else if (pwm_reg>1900&&chetchic>0) // передача "1" { bait01>>=1; bait01 |= 0b10000000; chetchic--;//подсчет принятых бит if(!chetchic&&bait01<24)PRIEM=1;// установить флаг команда принята если переданы все 24 бита и полученные данные меньше 24 } else if (pwm_reg>900&&chetchic>0)// передача "0" { bait01>>=1; chetchic--;//подсчет принятых бит if(!chetchic&&bait01<24)PRIEM=1;// установить флаг команда принята если переданы все 24 бита и полученные данные меньше 24 } } }//
При получении прерывания от CCP модуля, считываем значение с Таймера, сбрасываем его. Полученную длительность с модуля CCP сравниваем с заранее выбранными параметрами.
Для индикации принятой команды используется главный цикл программы.
while(1) { CLRWDT(); // сброс сторожевого таймера //----------------------------------------------------------- if(PRIEM) // если передача получена, вывести индикацию { PRIEM=0; bin_dec (bait01,0);// преобразование для индикации indic (dmil,miln,stys,dtys,tysc,sotn,dest,edin,0); // вывод значения на дисплей } if(AUTO) { AUTO=0; indic (cP,co,0,0,0,0,dest,edin,0); // вывод значения на дисплей передачи автоповтора __delay_ms(30); indic (dmil,miln,stys,dtys,tysc,sotn,dest,edin,0); // вывод значения на дисплей } __delay_ms (20);// это так для прикола }
Для демонстрации используется ИК порт платы ILLISSI-4С-01-secundo. На ней установлен ИК-приемник с несущей 36 кГц. Хотя пульт использует несущую в 38 кГц. прием вполне приемлемый и габаритах обычной квартиры до 10 метров в прямой видимости работает отлично. При расстоянии до 5 метров возможен уверенный прием и при отраженном сигнале. Если необходима большая чувствительность то рекомендуется применить приемник с несущей 38 кГц.
Для демо примера используются сборка из плат ILLISSI-4B-03-primum и ILLISSI-4С-01-secundo.
Кодировка пульта простая, в нем 24 клавиши, коды с 0 до 23. Соответствие кодов клавишам.
00 – 01 – 02 – 03
04 – 05 – 06 – 07
08 – 09 – 10 – 11
12 – 13 – 14 – 15
16 – 17 – 18 – 19
20 – 21 – 22 – 23
Фото проекта
Видео проекта
Файлы проекта
Версия – 1.1
Применение модуля ССР в режиме захвата - v1.1 29.14 KB 760 downloads
Использование модуля ССР для декодирования...Применение модуля ССР в режиме захвата - v1.4 20.67 KB 868 downloads
Использование модуля ССР для декодирования...Это может быть интересно
- APA102 – светодиоды со встроенным драйвером и SPI интерфейсомVisits: 3240 APA102 В 2014 году фирма Shenzhen Led Color Optoelectronic Co., Ltd http://www.szledcolor.com/ начала производство светодиодов на драйвере APA102. Это серия так называемых светодиодов со встроенным драйвером. Основной особенностью этих …
- Четырех канальный терморегулятор ch-4000Visits: 3126 Четыре независимых канала регулирования температуры, одновременно можно подключить 16 датчиков температуры DS18B20 с удалением до трехсот метров. Можно для регулировки выбрать любой датчик, подключенный к устройству. Каждый канал может работать …
- Одноканальный емкостной сенсор – AT42QT1012Visits: 2313 Описание сенсора [wpdm_file id=242] Незаконченный проект, так-как сенсор не оправдал своего назначения, не рекомендую, просто выброшенные деньги. Особенности. • Количество сенсоров – один, режим переключения ( touch-on/touch-off ), а также программируемая …
- Проект с использованием MCC часть 12-1Visits: 892 В настоящее время без визуализации информации уже не интересно. Поэтому научимся выводить информацию на дисплей. Для это возьмет простенький OLED RET012864E/REX012864J я такой приобретал в фирме “Гамма-Украина”, описание можно …
- Development board based on MCU PIC18F47Q84Visits: 692 PIC18F47Q84 Microcontroller Family with CAN Flexible Data Status: In Production. Метки: Altium Designer, jlcpcb, pic18, PIC18F47Q84
- Гаджеты для домашней автоматики – Датчик приближенияVisits: 1926 Управление светодиодным освещением – Датчик приближения. Данный гаджет предназначен для управления внутренним освещением мебели. Датчик позволяет определить закрытие или открытие дверцы или ящика и при этом включать или …
- Система отопления на солнечных коллекторах от Дмитрия (rv3dpi)Visits: 3162 Солнечные коллекторы для отопления в Европе используют в более 50% от общего количества установленных гелиосистем. Однако следует понимать, что гелиосистемы предназначены лишь для поддержки отопления и экономии затрат на основную …
- Светодиоды со встроенным драйвером WS2812BVisits: 903 Производитель http://www.world-semi.com Краткое описание продукции фирмы Каталог продукции” catcatcat_ws_19 catcatcat_ws_15 catcatcat_ws_11 catcatcat_ws_07 catcatcat_ws_03 catcatcat_ws_18 catcatcat_ws_14 catcatcat_ws_10 catcatcat_ws_06 catcatcat_ws_02 catcatcat_ws_05 catcatcat_ws_09 catcatcat_ws_13 catcatcat_ws_17 catcatcat_ws_16 catcatcat_ws_12 catcatcat_ws_08 catcatcat_ws_04 catcatcat_ws_01 This jQuery …
- Altium Designer first projectVisits: 212 Эта статья подразумевает, что у вас установлен и настроен Altium Designer как описано в статье Altium Designer my setup system and project structure. Обратите внимание! Библиотека постоянно обновляется, …
- AD9833 – Programmable Waveform Generator – part twoVisits: 1638 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …
Контроллер управления светодиодным освещением с дистанционным управлением
Visits: 1979 Все активнее светодиоды входят в нашу жизнь. Всё эффективнее становится светодиодное освещение. Всё ниже опускаются цены. Всё больше появляется возможностей получения сочных цветов, простоты в управлении. Всё чаще можно увидеть светодиоды в оформлении и декоративном освещении. В этой статье мы рассмотрим создание простого контроллера управления светодиодным освещением. Современные компоненты позволяют создавать компактные …
Читать далее Контроллер управления светодиодным освещением с дистанционным управлением