Например TDA7294

Форум РадиоКот • Просмотр темы - Как повторить последовательность импульсов?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт мар 13, 2026 05:09:18

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 72 ]    , 2, ,  
Автор Сообщение
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 15:49:30 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3841
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25379
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
Вообще-то там требуется лишь однократная передача пакета, не заметили ? Генерировать ШИМ не требуется...


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 18:57:45 
Друг Кота

Карма: 1
Рейтинг сообщений: 91
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 9032
Откуда: .ru
Рейтинг сообщения: 0
наша картинка показывает, что у tiny13 всего 64 байт памяти... что для универсального копировальщика мало.
:tea:
далее... смотрим сигнал...

Изображение

для сравнения самый распространенный протокол ИК пультов NEC.

Изображение

как видим разницы нет))
:tea:

запись.
-берём любой МК.
-включаем прерывание... таймер... записываем в буфер... собираем байты...

Изображение

всё работает))
:tea:
получился анализатор ИК пультов ))

Изображение

:tea:

Добавлено after 16 minutes 35 seconds:
-если код не меняется то режим записи не нужен.
тогда остаётся только передать фиксированный код.
:tea:

в этом случае всё упрощается... до уровня 1-го класса... ))

Изображение

самый простой вариант - передавать обычным ногодрыгом)) через delay.

Изображение

всё работает))
:tea:


Вложения:
)).jpg [52.45 KiB]
Скачиваний: 325
Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 20:22:41 
Это не хвост, это антенна
Аватар пользователя

Карма: 17
Рейтинг сообщений: 227
Зарегистрирован: Вс май 13, 2012 00:01:54
Сообщений: 1476
Рейтинг сообщения: 0
Классическая задачка лямзить (сниффер-ить) протокол обмена. Простейшее решение - ногодрыг. Ардуина с блинком щас есть у любого электронщика.


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 23:36:12 
Открыл глаза

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 44
Рейтинг сообщения: 0
наша картинка показывает, что у tiny13 всего 64 байт памяти... что для универсального копировальщика мало.

самый простой вариант - передавать обычным ногодрыгом)) через delay.

:tea:


Немного уточняющей инфы.
Полностью пакет выглядит так.
Абсолютно идентичные пакеты следуют с интервалом 680 ms- с момента срабатывания сигнального устройства, и до окончания срабатывания.

Изображение

Длительности импульсов . Сорри, что от руки.

Изображение

Буду попробовать ногодрыгом...


Вложения:
photo_2026-01-29_23-21-08.jpg [100.15 KiB]
Скачиваний: 284
photo_2026-01-29_23-23-41.jpg [225.07 KiB]
Скачиваний: 284
Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Пт янв 30, 2026 01:06:04 
Друг Кота

Карма: 1
Рейтинг сообщений: 91
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 9032
Откуда: .ru
Рейтинг сообщения: 0
при удержании кнопки ИК пульта пульт непрерывно передаёт пакеты с интервалом ~100 мс.

короче... всё стандартно.
:tea:

Добавлено after 26 minutes 4 seconds:
далее... берём все пульты в доме и читаем код...

Изображение

Изображение

самсунг... LG... TV-приставки... кондиционеры... и т.д.
везде протокол NEC... всё одинаково))
отличия только в преамбуле и кода устройства.
:tea:

Добавлено after 4 minutes 22 seconds:
если писать не будем... а только воспроизводить... то пойдёт убой МК... даже tiny13.

далее... пишем программу... ногодрыг через delay. ))

...
PORTD.5=1;
delay_us(13);
PORTD.5=0;
delay_us(9);
...
delay_us(4500);
...

и т.д.
:tea:

Добавлено after 11 minutes 8 seconds:
ну и в конце самое интересное))
:roll:

-подключаем МК к интернету.
-пишем приложение для компа и телефона.
-нажимаем кнопочку на компе или телефоне... комп или телефон предаёт по интернету номер кнопки МК.
-МК принимает номер кнопки по интернету и передаёт ИК сигнал телевизору.

Изображение

сидим на диване... управляем телевизором по интернету ))

Изображение

всё работает.
прикольно )).
:tea:


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Пт янв 30, 2026 01:39:52 
Открыл глаза

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 44
Рейтинг сообщения: 0
при удержании кнопки ИК пульта пульт непрерывно передаёт пакеты с интервалом ~100 мс.

короче... всё стандартно.
:tea:


