[uquote="kotneko",url="/forum/viewtopic.php?p=4728482#p4728482"][uquote="ARV",url="/forum/viewtopic.php?p=4369599#p4369599"]...я опубликовал алгоритм, принимающий коды (на глазок) 99% всех стандартов пультов...[/uquote]
Возможно ли ваш алгоритм вместить в Attiny2313 ? Интересует только приём кодов и отображение на LCD 1602 дисплее. Как это собрать до кучи и реализовать ?[/uquote]давненько это было... Если склероз не подводит, то в тини2313 код помещается прекрасно, даже с избытком.
Но обращаю ваше внимание на тот факт, что мой алгоритм принимает "не те" коды, что по стандарту, поэтому отображать их на дисплее есть смысл только для использования совместно с моим алгоритмом в других проектах.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
[uquote="ARV",url="/forum/viewtopic.php?p=4728519#p4728519"]...алгоритм принимает "не те" коды, что по стандарту...[/uquote]
Т.е. эти коды не будут соответствовать ,например , виду кода NEC
ARV писал(а):Хотя вылизанный алгоритм на прерываниях в attiny13 никак не влезет, например.
ты ошибаешься.
на ассемблере влезет и еще много свободного места останется.
у меня простая читалка разных кодов с прерыванием INT0 и таймером Т0 на АТмега8 получилась 620 байт.
на АТтини13 получится примерно столько же.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
[uquote="Starichok51",url="/forum/viewtopic.php?p=4728581#p4728581"]...у меня простая читалка разных кодов...[/uquote]
А для моего варианта на 2313 и LCD можно такое сделать,пожалуйста ?
[uquote="VNS",url="/forum/viewtopic.php?p=4728587#p4728587"]А такое не подойдёт?[/uquote]
Спасибо ! Но такое не подходит,таким давно пользуюсь,не удобно.Интересует автономно ,не задействуя комп,т.к. компьютер выполняет паралельно другую задачу.
[uquote="Starichok51",url="/forum/viewtopic.php?p=4728620#p4728620"]могу предложить только для АТмега8.[/uquote]
Хорошо ,перейду на Atmegu, где то есть в загашнике,жду.
kotneko, тогда надо уточнить, как ты хотел бы подключить экран 1602. у меня сейчас сделано на модуле интерфейса I2C. но могу переделать на прямое подключение 1602 к МК по 4-хпроводной схеме. это много времени не займет и есть плата, на которой можно проверить работу с прямым подключением.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
[uquote="Starichok51",url="/forum/viewtopic.php?p=4728646#p4728646"]...тогда надо уточнить, как ты хотел бы подключить экран 1602...[/uquote]
Прямое подключение по 4-х проводной схеме.
kotneko, я уже закончил переделку прошивки на прямое подключение.
итак, берем АТмега8.
схема там очень простая. могу словами написать что с чем соединяется или тебе рисовать полную схему?
если словами, то так:
МК 1602
PD4 D4
PD5 D5
PD6 D6
PD7 D7
PC4 E
PC5 RS
RW подключаем прямо на минус питания.
и делаем правильное управление контрастностью.
выход фотоприемника подключаем на МК к PD2.
код показывается в верхней строке экрана. вторая строка - пустая.
длина кода - 384 байта. то есть, даже для портирования на АТтини13 с огромным запасом свободного места. когда я написал про 620 байтов, то я там не удалил не нужные подпрограммы.
у нас есть телевизор Панасоник, так там у него код из 6 байтов.
прошивка в состоянии показать код любой длины.
но прошивка сделана под стандарт NEC и другие подобные с кодированием длиной паузы между импульсами.
коды RC5 или другие "хитрые" коды правильно прочитать не может.
да, забыл рассказать про фьюзы и рабочую частоту.
подключаем кварц 8 МГц и Fuse Low Byte ставим FF.
или даже можно поставить внутренний генератор 8 МГц, погрешность частоты не должна помешать.
Fuse High Byte не трогаем - заводские.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Спасибо!Запустил,работает,но коды кнопок отображает в своём каком-то формате.Возможно ли подправить прошивку,чтобы выводился код в виде для файлов keymap ?
Во вложении для сравнения вид кода на индикаторе прибора и какой он должен быть в keymap
посмотрел твой файл.
прошивка показывает ровно то, что она принимает.
чаще всего коды 4-хбайтные. и прошивка показывает именно 4 байта.
первые 2 байта - это называется код системы. и обычно вторая пара байтов - это код команды и инверсный код команды.
и прошивка показывает правильно во всех твоих трех случаях, так как сумма кода команды и инверсного кода команды равна FF.
именно сумма третьего и четвертого байтов показывает правильно или не правильно принята команда. и твой файл подтверждает правильную работу моей читалки.
я не знаю, где ты взял эти двухбайтные коды (keymap) и почему они двухбайтные, а не четырехбайтные?
и почему твои keymap не совпадают с принятыми кодами, я не знаю.
даю еще одну прошивку.
та прошивка была упрощенная и показывала только код команды.
а эта прошивка "полная" - вверху она показывает также код команды, а внизу - три числа - сначала средняя длительность импульса, далее средняя длительность паузы "нуля" и средняя длительность паузы "единицы".
добавляем кнопку с минуса на PD3. с нажатой кнопкой в верхней строке вместо кода команды покажет длительности стартового сигнала - длительность импульса старта и длительность паузы старта.
а также!
частота 8 МГц была выбрано для получения максимальной скорости по I2C.
при прямом подключении экрана нет необходимости поднимать тактовую частоту.
поэтому я переделал "полную" версию читалки на внутренний генератор 1 МГц.
и поэтому для этой новой прошивки нужно установить заводские фьюзы.
напоминаю: заводские Fuse Low Byte раны "Е1".