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

Здесь обсуждаем устройства на МК и программы для них
sshost
Читатель
Читатель
Сообщения: 23
Зарегистрирован: 01 янв 2013, 19:01

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

Сообщение sshost »

а так в слип не уходит (а кнопки нажимаются и команды излучает)
http://dr-shost.com/files/ikrc5s2.asm
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

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

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

Во-первых, вот эта команда:

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

bcf	INTCON,GIE
перед формированием старшего байта пакета - лишняя, поскольку при старте все биты регистра INTCON итак сброшены в ноль. Если ты их не устанавливал, то и сбрасывать не надо.

Далее. Из даташита:
Когда бит глобального разрешения прерываний GIE сброшен в '0', а бит разрешения периферийных прерываний и соответствующий флаг прерывания установлен в '1', то микроконтроллер немедленно выйдет из режима SLEEP...
То есть, перед тем, как уйти в sleep, - надо прочитать GPIO и сбросить флаг GPIF иначе контроллер из этого режима сразу выйдет.
С уважением, администрация сайта.
sshost
Читатель
Читатель
Сообщения: 23
Зарегистрирован: 01 янв 2013, 19:01

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

Сообщение sshost »

в итоге код со слипом (ток в слипе 0.2мка примерно, м830 кончился) (4 кнопки, канал +_ и громкость +_):

http://dr-shost.com/files/629-rc5-sleep.zip

канал + на выводе 2, канал - на выводе 3, 4й вывод на +пит через 10к, 7й вывод - 4.7к на базу bc548c, его коллектор через 4.7 ом на ифк диод и на пит, эмиттер - в землю
вывод 6 - громкость -, вывод 5 - громкость + (ну и 1 - питание, 8 - земля, меж ними прямо к ногам 0.1мкф керамика)
кондер обычный с мамок (тонкий) 100мкфх16в 105 град

5 метров (далее комната кончилась) на 38кгц приемник и atmega8 с alps rk168:
http://dr-shost.com/files/mega8-remote.zip

в ду rc2032 одна

писк от восторга :)
sshost
Читатель
Читатель
Сообщения: 23
Зарегистрирован: 01 янв 2013, 19:01

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

Сообщение sshost »

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

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

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

Здорово! Поздравляю.
По-моему вот так тоже должно работать:

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

Scan       btfss   GPIO,5           ; если на входе GP5 низкий уровень - нажата клавиша 1
           goto    Tx_CMD1          ;
           btfss   GPIO,2           ; если на входе GP2 низкий уровень - нажата клавиша 2
           goto    Tx_CMD2          ;
           btfss   GPIO,4           ; если на входе GP4 низкий уровень - нажата клавиша 3
           goto    Tx_CMD3          ;
           btfss   GPIO,1           ; если на входе GP1 низкий уровень - нажата клавиша 4
           goto    Tx_CMD4          ;
           bsf     MBC,5            ; установить управляющий бит в 1 (первое нажатие)
           movf GPIO,w
           bcf  INTCON,GPIF 
           sleep
           nop
           goto Scan                ;
Нам же главное, чтобы перед sleep флаг GPIF был сброшен, а после сна-то пофиг, программа же всё равно круг пройдёт и сбросит GPIF перед sleep.
GPIF можно будет сбросить, если GPIO будет соответствовать тому, что реально на ногах микрухи, а несоответствие можно устранить
просто командой чтения, не обязательно потом ещё и обратно записывать то, что прочитал.
Проверь, если есть возможность.
С уважением, администрация сайта.
sshost
Читатель
Читатель
Сообщения: 23
Зарегистрирован: 01 янв 2013, 19:01

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

Сообщение sshost »

потом гляну, чипы кончились
а все сейчас сидит в таком корпусе
http://www.ebay.com/itm/Universal-Infra ... 2ec08a027c

их кляксу сверлом аккуратно снять, на ее место в so8 629й
(клякса легко теряет коды, и вбитый rc5 кривой там, так, игрушка (на каком то ресурсе народ писал - в универсальных пультах у них одни и те же кривые коды, кто то их так снял и друг у друга теперь копируют)
одно но - паяться тока к дорожкам, переходы типа угольных, от паяла кирдык сразу, ну и не трогать зону где батарейка вставляется: все делать вне ее
2032 нормально встает (вместо исходной 2025, можно и родную, конечно, оставить, но она пожиже)
batir
Читатель
Читатель
Сообщения: 11
Зарегистрирован: 27 окт 2011, 01:13

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

Сообщение batir »

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

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

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

Бр, о какой программе речь, тут уже всяких версий полно (код в студию)? И что конкретно работает неправильно?
С уважением, администрация сайта.
batir
Читатель
Читатель
Сообщения: 11
Зарегистрирован: 27 окт 2011, 01:13

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

Сообщение batir »

прошу прошения . речь о Программа для самодельного ИК-пульта, протокол NEC (кодирование длиной паузы). спасибо разобрался я проверял на 12f675 . отключил АЦП и переключил аналоговые входы на цифровые заработало . как здесь можно сделать спящий режим . можно добавит в программу этот кусок?
bsf INTCON,GPIE
bcf INTCON,GIE
--------------------------------------
bcf INTCON,GPIF
movf GPIO,w
movwf GPIO
sleep
nop
bcf INTCON,GPIF

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

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

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

Да мне кажется, даже если просто перед goto Scan sleep добавить, то будет работать.
Мы же когда из прерывания выходим - все флаги и прерывания сбрасываем. Проверь.
С уважением, администрация сайта.
Ответить

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