Только у меня не пульт :)) чуток тайминги другие и не ассемблер.
Перевариваю прочитанное. Пока лишь понял, что ногодрыгом проще. Интуитивно понимаю, но не более...


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Пт янв 30, 2026 06:24:54 
Друг Кота

Карма: 67
Рейтинг сообщений: 1032
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4417
Откуда: Ижевск
Рейтинг сообщения: 0
...Генерировать ШИМ не требуется...
Вы не поняли. Нет никакого ШИМ, таймер отсчитывает 50мкс интервалы. Пример формирования меандра с полупериодом 50мкс на лапе PB0 и стробика 9мс на PB1 ниже. Писал вчера, когда новых вводных от стартера ещё не было.
Спойлер
Код:
.INCLUDE "tn13Adef.inc"

.equ   Fo=1200000

.ORG   0x000
RESET:
   RJMP   START

;***********************************
.ORG 0x0006
T0_COMP_A:
   RETI
;***********************************
START:
   LDI   R16,$FF
   OUT   DDRB,R16
   OUT   PORTB,R16
GO:
   CLI
   LDI   ZH,HIGH(TB_FRAME*2)
   LDI   ZL,LOW(TB_FRAME*2)

   LDI   R16,LOW(50*Fo/1000000-1)
   OUT   OCR0A,R16

   LDI   R16,1<<SE      ; режим SLEEP IDLE
   OUT   MCUCR,R16

   LDI   R16,1<<OCIE0A
   OUT   TIMSK0,R16
   OUT   TIFR0,R16

   LDI   R16,1<<WGM01
   OUT   TCCR0A,R16            ; режим CTC
   LDI   R16,0<<WGM02|1<<CS00
   OUT   TCCR0B,R16            ; режим CTC F/1

   SEI

;********************
WAIT_50MKS:
   SLEEP
   LPM   R0,Z+
   OUT   PORTB,R0
   CPI   ZL,LOW(TB_FRAME_END*2)
   BRLO   WAIT_50MKS

   RJMP   GO
.org   0x080
TB_FRAME:
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE

.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE,$FF,$FE
.DB   $FF,$FE,$FF,$FC
TB_FRAME_END:
.EXIT


Вложения:
TEST_TN13.hex [715 байт]
Скачиваний: 25
TEST_TN13.asm [1.51 KiB]
Скачиваний: 26
Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Пт янв 30, 2026 08:54:52 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: 19
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 523
Откуда: Маленький СССР посреди шариатской республики
Рейтинг сообщения: 3
Какие же ардуинщики забавные. Везде этот убогий delay() воткнуть пытаются, даже чтобы паузу на пару микросекунд сделать…
Есть же ТАЙМЕР! Вот и пусть себе ШИМ генерит. Да, вам там с вашей упоротостью не повезло: DMA нет, ну ок: меняйте длину импульса в прерывании таймера... Всяко меньше будет камень нагружаться, и помимо передачи пакета импульсов можно будет еще чем-нибудь заниматься полезным...
// но я таки крайне советую вменяемый МК взять, где и 32 бита, и таймеров полно нормальных, а не убогих.

Добавлено after 1 minute 59 seconds:
roman.com, тебе бы с таким рвением и упорством еще и на линукс перейти - вообще замечательно бы было!
Маздай - это гниль, днище…

_________________
Windows must die!


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Пт янв 30, 2026 11:28:41 
Друг Кота

Карма: 1
Рейтинг сообщений: 91
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 9032
Откуда: .ru
Рейтинг сообщения: 0
Dmitrudo писал(а):
Только у меня не пульт

да какая разница... всё везде работает одинаково))
:tea:
смотрим на картинку...

1. сначала идёт преамбула (или стартовый бит)... короткий и длинный импульс.
2. потом идет сам код... 0110010.
3. в конце какой-то импульс... предположительно стоп бит.
Изображение

и чем это отличается от пульта от телевизора ?

Изображение

ничем))
:tea:

Интуитивно понимаю, но не более...

далее... смотрим на картинку и пишем программу...

принцип простой...
выключили... подождали... включили... подождали... и т.д.

// преамбула:
PORTD.5=0; // выключили
delay_us(450); // подождали
PORTD.5=1; // включили
delay_us(11400); // подождали

// код 0110010:

// "0"
PORTD.5=0; // выключили
delay_us(400); // подождали
PORTD.5=1; // включили
delay_us(600); // подождали

// "1"
PORTD.5=0; // выключили
delay_us(400); // подождали
PORTD.5=1; // включили
delay_us(1140); // подождали

// "1"
PORTD.5=0; // выключили
delay_us(400); // подождали
PORTD.5=1; // включили
delay_us(1140); // подождали

// "0"
...
...
...
и т.д.

получили пакет.
:tea:

это не ассемблер, это Си.
Си - это самый популярный и универсальный язык программирования ))

но можно написать и на ассемблере.
принцип работы тот же. разницы нет.

обычно ассемблер используют когда надо получить максимальную скорость.
например мы хотим подключить МК к интернету...

-берём любой МК.
-подключаем к интернету .
-пишем на ассемблере.

принцип тот же...
выключили... подождали... включили... подождали... и т.д.

Изображение

получили пакет. максимальная скорость 10 Мбит/с.

всё работает.
прикольно))
:tea:

а можно вообще не использовать никакие языки программирования.
открываем HEX-редактор и пишем машинные инструкции для МК... ))

принцип тот же...
выключили... подождали... включили... подождали... и т.д.
:tea:


Вложения:
картинка.jpg [113.63 KiB]
Скачиваний: 212
Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Пт янв 30, 2026 17:00:50 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 968
Зарегистрирован: Пт сен 10, 2021 15:19:36
Сообщений: 6542
Откуда: Протвино
Рейтинг сообщения: 0
linux_rulezz писал(а):
но я таки крайне советую вменяемый МК взять, где и 32 бита, и таймеров полно нормальных, а не убогих.

ага и 2G ram чтоб линукс загрузить с гномом, ато отстой жеж, ногодрыг :)

щас программеры такие что sos проморгать светодиодом не могут без dma, у них 32-407 перегружается сразу от ногодрыга 1kHz
посему щас даже светеодиодные фонарики не смогут производить без 60nm техпроцесса мляу.

мне кажется что всетаки постепенно этому прийдет конец, но может и нет :tea:
но бурное развитие в том же направлении точно остановится :music: ...собственно уже практически остановилось несколько лет назад


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Пт янв 30, 2026 20:37:13 
Открыл глаза

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 44
Рейтинг сообщения: 0
Dmitrudo писал(а):
Только у меня не пульт


принцип простой...
выключили... подождали... включили... подождали... и т.д.

// преамбула:
PORTD.5=0; // выключили
delay_us(450); // подождали
PORTD.5=1; // включили
delay_us(11400); // подождали

// код 0110010:

// "0"
PORTD.5=0; // выключили
delay_us(400); // подождали
PORTD.5=1; // включили
delay_us(600); // подождали


получили пакет.
:tea:



Вот!
Вот, эта мысль и крутилась у меня в голове! Но выхода не нашла!
Вы доходчиво донесли принцип...
Спасибо, и- всем спасибо! Натолкнули на решение.
У меня тини 13а. Буду пробовать.

Си- осилю.


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Сб янв 31, 2026 11:17:35 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 889
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6293
Откуда: Minsk
Рейтинг сообщения: 0
посему щас даже светеодиодные фонарики не смогут производить без 60nm техпроцесса

Ну так как же без него - туда же ещё нужно RTOS впиндюрить :) :)) :)

_________________
Изображение


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Сб янв 31, 2026 12:27:10 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3841
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25379
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
А слабо написать функцию "мигнуть" светодиодом и скормить ей числовой массив из значений задержек ?


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Сб янв 31, 2026 12:36:17 
Это не хвост, это антенна
Аватар пользователя

Карма: 17
Рейтинг сообщений: 227
Зарегистрирован: Вс май 13, 2012 00:01:54
Сообщений: 1476
Рейтинг сообщения: 0
сидим на диване... управляем телевизором по интернету ))
Почему у унитазных бачков не делают дистанционное управление ? ...


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Сб янв 31, 2026 12:46:26 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3841
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25379
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
Мокро там очень потому что...


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Сб янв 31, 2026 13:18:47 
Открыл глаза

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 44
Рейтинг сообщения: 0
сидим на диване... управляем телевизором по интернету ))
Почему у унитазных бачков не делают дистанционное управление ? ...



:)))
Товарищ! Да, вы- экстрасенс!

Вся эта канитель- как раз для управления... унитазным бачком!
Только громко не ржать, прошу!

