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

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

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

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

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

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

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

 
Опции темы
Непрочитано 26.08.2012, 21:17  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 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.RU
 
Регистрация: 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.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: RC5+atmega 8

Сообщение от miwutka Посмотреть сообщение
Выход сразу на ножку МК и там на выходе светодиод параллельно подключен(на минус через резистор)
ОБЯЗАТЕЛЬНО нагрузить TSOP резистором на 10к с выхода на +5в. Светодиод можно (но не желательно) поставить параллельно нагрузочному резистору со своим токоограничительным резистором не менее 1к.
У TSOP выход с открытым коллектором.
omercury вне форума  
Непрочитано 26.08.2012, 22:30  
gary2007
Почётный гражданин KAZUS.RU
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,450
Сказал спасибо: 376
Сказали Спасибо 1,060 раз(а) в 624 сообщении(ях)
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.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: RC5+atmega 8

Сообщение от gary2007 Посмотреть сообщение
Там есть резистор
Возможно, но как-то не надеюсь я на внутреннюю подтяжку...
Да и все производители бытовой техники со мной солидарны...
omercury вне форума  
Непрочитано 26.08.2012, 23:32  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 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.RU
 
Регистрация: 13.04.2012
Адрес: Королёв МО
Сообщений: 786
Сказал спасибо: 621
Сказали Спасибо 364 раз(а) в 200 сообщении(ях)
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.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 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, время: 19:07.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot