Самодельный ИК-пульт дистанционного управления (PIC12F629)

Здесь обсуждаем устройства на МК и программы для них
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение rhf-admin »

Так понятно, почему. В программе используются прерывания от таймера. При любых прерываниях программа пика переходит по адресу 4h (запоминая в стеке откуда она перешла).
Хоть у меня в проге и не указан явно адрес 4h, но обработчик прерывания обозначен коментами:

Код: Выделить всё

*** Калибровка Генератора ***
      bsf    Status,5
      Call   3FFh       ; Загрузить калибровочную константу в w
      movwf  OSCCAL
      goto   start
;*** ПОДПРОГРАММА ПРЕРЫВАНИЯ ***
      bcf    GPIO,0
      ...
Твой код явно указывает компилятору, что по адресу 4h будут расположены команды "nop" - нифига не делать и "retfie" - выход из прерывания (пик берёт из стека адрес команды, который он запомнил при переходе к обработчику прерывания) с установкой бита разрешения всех немаскированных прерываний. Соответственно, мой обработчик (bcf GPIO,0 и т.д.) никогда не выполнится.
С уважением, администрация сайта.
sergejus
Читатель
Читатель
Сообщения: 23
Зарегистрирован: 09 дек 2012, 13:30

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение sergejus »

Я уже наверно надоел с этим дист. управлением. Сегодня всётки снова собрал приёмник и пульт опять на Pic'ах. использовал программу для приёма по проще и ничего не работало. тогда записал программу ту что по сложнее, которая проверяет систему и комманду. опять ничего. взял пульт от телика. и загорелась красная лампочка. ну думаю наконец хоть как то среагировало. пульт у меня от старых теликов samsunga универсальный и ещё от LG. по идее должна система совпасть и жёлтый загорется. :x ну да бог с ним, вопрос с пультом. что получается он у меня вообще не работает? если даже хотя бы о неточной системе не сообщает? как узнать посылает ли он что нибудь вообще и где искать причину? в пульте или приёмнике или везде?
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение rhf-admin »

Ага, либо пульт не посылает вообще ничего, либо посылает не на той частоте. Взять сцил и посмотреть прямо на пульте, что он там посылает. Прицепиться к какой-нить ноге светодиода и посмотреть - есть ли там импульсы и какой частоты. Потом сцилом посмотреть что принимает приёмник. Потом тоже самое можно проделать с пультом от телека (что посылает, что принимает приёмник). Если выложишь все 4 скана я тебе точно скажу, что не так.
С уважением, администрация сайта.
sergejus
Читатель
Читатель
Сообщения: 23
Зарегистрирован: 09 дек 2012, 13:30

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение sergejus »

а можно сделать вообще просто что бы посылалось и распознавалось без всяких там протокоолов rc5? чтоб не надо было никакой точности? мне надо тока 3 комманды чтоб самодельный пульт посылал и в зависимости от них диоды зажигались. нельзя не используюя всех стандартов просто послать какую либо последовательность единиц/нолей и рапознать? или это не будет проще чем подстраивать то что есть?
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение rhf-admin »

Какой-то протокол по-любому должен быть, иначе как отличить ту посылку, которая нужна от любой другой. RC-5 - это и есть по сути набор единиц и нулей. Но кое-что сделать всё-таки можно. Можно переписать программу приёмника, чтобы она не отсчитывала нужные интервалы времени, а реагировала на изменение сигнала на ноге, к которой подключен фотоприёмник. Это избавит нас от необходимости точной синхронизации. Попробую переписать на досуге.
С уважением, администрация сайта.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение rhf-admin »

Ну вот, попробовал написать программку для приёмника, которая бы вообще от стабильности кварца не зависела
(номер системы, кстати, не проверяется, на это тоже пофиг):
RC5.zip
(3.87 КБ) 668 скачиваний
Пока в железе не тестил, попробуй потестить. А я вечерком тоже попробую.
С уважением, администрация сайта.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение rhf-admin »

Гы, вроде работает, только не инвертирует почему-то, диоды так и остаются зажженными. Хм, бум думать. :-?
С уважением, администрация сайта.
zerocross2013
Читатель
Читатель
Сообщения: 2
Зарегистрирован: 24 янв 2014, 01:55

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение zerocross2013 »

Здравствуйте !
У меня возник вопрос - Как переделать программу пульта под модуляцию 38 кгц и как рассчитывается константа в программе так как от этого будет зависеть дальность работы ?
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение rhf-admin »

О какой константе речь? Если о калибровочной, то она не рассчитывается, она на заводе зашивается. Её надо считывать, а потом назад записывать (или в программе программатора указывать, что её менять не надо). Самому только сцилом подобрать можно.

Чтобы переделать программу под 38 кГц - надо увеличить в ней задержки. Для более детального ответа - код выложи или ссылку, о какой программе речь, а то тут уже каких только вариантов нет.
С уважением, администрация сайта.
zerocross2013
Читатель
Читатель
Сообщения: 2
Зарегистрирован: 24 янв 2014, 01:55

Re: Самодельный ИК-пульт дистанционного управления (PIC12F629)

Сообщение zerocross2013 »

А подразумеваю исходник с комментариями http://radiohlam.ru/program/ikpult_pic12_prg_rc5.htm
Программа (в данной программе частота несущей 36 кГц, ).
Ответить

Вернуться в «Устройства на микроконтроллерах»