Представляю на Ваш суд девайс «Сам себе конструктор». Практически все радиолюбители используют схемы с интернета переделывая под свои проекты, но как всегда, что-то не подходит и не устраивает. Данная конструкция тоже не является решением всех проблем, но автор постарался сделать расширенную версию ИК приемника имеющую на борту различные настройки. Итак к делу.

  Поддерживаемые пульты, программа рассчитана на протоколы приближенные к NEC (Обычный и расширенный) с RС-5 и подобными работать не будет.

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

 Все настройки работы программы делаем в EEPROM памяти.
Девайс позволяет настроить в работу от одного до пяти каналов, как раздельно так и хоть все каналы на одну кнопку пульта. В ячейку EEPROM с адресом 01h вводим число каналов плюс один «для мастер» кнопки (от 2h до 6h) т.е. если число 2h это для «мастер кнопки» и одного канала. Числа какие можно устанавливать- 2h для работы 1 канала, 3h - двух каналов,4h - трех каналов, 5h - четырех каналов, 6h - пяти каналов.

 Также любой канал может работать в режиме триггера или удержания. В ячейку EEPROM с адресом 02h вводим число в шестнадцатеричной форме полученное путем конвертации с двоичной т.е. двоичное число такого вида 00001= (1h) говорит о том, что четыре канала будут работать в режиме триггера (GP1, GP2, GP4, GP5), а первый GP0 (7 нога) в режиме удержания. 11111= (1Fh) - все каналы в режиме удержания. Числа- какие можно устанавливать от 1h до 1Fh.

  Для включения опции сохранения текущего состояния выходов в EEPROM в случае сбоя питания необходимо в ячейку с адресом 00h EEPROM записать число 01h, число 00h отключает сохранение и восстановление прежнего уровня. Уровень сохраняется только у каналов работающих в режиме триггера.

  Устройство позволяет включить в схему одну или две кнопки, запись числа 28h в ячейку EEPROM с адресом 03h разрешает подключение вместо нагрузки кнопку на выводе GP5- 2нога МК. Управлять кнопкой будем выводом GP1- 6 вывод МК также и с пульта, в данном случае количество каналов должно быть записано 5h с «мастер кнопкой».

  Запись числа 38h в ячейку EEPROM с адресом 03h разрешает подключение вместо нагрузки две кнопки на выводе GP4 - 3 нога МК и на выводе GР5- 2 нога МК Управлять 1 кнопкой будем выводом GP0 7 вывод МК и с пульта, Управлять 2 кнопкой будем выводом GP1 6 вывод МК и с пульта, в данном случае количество каналов должно быть записано 4h с «мастер кнопкой». Кнопки работаю в режиме триггера или удержания в зависимости от установленных данных в ячейке EEPROM с адресом 02H для каналов GP0 и GP1. 
Запись числа 8h или 0h в ячейку 03h выводы GP4 и GP5 работают на нагрузку.

  Включение инверсии каналов. Инверсия имеет смысл в каналах включенных на режим удержания и в режиме триггера если два и более каналов записаны на одну кнопку пульта. Запись производиться в ячейку EEPROM с адресом 04h в виде 000000= (00h) - нет инверсии, 111111=3F все каналы в инверсии, 100000=20h- только канал GP5 2 нога МК в инверсии и т.д.


Первое включение.

  На зашитый МК подаем питание все светодиоды мигают три раза число их зависит от установленного количества каналов в ячейке с адресом 02h. Устройство готово к записи «мастер кнопки» она записывается первой. Нажали кнопку на пульте светодиоды еще раз «моргнули» сообщая, что «мастер кнопка» записана. Далее нажимаем выбранные кнопки на пульте светодиоды поочередно загораются согласно запомненной команде. По завершению записи все тухнут и устройство готово к работе.
   Для перепрограммирования на другие кнопки или пульт, нажимаем «кнопку мастер» алгоритм записи повторяется. Если не предусматривается перезапись команд и «мастер кнопка» не желательна то после программирования всех команд необходимо прочитать МК в программаторе и заменить первый и второй байт на случайные числа в ячейке EEPROM с адресом 40h и 41h но только не FFh. 

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

  Используя два МК подключенные к одному ИК приемнику увеличим количество каналов до 10 и так далее в зависимости от того какую нагрузку выдержит ИК приемник или ставить буфер. В расширенном варианте записывать кнопки пульта придется раздельно, поочередно подключая IR приемник. Если каждому МК запишем свою «мастер кнопку» то в дальнейшем этих неудобств не будет. Думаю рационально будет для «мастер кнопки» использовать пульт с другого помещения.

