Любой пульт ДУ к AVR контроллерам!

Обсуждаем контроллеры компании Atmel.
Ответить
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

да эти последовательности записать и воспроизвести не трудно,а вот сравнить между собой...
автор,выложи пожалуйста фото своего пульта,может кто его опознает?
ARV,а где можно задать вопрос по http://arv.radioliga.com/content/view/2 ... тересовало...
Реклама
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

ARV,Ваша идея работает замечательно!!! :))
накидал программку на баском авр,припаял к атмега328 фотоприемник,залил,проверил-работает!!!
Спойлер'-------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------
$regfile = "m328Pdef.dat" ' Используемый контроллер
$crystal = 16000000 ' Частота контроллера (используется для расчета задержек компилятором)' 2000000 ' 4000000 ' 8000000
$framesize = 32
$hwstack = 40
$swstack = 16
$baud = 19200

Print " считыватель пульта "
'=========================
' Определение переменных
Dim Massive(128) As Byte
Dim Count As Word
Dim X As Byte
Dim Kolvo As Byte
'питание и вход фотоприемника
Config Portb.5 = Output : Portb.5 = 1
Config Portd.2 = Input : Portd.2 = 1

'настраиваем таймер0 на прерывание 100 мкс
Config Timer0 = Timer , Prescale = 8
'один такт 1/8/16 мгц=0,5 мкс,(256-х)*0,5=100 мксек--->х=56
Const Timer0pre = 56
Dim Wtime As Word
Stop Timer0
Timer0 = Timer0pre
On Timer0 Pulse:
'и запускаем его
Start Timer0
Enable Interrupts
Enable Timer0
Count = 0

Do
'ждем старт,потом измеряем паузу
Bitwait Pind.2 , Reset
'потом ждем паузу
Bitwait Pind.2 , Set
Count = 0
Bitwait Pind.2 , Reset
Wtime = Count
'убеждаемся что это пауза-она длиииинная
Print Wtime
'старт приняли,измеряем длительности пауз и заносим в массив
'обнуляем адрес ячейки
X = 0

'Kolvo = 0
For X = 0 To 31

Bitwait Pind.2 , Set
Count = 0
Bitwait Pind.2 , Reset
Massive(x) = Count

Next X
'выводим результат в терминал
For X = 0 To 31
Print X ; " " ; Massive(x)
Massive(x) = 0
Next X

Print " select "
Loop

Pulse:
Stop Timer0
Timer0 = Timer0pre
Incr Count
Start Timer0
Return
видно,что идут длительности пауз,сначала 9600 мкс-видимо старт,потом 500-600 мксек либо 1500-1600 мкс,сейчас мне снова создать массив и записать туда последовательность но в виде 1 и 0?только прошу не пинать-мне самому стало интересно,можно ли собрать устройство которое нужно автору
Изображение

добавил-закодировал в 0 и 1,нажимаю на пульте одну и ту же кнопку,определяется почти без сбоев,буду мутить далее
Изображение
Вложения
Безымянный.jpg
(48.98 КБ) 290 скачиваний
Реклама
Встал на лапы
Сообщения: 110
Зарегистрирован: Вс май 10, 2009 18:23:45

Сообщение Belerafon »

Была недавно потребность тоже сделать пульт, был оригинал, и нужно было сделать почти дубликат, пульт от кондиционера, сигнал смотрел через звуковую, скопировать сигнал особо труда не составило, а вот с несущей частотой пришлось погадать, так как не знал какая она у кондера, пока не подобрал частоту, ни к какую не ловил команды, хотя они быть одинаковые.
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

ну так есть готовый проект,вот-http://chipenable.ru/index.php/projects ... eniya.html
у меня один тв с двд FUSION,пульт сломался,пытался отремонтировать-ни в какую,собрал пульт по ссылке,работает отлично!запрограммировал в магазине где брал тв просто попросив пульт
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 110
Зарегистрирован: Вс май 10, 2009 18:23:45

Сообщение Belerafon »

Novice user писал(а):ну так есть готовый проект,вот-http://chipenable.ru/index.php/projects ... eniya.html
у меня один тв с двд FUSION,пульт сломался,пытался отремонтировать-ни в какую,собрал пульт по ссылке,работает отлично!запрограммировал в магазине где брал тв просто попросив пульт
В моем случае он бы не подошел, код от кондера длиннее раза в 2 или 3 чем в этих протоколах, и частота там другая 56кГц вроде, уже не помню.
кстати пульт еще все живой, в июне делал, батарейка живая))
Реклама
Ответить

Вернуться в «AVR»