инфракрасное управление на микроконтроллерах avr
- Сообщения: 105
- Зарегистрирован: Чт апр 14, 2011 17:46:23
помогите найти схему инфракрасного управления на микроконтроллерах avr желательно попроще
- Реклама

Все будет только лучше, в крайнем случае - хуже.
- Сообщения: 2584
- Зарегистрирован: Вт сен 14, 2010 10:27:19
http://www.google.com/#sclient=psy&hl=e ... df3c1901b1Я тот самый писал(а):помогите найти схему инфракрасного управления на микроконтроллерах avr желательно попроще
Будете проходить мимо- проходите!
- Сообщения: 105
- Зарегистрирован: Чт апр 14, 2011 17:46:23
Я имел в виду сайт на котором есть программа и описание устройства, принцип приёма и передачи я и так знаю
Понимаете, телепаты в отпуске. Вы русским языком объясните, что хотите сделать. У вас есть пульт и Вы хотите принимать его команды контроллером, или Вам надо сделать пульт, или у Вас 2 устройства должны обмениваться данными, что?
Все будет только лучше, в крайнем случае - хуже.
- Реклама
- Сообщения: 105
- Зарегистрирован: Чт апр 14, 2011 17:46:23
Мне нужно сделать пульт и приёмник на инфракрасных лучах минимум 4 команды. Вероятно что проще его сделать на микроконтроллере. Спросите почему avr потому что я уже работал с ними и я не хочу начинать заново с микроконтроллерами фирмы пик. 
Вот, теперь понятноЯ тот самый писал(а):Мне нужно сделать пульт и приёмник на инфракрасных лучах минимум 4 команды. Вероятно что проще его сделать на микроконтроллере. Спросите почему avr потому что я уже работал с ними и я не хочу начинать заново с микроконтроллерами фирмы пик.
Ну раз AVR, то апноты AVR410: RC5 IR Remote Control Receiver on tinyAVR and megaAVRdevices и AVR415: RC5 IR Remote Control Transmitter on tinyAVR and megaAVR devices Вам помогут http://www.atmel.com/dyn/products/docum ... ily_id=760
Все будет только лучше, в крайнем случае - хуже.
- Сообщения: 105
- Зарегистрирован: Чт апр 14, 2011 17:46:23
- Сообщения: 2584
- Зарегистрирован: Вт сен 14, 2010 10:27:19
Это был 3-й результат в поиске google.
Будете проходить мимо- проходите!
Чел, похоже не в танке, нащет поискаradio-kot писал(а):Это был 3-й результат в поиске google.
Все будет только лучше, в крайнем случае - хуже.
- Сообщения: 986
- Зарегистрирован: Ср июл 07, 2010 06:48:57
- Сообщения: 105
- Зарегистрирован: Чт апр 14, 2011 17:46:23
- Сообщения: 436
- Зарегистрирован: Сб апр 10, 2010 16:46:26
скорость обработки сигнала на ножке м.к. командой чтения состояния ножки SBIC (пропустить следующую команду если разряд PBB сброшен) или SBIS (пропустить следующую команду если разряд PBB установлен), я так понимаю будет зависеть от внутреннего или внешнего генератора (плюс там делители при использовании прерываний и т.п.)
У меня вот в чем вопрос мне пока ещё надо сходить на работу и замерить осцилографом две клавиши с пульта д/у от телека самсунг. Две клавиши на управлением "откр" и "закр" моего будующего устройства, где-то в инете я нашел описание на самсунг, там было описано тип модуляции:
мдп(модуляция длительностью паузы) т.е. команда мне ясна 0,65мсек сигнал+ и 0,65мсек сигнал- будет 0, 0,65мсек сигнал+ и 1,5мсек сигнал- будет1
а вот с адресом не всё понял - там было сказано ещё и про заголовок так он там должен 4,5мсек сигнал+ и 4,5мсек сигнал-, а потом вроде как уже адрес так-же восьми битный как и команда, и при всём этом там указанно что восем циферок(1или0) адреса потом опять восемь цифр уже инверсией (того-же адреса) и с командой так-же 8+8инверсия. ИТОГО ВООБЩЕ 32бита (циферок 1или0) это не беря в расчет этот не понятный заголовок по4,5мек(плюс ещё два бита).
Вопрос1!!! а регистр общего назначения, который собираюсь сравнивать для "откр" или "закр" 16битный
Вопрос2!!! и вообще подобными (SBIC) командами чтения будет реально сделать или надо делать как то кардинально подругому?
У меня вот в чем вопрос мне пока ещё надо сходить на работу и замерить осцилографом две клавиши с пульта д/у от телека самсунг. Две клавиши на управлением "откр" и "закр" моего будующего устройства, где-то в инете я нашел описание на самсунг, там было описано тип модуляции:
мдп(модуляция длительностью паузы) т.е. команда мне ясна 0,65мсек сигнал+ и 0,65мсек сигнал- будет 0, 0,65мсек сигнал+ и 1,5мсек сигнал- будет1
а вот с адресом не всё понял - там было сказано ещё и про заголовок так он там должен 4,5мсек сигнал+ и 4,5мсек сигнал-, а потом вроде как уже адрес так-же восьми битный как и команда, и при всём этом там указанно что восем циферок(1или0) адреса потом опять восемь цифр уже инверсией (того-же адреса) и с командой так-же 8+8инверсия. ИТОГО ВООБЩЕ 32бита (циферок 1или0) это не беря в расчет этот не понятный заголовок по4,5мек(плюс ещё два бита).
Вопрос1!!! а регистр общего назначения, который собираюсь сравнивать для "откр" или "закр" 16битный
Вопрос2!!! и вообще подобными (SBIC) командами чтения будет реально сделать или надо делать как то кардинально подругому?
[color=#FF4000]Ищу где? и как? надо пользоваться личкой[/color]
Делал на 4 выхода. AtTiny13
http://radiokot.ru/forum/viewtopic.php? ... 0#p1392390
http://radiokot.ru/forum/viewtopic.php? ... 0#p1392390
Microtech!!!
Не то конечно, но всё равно спасибо!!!
Буду своё пробовать...
Не то конечно, но всё равно спасибо!!!
Буду своё пробовать...
[color=#FF4000]Ищу где? и как? надо пользоваться личкой[/color]
Совсем недавно смотрел сигнал с пульта, стартовый импульс ровно 9.6мс за ним пауза немного короче и 32 бита фазовой модуляцией: последовательно 0 затем 1 - это лог.1, и 1 затем 0 - это лог. 0 или наоборот. Импульсы правда не симметричные, длительность "1" несколько меньше длительности "0", для экономии батарейки пульта. И команда передается один раз, а повторы это импульс 9.6мс и сразу за ним 1.2мс.
Принимать такой код очень просто - ищешь во всей последовательности стартовый 9.6мс и от его конца откладываешь отсчеты с ровными интервалами - в эти моменты времени считываешь значение с выхода приемника и задвигаешь его в длинный 32 бит последовательный регистр сдвига. Через 32 бита проверяешь целостность команды(если такой контроль предусмотрен протоколом) и передаешь её на дальнейшую обработку. При этом контроллер должен обладать высокой стабильностью тактовой частоты - встроенный RC-генератор и некоторые некачественные керамические резонаторы для этих целей не подойдут.
Более серьезные схемы анализируют линию с учетверенной частотой дабы избежать влияния возможных помех.
Принимать такой код очень просто - ищешь во всей последовательности стартовый 9.6мс и от его конца откладываешь отсчеты с ровными интервалами - в эти моменты времени считываешь значение с выхода приемника и задвигаешь его в длинный 32 бит последовательный регистр сдвига. Через 32 бита проверяешь целостность команды(если такой контроль предусмотрен протоколом) и передаешь её на дальнейшую обработку. При этом контроллер должен обладать высокой стабильностью тактовой частоты - встроенный RC-генератор и некоторые некачественные керамические резонаторы для этих целей не подойдут.
Более серьезные схемы анализируют линию с учетверенной частотой дабы избежать влияния возможных помех.
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
никакой особой стабильности на надо! достаточно выдержать паузы +/- 15 us - какая же это "особенная точность"? 
реализовывал на Мега8, tiny13a (буквально на днях) = всё от встроенного генератора
описанный вами алгоритм называется "NEC" - информации в Сети масса
вот мой пример декодирования: http://bascomavr.3bb.ru/viewtopic.php?id=287
смотрите в начале темы
реализовывал на Мега8, tiny13a (буквально на днях) = всё от встроенного генератора
описанный вами алгоритм называется "NEC" - информации в Сети масса
вот мой пример декодирования: http://bascomavr.3bb.ru/viewtopic.php?id=287
смотрите в начале темы
Если синхронизироваться после каждого импульса, то стабильности и не нужно. Но если засечь только первый бит, то уже на 8-м чтобы не съехать на соседний нужна точность поддержания частоты 2%. А там их целых 32.
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
опять глупостиAlexeyslav писал(а):Если синхронизироваться после каждого импульса, то стабильности и не нужно. Но если засечь только первый бит, то уже на 8-м чтобы не съехать на соседний нужна точность поддержания частоты 2%. А там их целых 32.
а кто вам мешает отследить окончание импульса?
следовательно, по нему И по началу следующего выполнить подстройку?
Код: Выделить всё
'====================
' =============== ПРИЕМ КОМАНД ИК-ПУЛЬТА ===================
Function Rx_ir() As Byte
For Temp3 = 7 To 0 Step -1
Tiki = 0
Shift Rx_ir , Left
Bitwait Ir_receiver , Set ' Ждём сигнал = 1...
Waitus 300 ' пауза на часть импульса
While Ir_receiver = 1
Incr Tiki : Waitus 10
Wend
If Tiki > 100 Then Rx_ir = Rx_ir Or 1 'длинный -> бит =1
Bitwait Ir_receiver , Reset ' Ждем завершения сигнала
Next Temp3
End Function


