Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы

RC5+atmega 8

Непрочитано 26.08.2012, 21:17  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: RC5+atmega 8

вот что получилось. Там я на ЖК вывел себе все интервалы. 2 МГц микруха пашет. 250 000 таймер выставил. подключение такое. ИК на 5 вольт питание. Выход сразу на ножку МК и там на выходе светодиод параллельно подключен(на минус через резистор) чтоб дублировать визуально мерцание при нажатии кнопки на пульте. Из четырех пультов только 3 стабильно почти. Один какойто глючный совсем. У меня два пульта от тюнера авермедиа. Комп оба принимает сигнал и оба декодируются хорошо. Редко ошибки. А два еще от ФМ-модулятора в машине. Оба одинаковые, но один работает оч плохо. Чуть позже сделаю для проверко управление яркостью светодиода потом отпишусь. Огромное спасибо Flopix и за статью omercury
Вложения:
Тип файла: rar New2 RC5 AT8.rar (3.4 Кб, 95 просмотров)
Реклама:
miwutka вне форума  
Непрочитано 26.08.2012, 22:09  
Flopix
Гражданин KAZUS.RUN
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: RC5+atmega 8

miwutka, светодиод нагружать на выход ИК датчика это очень плохая идея. Отключите его. Посмотрите в даташите на свой приемник рекомендуемую схему включения. Там питание желательно подключать к 5В через резистор около 100 Ом, а после него параллельно питанию электролит. конденсатор на 10 или более мкФ, для фильтрации помех по питанию.



И еще. Если пульт все таки имеет протокол RC5 то этот алгоритм не подходит в принципе. Для анализа проблемы нужно все таки разкоментировать цикл вывода временных задержек, чтобы посмотреть всю последовательность принимаемого сигнала, иначе будете гадать еще очень долго.

Но для начала отключите светодиод и проверьте еще раз работу устройоства со всеми своими пультами.

Последний раз редактировалось Flopix; 26.08.2012 в 22:22.
Flopix вне форума  
Непрочитано 26.08.2012, 22:28  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: RC5+atmega 8

Сообщение от miwutka Посмотреть сообщение
Выход сразу на ножку МК и там на выходе светодиод параллельно подключен(на минус через резистор)
ОБЯЗАТЕЛЬНО нагрузить TSOP резистором на 10к с выхода на +5в. Светодиод можно (но не желательно) поставить параллельно нагрузочному резистору со своим токоограничительным резистором не менее 1к.
У TSOP выход с открытым коллектором.
omercury вне форума  
Непрочитано 26.08.2012, 22:30  
gary2007
Почётный гражданин KAZUS.RUN
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,440
Сказал спасибо: 375
Сказали Спасибо 1,052 раз(а) в 621 сообщении(ях)
gary2007 на пути к лучшему
По умолчанию Re: RC5+atmega 8

Сообщение от omercury Посмотреть сообщение
У TSOP выход с открытым коллектором
Там есть резистор, меряется тестером между выходом и плюсом.
По крайней мере для TSOP322.., TSOP324.., TSOP348.., TSOP344
Миниатюры:
Нажмите на изображение для увеличения
Название: TSOP322.., TSOP324.., TSOP348.., TSOP344.JPG
Просмотров: 159
Размер:	109.3 Кб
ID:	38093  
__________________
Мелочи не решают главного. Они решают всё!
gary2007 вне форума  
Непрочитано 26.08.2012, 22:42  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: RC5+atmega 8

Сообщение от gary2007 Посмотреть сообщение
Там есть резистор
Возможно, но как-то не надеюсь я на внутреннюю подтяжку...
Да и все производители бытовой техники со мной солидарны...
omercury вне форума  
Непрочитано 26.08.2012, 23:32  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: RC5+atmega 8

на всех пультах стало всё четко. Спасибо. Команда четко, а вот адрес - а1 четко, а2 то 254 то 255. на другом пульте а2 то 197 то 196 на разных кнопках. но на одной и тойже кнопке не прыгает число. Значит дело в подключении ИК-датчика было. Еще такой вопрос: а как понять какой бит отвечает за состояние кнопки, нажата или нет? Там же есть какой-то бит который инвертируется при каждом нажатии кнопки... Или как самому определать нажата или нет кнопка? Самому завести байтовую переменную?
miwutka вне форума  
Непрочитано 26.08.2012, 23:44  
Albert_V
Гражданин KAZUS.RUN
 
