Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Компьютерное железо
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2009, 22:10   #1
Вырвиглаз
 
Регистрация: 28.03.2009
Сообщений: 4
По умолчанию Как принимать сигналы с ИК передатчика

Программирую PIC. Нужно сделать прием сигналов с ИК передатчика на несущей 36кгц. Частота работы контроллера 20мгц. Хочу понять сам принцип приема сигналов. Язык программирования не важен. Средства найдутся. Объясните идею. Подозреваю, что надо заставить ждать циклом до появления единицы на входе, потом ждать, если длинна импульса равна периоду, значит идти дальше и принимать следующий импульс. Протокол передачи придумаю сам. Просто придумывать велосипед не хочу. Вот решил тут спросить. Заранее благодарю.
Вырвиглаз вне форума Ответить с цитированием
Старый 28.03.2009, 22:34   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,033
Радость

Ну во-первых надо принять сам сигнал, для этого можно использовать что-то типа этого http://robotsspace.ucoz.ru/publ/1-1-0-8
Потом отбросить несущую, принципы идентичны с принципами работы радиоприемников.
Потом собсно подать сигнал на АЦП(аналогово-цифровой преобразователь(если на МК его нет придется паять самому или юзать продукцию фирмы Maxim/Dallas http://www.platan.ru/cgi-bin/we_s.pl...EF&distr=maxim))
А потом уже работать с данными...
Также рекомендую эту ссылочку http://www.pcports.ru/Library.php, и почитать что-то про протоколы передачи данных...

Первый протокол можно организовать так:
Первый импульс-синхронизация, потом пауза(заранее известная), потом еще один если БИТ=1, если БИТ=0 - ждем...и тд...

Последний раз редактировалось Levsha100; 28.03.2009 в 22:42.
Levsha100 вне форума Ответить с цитированием
Старый 28.03.2009, 22:39   #3
Вырвиглаз
 
Регистрация: 28.03.2009
Сообщений: 4
По умолчанию

Спасибо! Видимо, приемник уже сам отбрасывает несущую. Он принимает только 36кГц. Надо даташит на него изучить. А зачем мне ацп использовать? На выходе логические уровни. Принял - обработал. Прием можно смело поручить прерыванию таймер0. Пусть крутится подпрограмма, сваливает все в буферную переменную. Правильно я понимаю?
Вырвиглаз вне форума Ответить с цитированием
Старый 28.03.2009, 22:49   #4
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,033
По умолчанию

1)В принципе Триггер Шмитта(а Вы про него говорите) это и есть простейший АЦП!
2)Я не вникал в схему(может и отбрасывает), но если захочешь юзать фототранзистор/резистор/диод(например чтобы повысить чувствительность), надо вышвыривать несущую!
http://saprcentr.ru/content/view/472/32/

Последний раз редактировалось Levsha100; 28.03.2009 в 23:02.
Levsha100 вне форума Ответить с цитированием
Старый 29.03.2009, 13:13   #5
Вырвиглаз
 
Регистрация: 28.03.2009
Сообщений: 4
По умолчанию

Уже разобрался по даташиту. Теперь думаю над протоколом обмена. Надо послать много информации за короткий промежуток времени с высокой точностью. Делаю лазертаг. Будет экран 2 строки по 20 символов со всей необходимой информацией, будет порт RS232 для сбора статистических данных под конец игры, будут звуки выстрелов, перезарядка, объем магазина и прочие прелести. Проблема была только с приемом сигнала.
Вырвиглаз вне форума Ответить с цитированием
Старый 29.03.2009, 14:20   #6
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Сходи на Сахару и на конфу Телесистемы.Там точно просветят.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 29.03.2009, 19:05   #7
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,033
По умолчанию

Для практического использования ИК передатчики/приемники не очень подходят(если говорить о больших объемах инфы)! Как по мне лучше юзайте радио!(Простейший передатчик/приемник на 10м можно вытащить из детских радиостанций)
А, не догнал, тогда да!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%
Так а теперь самое интересное-звуки!!!
Где Вы их будете хранить? Ведь они немало весят, памяти МК не хватит!
Предлагаю заюзать карту памяти!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%
И еще чтобы синхронизировать начало/конец боя Вам надо будет юзать радио!!!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%
И еще какие Вы будете использовать диоды/лазеры ведь это может быть вредно для глаз!!!

Последний раз редактировалось Levsha100; 29.03.2009 в 19:12.
Levsha100 вне форума Ответить с цитированием
Старый 29.03.2009, 23:16   #8
Вырвиглаз
 
Регистрация: 28.03.2009
Сообщений: 4
По умолчанию

да все это уже есть и работает. Звуки делаются элементарно.
радио не нужно. Начало игры тоже не нужно. Время никому не интересно. Подошел в терминалу, активировал винтовку, получил боекомплект, обнулил статистику. В конце игры та же процедура. Потом вывод статистики. Передать через диод надо только синхро пачку и код стрелявшего. Это два десятка импульсов. Достаточно 500 мкс.

Последний раз редактировалось Вырвиглаз; 29.03.2009 в 23:21.
Вырвиглаз вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск