Сигнал с пульта будем записывать с ее помощью звуковой карты компьютера! Для этого достаточно использовать обычный вход для наушников (aux вход). И так как на этот вход можно подавать внешний сигнал до 2 В, то нужно собрать простой провод с делителем напряжения. Как его сделать писал в одной из своей предыдущей записи – “Как сделать из своего ПК – осциллограф” – “микроник.рус/5903/”.
—————————
Есть простой способ превращения компьютера в осциллограф – в любом ПК есть уже собственный АЦП и ЦАП – звуковая карта. Используя её можно компьютер преобразовать в простой низкочастотный осциллограф (до 20 кГц и до 2 В входящий сигнал). Более подробно здесь – “микроник.рус/5903/”.
————————–
Вот так выглядит провод с делителем напряжения, который я собрал для данной записи:
Под рукой были только зелёный и жёлтый светодиоды – их и использовал (в оригинале используются красные, так как они загораются уже при 1,6 В – чтобы было видно опасное для звуковой карты напряжение):
Также мультиметром всегда смотрю, чтобы на штекере не было напряжение выше 2 В (может испортится звуковая карта). Если больше 2 В, то использую дополнительные резисторы (деля напряжение):
Записывать сигнал будем в программе – Wavosaur.1.0.5.0en (бесплатная портативная программа – запускается на Windows XP и выше, а также на Linux через Wine) – скачать можно с моего сайта:
Теперь берём пульт – я взял от ТВ тюнера (можно от ТВ или любой другой), разбираем его и подключаемся к инфракрасному светодиоду (IR), (подключался GND к минусу инфракрасного светодиода, но разницы особой нет…):
Далее нажимаем на кнопку на пульте, например на кнопку “ОК” (батарейки должны быть вставлены или соединены), а также нажимаем на кнопку записи в программе Wavosaur.1.0.5.0en. Кнопку на пульте лучше нажать несколько раз.
Сохраняем запись сигнал в программе Wavosaur.1.0.5.0en в формате wav и отрываем его в программе Audacity – бесплатная программа для редактирования звука на Linux Rosa Fresh стоит по умолчанию, но также можно поставить и на Windows.
Получится что-то вроде этого (окно программы Audacity и ниже тоже в ней):
Увеличиваем при помощи кнопки в виде лупы:
Увеличиваем пока не увидим следующее:
Нашёл в интернете вот такую картинку – тоже от пульта управления:
Сравнил со своим сигналом от кнопки “ОК”:
По картинке видны все временные интервалы, можно даже вычислить адрес пульта и код команды кнопки – все наглядно и понятно.
Код сигнала кнопки “ОК” получился следующий: 00000000 11111111 01011000 10100111
Видно код команды 01011000, и его перевернутый код, который идёт после 10100111
При этом код команды “ОК” и “Меню” отличается только на один символ 01011000 (ОК) и 01011010 (Меню).
Всё отлично читается!
Понажимал на другие кнопки на пульте, записал сигналы – адрес пульта у всех кнопок одинаковый, команды разные:
Вот кнопка “Меню”:
Код сигнала получился следующий: 00000000 11111111 01011010 10100101
А вот кнопка “Переключить канал (ch+)”:
Код сигнала получился следующий: 00000000 11111111 01101000 10010111
——————————————————————————–
Примечание:
———————————————-
В пересылке сигнала между пультом и приёмником используется коды вроде FF58A7, например, это видно в Ардуино – “микроник.рус/8046/” (IR (инфракрасный сигнал): Читаем данные с пульта и передаём их)
кнопка ок – FF58A7
кнопка ок – 00FF58A7
В шестнадцатеричной системе используются символы от 0 до 9 и буквы от A до F (или a до f) для обозначения значений от 0 до 15. Например:
0 = 0000
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000
9 = 1001
A = 1010
B = 1011
C = 1100
D = 1101
E = 1110
F = 1111
Каждый символ соответствует четырём битам (полубайту или нибблу). Например, 0 = 0000, 1 = 0001, A = 1010.
Давайте попробуем расшифровать
кнопка ок – FF58A7
кнопка ок – 00FF58A7
0000 0000 1111 1111 0101 1000 1010 0111
1111 1111 0101 1000 1010 0111
0 0 F F 5 8 A 7
00000000111111110101100010100111
—————————————————————–
И ещё один код с другого пульта
кнопка ок – 4FB52AD
кнопка ок – 04 FB 52AD
0000 0100 1111 1011 0101 0010 1010 1101
Также с помощью python можно преобразовать 16-ую систему в 2-ую:
a = "FF58A7" binary_value = format(int(a, 16), 'b') # '110100011' print(binary_value)
111111110101100010100111
————————————-
Примечание 2:
Запись сигналов IR-пульта на звуковую карту – “микроник.рус/7989/”













