Индикатор кода – RC-5 Protocol Philips

Просмотров: 891 Индикатор кода – RC-5 Protocol Philips При конструировании дистанционного управления на инфракрасных лучах для контроля удобно иметь индикатор кодов передаваемых пультом. Плата ch-c3000 позволяет изготавливать устройства с возможностью установки фото приемников типа TSOP4836. Введение Многообразие недорогих пультов дистанционного управления с кодировкой RC-5, выпускаемых разнообразными производителями, делает его привлекательным для управления бытовыми приборами. При …
Читать далее Индикатор кода – RC-5 Protocol Philips

Применение модуля ССР в режиме захвата

Просмотров: 1305


Использование модуля ССР для декодирования команд
ИК пульта – APA1616.

Для управление домашней автоматикой удобно использовать недорогие пульты дистанционного управления на ИК-лучах.

apa1616_illissi
Пульт простой, компактный, экономичный питание одна батарейка 3,3 V CR2025. Рассмотрим передачу пульта:

du-01

Начитается передача с формирования синхро импульса, длительность его 13 мс, длительность передачи 0 – 1,14 мс, 1 – 2,23 мс. Кодируется просто начало бита (или синхроимпульса) это отрицательный перепад. Для декодирования необходимо синхронизироваться от отрицательного перепада и измерять длительность. В передачи три байта (24 бита). Информационный последний байт. После передачи команды передается код автоповтора – бит длительностью 11 мс.

du-04

Логика декодирования проста. Ждем отрицательный перепад, измеряем длительность, далее проверяем если длительность больше 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

du-02

По каждому отрицательному перепаду формируется прерывание, в этот все необходимые измерения и вычисления.

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

 


Фото проекта

du-03


Видео проекта

 


Файлы проекта

Версия – 1.1

Значок

Применение модуля ССР в режиме захвата - v1.1 29.14 KB 753 downloads

Использование модуля ССР для декодирования...
Обновление v1.4 блокировка автоповтора если нет передачи команды. 
Значок

Применение модуля ССР в режиме захвата - v1.4 20.67 KB 860 downloads

Использование модуля ССР для декодирования...



Это может быть интересно


  • Просто о структурах и объединениях в СиПросто о структурах и объединениях в Си
    Просмотров: 2003 Какие задачи нам позволяют решать структуры и объединения? Для разработчика встроенных систем эффективность и компактность кода всегда на первом месте. Если программировании на Ассемблере ты сам определяешь как …
  • Проблемы классической светомузыкиПроблемы классической светомузыки
    Просмотров: 1791 Светомузыка – что это такое? Определение: Светомузыка  (жаргонное: цветомузыка)  — вид искусства, основанный на способности человека ассоциировать звуковые ощущения со световыми восприятиями. Такое явление в неврологии получило название …
  • PIC18F25K42 – v. A001 – выявленные баги.PIC18F25K42 – v. A001 – выявленные баги.
    Просмотров: 518 Модуль I2C Не работает при использовании в стандартной конфигурации MCC. Требует особой нестандартной конфигурации и управления для нормальной работы. Обойти Обход проблемы возможен библиотека см статью. Модуль ADC2 На …
  • Проект с использованием MCC часть 15Проект с использованием MCC часть 15
    Просмотров: 1311 EUSART – Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter, UART) — узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. … читать на вики. Внесем изменения в нашу схему, …
  • ESP8266  процедура получение данных даты и времени от серверов точного времени.ESP8266 процедура получение данных даты и времени от серверов точного времени.
    Просмотров: 5254 Эта функция доступна уже в версии 1.6.1. Для многих приложений, необходимо часы реального времени,  если в вашем проекте есть модуль WiFI ESP8266, то легко можно сделать следующим образом. …
  • LED модуль P10C4V12LED модуль P10C4V12
    Просмотров: 2835 LED панели на обычных регистрах типа 74HC595. Они выпускаются как монохромные так двух и полно цветные, особенность, что они предназначены для текстовой информации и имеют один уровень яркости. Общую яркость …
  • Регулятор влажности ch-3800Регулятор влажности ch-3800
    Просмотров: 867   И еще один проект на плате ch-c3xxx –  универсальный регулятор влажности ch-3800. Регулятор позволяет работать как в режиме индикатора влажности, так и в режиме регулятора. Рабочий диапазон …
  • Стабилизатор тока для светодиодов SN3350Стабилизатор тока для светодиодов SN3350
    Просмотров: 2423 SN3350 ближайший аналог ZXLD1350 Как собрать готовый вариант, читайте во второй части – http://catcatcat.d-lan.dp.ua/stabilizator-toka-na-sn3350-chast-2/ 40V  драйвер светодиодов с внутренним ключом  SN3350 – импульсный понижающий преобразователь, разработанный для того, чтобы эффективно управлять одним или …
  • Простой цифровой регулятор мощностиПростой цифровой регулятор мощности
    Просмотров: 5973 Простой регулятор мощности с цифровой индикацией. Этот проект создан как обучающий, для ознакомления с основами построения сетевых регуляторов мощности. Устройства подобного типа можно использовать для управления освещением, скоростью …
  • JDY-62A Audio bluetooth moduleJDY-62A Audio bluetooth module
    Просмотров: 1265 Простой модуль для простого аудио блютуса. Встроенные подсказки на английском языке. Модуль включён, режим муте – после подачи питания. Контроль разряда батареи предупреждение что батарея разряжена и необходима …



Контроллер управления светодиодным освещением с дистанционным управлением

Просмотров: 1836 Все активнее светодиоды входят в нашу жизнь. Всё эффективнее становится светодиодное освещение. Всё ниже опускаются цены. Всё больше появляется возможностей получения сочных цветов, простоты в управлении. Всё чаще можно увидеть светодиоды в оформлении и декоративном освещении.   В этой статье мы рассмотрим создание простого контроллера управления  светодиодным освещением. Современные компоненты позволяют создавать компактные …
Читать далее Контроллер управления светодиодным освещением с дистанционным управлением