Жизня заставила.
Старый дедушка в доме за собой уже не смывает. Помимо запаха еще вечно черная дыра сливная. Обработка кислотой дает эффект ровно на неделю- потом все снова зарастает камнем. Плюс финансово- на кислоты уходит больше, чем если бы бачок смывался сплошным потоком воды- круглые сутки.

Купил на озоне смывной механизм на моторчике, но он управляется- тоже рукой, то есть снова мимо, но к нему шла приблуда, которая по синезубу коннектится и срабатывает по отражению света от ИК-диода. Появляешься в луче, потом уходишь и через 6 сек она срабатывает.

Вот к ней я и делаю таймер, который будет помимо отражения, просто каждые пол часа смывать- вне зависимости.
Можно было проще сделать, типа таймер тупо замыкает что-то там и все срабатывает, без всяких там пачек импульсов, но прямых путей не ищем решил пойти вокруг.

Идея подкинутая Романом зашла.
И да, Тов. Муркиз пишет "...А слабо написать функцию "мигнуть" светодиодом и скормить ей числовой массив из значений задержек ?..."
Почти именно так и вышло.

Изображение
Изображение
Изображение


Вложения:
Monosnap Digital Oscilloscope 2026-01-31 12.07.51.jpg [44.63 KiB]
Скачиваний: 114
Monosnap Digital Oscilloscope 2026-01-31 12.09.29.jpg [34.98 KiB]
Скачиваний: 121
Monosnap Digital Oscilloscope 2026-01-31 12.05.30.jpg [58.44 KiB]
Скачиваний: 127
Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Сб янв 31, 2026 13:47:47 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 447
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3603
Откуда: Севастополь
Рейтинг сообщения: 0
Стесняюсь спросить, а зачечм там приблуда с синезубом и пультом, плюс теперь еще и эмулятор этого самого пульта ?
Это прям оверинжиниринг какой-то...
Хотя, с такой жаждой деятельности там точно нужен и RTOS, и линух, на худой конец - просто DMA.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Сб янв 31, 2026 14:27:59 
Открыл глаза

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 44
Рейтинг сообщения: 0
Стесняюсь спросить, а зачечм там приблуда с синезубом и пультом, плюс теперь еще и эмулятор этого самого пульта ?
Это прям оверинжиниринг какой-то...
Хотя, с такой жаждой деятельности там точно нужен и RTOS, и линух, на худой конец - просто DMA.


:))

Согласен, не самое элегантное решение.
Приблуда (назовем ее- пульт) шла в комплекте со смывателем. Они коннектятся по синезубу. Пачки импульсов- это я так понимаю "ключ" для того, чтобы, к примеру конечно, в общественном китайском туалете приблуда (пульт) срабатывала именно на свой смыватель, а не на все сразу.
Вот этот пульт я хотел дополнить таймером, чтобы смывала- по времени, вне зависимости от посещений, путем отсылки пачки импульсов на смыватель.
Вы спросите: а чего не поставить таймер на сам смыватель и не управлять двигателем- напрямую? Так мне показалось сложней. Я могу расписать, конечно почему, но самое главное, как мне показалось- в этом случае мог быть конфликт между приблудой (пультом) и самой смывалкой, когда они решат крутить мотор одновременно, но в разные напрвления. В общем- сложно...


Линух- пропустим. Два года я пытался делать вид, что мне его "хватает на все", но эмулятор винды работал в нем постоянно. В итоге я решил, что если так, то лучше в случае надобности эмулировать линукс и вернул винду. И вот что забавно... за много лет эмулировать линукс мне не понадобилось- ни разу. Странно, понимаю, но объяснить не могу. Хотя, на работе поставил и люди работаею на нем!


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Сб янв 31, 2026 14:51:56 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 447
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3603
Откуда: Севастополь
Рейтинг сообщения: 0
Если от механизма смыва не приходит какая-то обратная связь (через проточные датчики, токовые или какие-либо другие), то - да, поставить именно таймер управления этим механизмом, будет проще всего.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Сб янв 31, 2026 15:16:09 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3841
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25379
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
Просто каждый час импульс на исполнительное устройство может и платка таймера 555 без проблем и без конфликтов вообще-то.
Но вот сколько воды зря утечет ... Нам к потопу готовится, ковчег строить ?


Последний раз редактировалось Муркиз Сб янв 31, 2026 17:14:54, всего редактировалось 1 раз.

Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 72 ]    , 2, ,  

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y