Регистрация: 13.04.2012
Адрес: Королёв МО
Сообщений: 785
Сказал спасибо: 620
Сказали Спасибо 363 раз(а) в 199 сообщении(ях)
Albert_V на пути к лучшему
По умолчанию Re: RC5+atmega 8

Сообщение от miwutka Посмотреть сообщение
.......Там же есть какой-то бит который инвертируется при каждом нажатии кнопки.........
Здесь достаточно подробно всё расписано. А нажата кнопка или нет проще сделать по тайм-ауту приёма посылки. 1,5 времени ничего нет - отпущена.
Миниатюры:
Нажмите на изображение для увеличения
Название: Rc-5_protocol_details.jpg
Просмотров: 148
Размер:	120.6 Кб
ID:	38100  

Последний раз редактировалось Albert_V; 26.08.2012 в 23:46.
Albert_V вне форума  
Непрочитано 26.08.2012, 23:47  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: RC5+atmega 8

Сообщение от miwutka Посмотреть сообщение
на всех пультах стало всё четко. Спасибо. Команда четко, а вот адрес - а1 четко, а2 то 254 то 255. на другом пульте а2 то 197 то 196 на разных кнопках. но на одной и тойже кнопке не прыгает число. Значит дело в подключении ИК-датчика было. Еще такой вопрос: а как понять какой бит отвечает за состояние кнопки, нажата или нет? Там же есть какой-то бит который инвертируется при каждом нажатии кнопки... Или как самому определать нажата или нет кнопка? Самому завести байтовую переменную?
Так и не заглянул в мой текст. Там есть и работа с битом повтора. Хозяин - барин...
Впрочем, тебе указали уже, где читать..
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 26.08.2012, 23:57  
Flopix
Гражданин KAZUS.RUN
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: RC5+atmega 8

Самое смешное что в коде который сейчас использует miwutka тоже есть переменная отвечающая за повтор.

unsigned char pult_state;

когда ничего не нажато она равна PULT_NONE
если нажата клавиша PULT_PRESS_KEY
если клавиша удерживается PULT_REPEAT_KEY

эти константы заданы как
#define PULT_NONE 0
#define PULT_PRESS_KEY 1
#define PULT_REPEAT_KEY 2


ну а в pult_c1 содержится код клавиши


Если контролироваться код клавиши будет в основном цикле программы то таймаут так просто ставить нежелательно, можно пропустить нажатие клавиши.
Лучше периодически проверять переменную pult_state, если она равна PULT_PRESS_KEY или PULT_REPEAT_KEY, выполнить необходимое действие и присвоить pult = PULT_NONE

И тогда в блоке
PHP код:
if (cnt == 32)//принят весь код
{
    pult_state = PULT_PRESS_KEY;
    //SendPacketToUSB(1, 3);
} 
Желательно сразу же присвоить переменную pult_c1 какой нибудь новой глобальной переменно. Чтобы не получилось, что когда в main() программа читает значение переменной она заполнена не полностью так как принимается новая клавиша.

Последний раз редактировалось Flopix; 27.08.2012 в 00:14.
Flopix вне форума  
Непрочитано 27.08.2012, 08:17  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: RC5+atmega 8

Сообщение от ut1wpr Посмотреть сообщение
Так и не заглянул в мой текст. Там есть и работа с битом повтора. Хозяин - барин...
Впрочем, тебе указали уже, где читать..
в код заглянул, скачал и он постоянно висит у меня открытый Этот (мой) код надо оптимизировать, так что еще предстоит изучить Ваш код
miwutka вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Декодер RC5 vmax1987 Микроконтроллеры, АЦП, память и т.д 38 25.08.2010 22:26
RC5 transmitter Saadov Микроконтроллеры, АЦП, память и т.д 12 22.12.2008 21:08
Приемник RC5 в малом корпусе? Muzicant Микроконтроллеры, АЦП, память и т.д 1 17.02.2008 11:57
Совмещение динамической индикации и приема команд RC5 megAdriVeR Микроконтроллеры, АЦП, память и т.д 22 24.07.2007 21:18
Декодирование команд RC5 R_V_A Микроконтроллеры, АЦП, память и т.д 10 20.12.2006 19:52


Часовой пояс GMT +4, время: 20:14.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.