Считанную с МК настроенную прошивку с записанными командами можно тиражировать без обучения командам.

Начальные установленные настройки:

1. В ячейке EEPROM с адресом 00 записано — 00h т.е. сохранение текущего состояния каналов нет.
2. В ячейке EEPROM с адресом 01 записано — 06h т.е. включены 6 каналов.
3. В ячейке EEPROM с адресом 02 записано — 1Fh т.е. все выводы в режиме удержания.
4. В ячейке EEPROM с адресом 03 записано — 08h т.е. кнопки не используем все выходы работают на вывод.
5. В ячейке EEPROM с адресом 04 записано — 00h т.е. инверсию не используем.
6. При подаче питания сразу переходим в режим записи команд (первой записываем «мастер кнопку»)            

Фото проверенных пультов:

Eeprom :

Скачать конвертер чисел

Скачать прошивку

Обсуждение на ФОРУМЕ

И немного домашнего видео:






   
delta24 # 31
 
 
Повторил классно сделал свет себе в подсветке потолка в корридоре работает на ура! спасибо


   
yevhen # 32
 
 
Всех с наступающим!
Схема очень понравилась.
Где можно достать asm фаил к прошивке.
Хочетелось бы его доработать под свои нужды.
Идея простая ДУ к игрушке.


   
Shotraba # 33
 
 
собрал работает автору огромное спасибо.
вот токо не придулал етой конструкции применение


   
fylht_fylht # 34
 
 
Привет всем. Схема очень ентересная но контроллера не могу найти есть только 12F675. Вы не могли бы создать прошивку под 12F675 ?


   
Juris # 35
 
 
Замечательный проект, просто и гениально. Хочу сказать особое Спасибо Автору, почему особое - поясню. Я люблю добавлять ИК управление к различным электронным проектам, освесчению в доме, и.т.д. Потому много вёл и веду поиски в интернете по различным проектам ИК управления. Но во многих случаях находитса немножко не то: то мало выходов, то слишком монстрально всё, то протокол не тот, и.т.п. А этот проект просто сказка: много выходов при маленьком чипе, кнопки если нужны, возможность инверсии, мой предпочитемый протокол NEC, ну и наращивать можно если надо. Так что - Большое Спасибо! :)
P.S.: если это здесь разрешено и есть интерес, могу выложить ссылки на другие ИК проекты, на мой взгляд достойные внимания.


   
Nikolai4 # 36
 
 
Juris, Сылки запрещены


   
Benzol # 37
 
 
недопонял.Хочу все каналы поставить в режим триггера. Значит надо в ячейку еепром с адресом 02h ввести 00h(т.е. в шестнадцатеричной форме это 00000). Но в описании сказано, что числа можно устанавливать только от 1h до 1Fh, а это от 00001 до 11111. чего я не понимаю?


   
Juris # 38
 
 
Уважаемый Автор, нет ли возможности "уговорить" данное устройство работать на 3 или больше выходах как на переключателях с зависимой фиксацией?. Спасибо.


   
ilan # 39
 
 
а в прошивке есть sleep режим или приемник все время требует питания?


   
ilan # 40
 
 
а можно сделать, чтобы все 5 выводов работали как кнопки?


   
Igory # 41
 
 
Здравствуйте! Спасибо за схему и прошивку. Применил пульт ДУ к ночнику. Все работает отлично. Но не пойму, как в EEPROM отменить "мастер кнопку" после настройки каналов выхода в МК! Пользуюсь програматором PIC-3/ В вашей инструкции написано, что:
-если «мастер кнопка» не желательна то после программирования всех команд необходимо прочитать МК в программаторе и заменить первый и второй байт на случайные числа в ячейке EEPROM с адресом 40h и 41h но только не FFh.
Где это сделать?


   
taime # 42
 
 
У меня поддерживает единственный пульт и то, тот который мне нужен для других целей… Переделайте пожалуйста под RC-5


Обновления

Сообщения ФорумаОтветов
3D Модели для Авто0
Бакометр 2335
Touch Start-Stop Engine.587
Кодграберр17
Исправляем AVR фьюзы при помощ …109
Бакометр - измеритель остатка…4
IR конструктор на PIC12F62977
Универсальное зарядное устройство103
бaкoмeтр1974
Двунаправленный автомобильный…2
Программатор GENIUS G8401
Светодиодный тахометр34
Индикаторы ГРИ ИН1 - ИН141
Multiprog1
Управляющая программа LED CUB959
Универсальное зарядное устройство9
Изготовлю печатные платы29
Простой автоматический выключа…25