Страница 1 из 1
Частота моргания светодиода
Добавлено: Чт окт 21, 2021 15:47:46
SpirkinLAB
Добрейший день.
Мне нужно задать частоту включения и выключения светодиода
+8850, -4450 + 550, -1650 + 600, -1650 + 550, - 550
+ 600, - 550 + 550, - 550 + 550, - 550 + 600, - 500
+ 600, -1650 + 550, -1650 + 600, - 550 + 550, -1650
+ 600, - 500 + 600, -1650 + 550, - 550 + 600, -1650
+ 550, - 550 + 550, - 550 + 600, - 550 + 550, - 550
+ 550, - 550 + 550, -1700 + 550, - 550 + 550, - 550
+ 550, -1700 + 550, -1650 + 550, -1700 + 550, -1650
+ 550, -1700 + 550, - 550 + 550, -1700 + 550, -1650
+ 550, - 550 + 550
Это частота в МИКРОСЕКУНДАХ - На одном из форумов я видел в начале пик процессора задали частоту 4000000 и 0,1 секунда равнялась 100000 цифре (Может Я и путаю чтото )
Подскажите пожалуста для 16f628a (моему любимому ПИКу) как можно задать такие микросекунды
Тоесть мне нужно в начале включить на 8850 микросекунд , потом отключить на 4450 микросекуд , потом включить на 550 микросекунд выключить 1650 микросекунд
Вобщем чтобы мои цыфры якобы подошли (Я опять могу ошибаться) мне порекомендовали сделать эту частоту 56 000
Re: Частота моргания светодиода
Добавлено: Чт окт 21, 2021 17:25:04
veso74
[uquote="SpirkinLAB",url="/forum/viewtopic.php?p=4108881#p4108881"]... Мне нужно задать частоту включения и выключения светодиода ...[/uquote]
Может быть. Но если не дадите полную информацию (что это за устройство, для чего будет использоваться, полный или предполагаемый x-ки ...), то тогда "рискуем"/"рискуете" неоднократно начинать разрабатывать свою программу "с нуля". (частично пользуюсь переводчиком БГ->РУ)
Re: Частота моргания светодиода
Добавлено: Чт окт 21, 2021 21:16:16
OKF
[uquote="Novice user",url="/forum/viewtopic.php?p=4108922#p4108922"]Вот,может поможет такая программа[/uquote]
Ну да, это если ручками рассчитывать каждую задержку.
1en2 правильно подметил - таблица длительностей кратна 50-ти... Примерно так:
Код: Выделить всё
const int on_off[] = {
8850, 4450, 550, 1650, 600, 1650, 550, 550,
600, 550, 550, 550, 550, 550, 600, 500,
600, 1650, 550, 1650, 600, 550, 550, 1650,
600, 500, 600, 1650, 550, 550, 600, 1650,
550, 550, 550, 550, 600, 550, 550, 550,
550, 550, 550, 1700, 550, 550, 550, 550,
550, 1700, 550, 1650, 550, 1700, 550, 1650,
550, 1700, 550, 550, 550, 1700, 550, 1650,
550, 550, 550
}
for (char i = 0; i < sizeof(on_off) / sizeof(on_off[0]); i++) {
toggle(LED);
int d = on_off[i] / 50;
while (d--)
delay_us(50);
}
Re: Частота моргания светодиода
Добавлено: Чт окт 21, 2021 22:55:44
Родэрик
хоть показал бы скан, откуда ты эти длительности снял. Вот эти пары 1700 (1650) и 600(550) это период. Соотношение в периоде указывает на то, что передаётся 0 or 1. И не надо там таблицы делать. Выставляешь свои 32 бита и двигаешь их влево в порт. Ну а уже по флагу C загружаешь либо 1700, либо 600.
Вот только есть один момент - ты не можешь просто включать/выключать пин (светодиод), ты должен включать/отключать модуль шим, который в свою очередь настроен на частоту нужной тебе модуляции.
Re: Частота моргания светодиода
Добавлено: Пт окт 22, 2021 06:06:10
SpirkinLAB
Спасибо за ответы скан снял через Ардуино пульт от ТВ - не хотел всем загромождать Вас уважаемые
Мне всё что нужно это повторить моргания светодиода - в тектовом документе - это Я 3 раза нажал на кнопку.
Также есть вот такая вещ unsigned int data = 0xC1AA09F6;
это 16 ричный код - Мне так обьяснили если делать пульт через ардуино то этого кода достаточно чтобы светодиод отработал правильно
Может и в пике можно будет както указать включение светодиода по такому коду - или же сконвертировать под другой тип цифры - ну Я так понял двоичный (но он не пойдёт ) так как незнаем сами задержки
А выше стоящие цыфры и есть сами логические нули и единицы поэтому Я Вам и дал кусок того.
Спасибо всем кто участвует )))
Re: Частота моргания светодиода
Добавлено: Пт окт 22, 2021 06:30:37
veso74
Судя по тому, что вижу, это команды пульта дистанционного управления NEK.
Есть давно написанные библиотеки, которые прекрасно работают (напр. на Arduino).
Все здесь: Arduino-IRremote:
https://github.com/Arduino-IRremote/Arduino-IRremote
например в версии 2.0.1 (которым я пользовался долгое время):
https://github.com/Arduino-IRremote/Ard ... ree/stable
Ваши числа для времен в примере (пульт.txt) присутствуют в стандартных командах NEC
в ir_NEC.cpp:
Код: Выделить всё
#define NEC_BITS 32
#define NEC_HDR_MARK 9000
#define NEC_HDR_SPACE 4500
#define NEC_BIT_MARK 560
#define NEC_ONE_SPACE 1690
#define NEC_ZERO_SPACE 560
#define NEC_RPT_SPACE 2250
Можете использовать информацию из примеров: напр. IRsendDemo (отправить код, напр. 0xC1AA09F6) или IRsendRawDemo (RAW, "ручное", через время импульса), но Вам все еще нужны подробности о выбранном методе, напр. "carrier frequency for the NEC protocol":
IRsendRawDemo.ino
https://github.com/Arduino-IRremote/Ard ... awDemo.ino
Вам необходимо собрать управляющие фрагменты IRremote NEC и код для требований к Вашей новой программе: например несколько кнопок, экран, мигающие диоды, инфракрасный светодиод ...
Re: Частота моргания светодиода
Добавлено: Пт окт 22, 2021 06:39:16
SpirkinLAB
То что без проблем можно использовать на Ардуинко это понятно
Задача другая использовать PIC 16F628A
Нужен кусок правильного кода по задеркам включения и выключения
Я планировал по типу вот так
symbol S = PORTA.0
TRISA=%11111110
MAIN:
S=1
pause 1000
S=0
pause 500
S=1
pause 500
S=0
PAUSE 500
S=1
PAUSE 500
goto main
end
Это чтото типа примерно
Добавлено after 35 seconds:
без всяких заморочек
Re: Частота моргания светодиода
Добавлено: Пт окт 22, 2021 06:42:26
veso74
Правда, Вы можете "заново открыть для себя колесо" :/.
Re: Частота моргания светодиода
Добавлено: Пт окт 22, 2021 06:47:51
SpirkinLAB
У меня в коде будет реализовано следующее
при начале работы - Регистратура включает свет у себя на рабочем месте , с помощью Фото резистора и пару транзисторов будет подаваться сигнал обнаружения света и логической единицы на вход , как пик увидет логическую единицу срабатывает программа - 1 раз нажатия кнопки на пульте - тоесть 1 раз проганяется код который по факту от пульта выше стоящий и дальше начинает ожидать когда пропадёт логическая единица
(тоесть свет выглючат в регистратуре)
после того как свет выключили в регистратуре там реальная темнота почти то код переходит дальше к программе нажатия на пульт 2 раза с промежутком 3 секунды тоесть код должен повториться с промежутком в 3 секунды после того как код отработал программа возвращается в исходное положение .
Осталось только правильно выставить включение и выключение диода.
В начале статьи Я писал что гдето на просторах интернета Я видел что там както задали частоту 4 000 000 и могли указать 0,1 секунду аж числом 100 000 , тоесть 0,01 секунда равнялась 10 000 и тогдалее получается так что можно было бы указать МИКРОСЕКУНДЫ , сам процессор умеет работать на 4 мегагердцах остолсь за малым правильно накрутить ))))))))))))))
Re: Частота моргания светодиода
Добавлено: Пт окт 22, 2021 07:06:10
veso74
[uquote="SpirkinLAB",url="/forum/viewtopic.php?p=4109152#p4109152"]Я планировал по типу вот так ...[/uquote]
Так не пойдет. Светодиод не только мигает. Чтобы принимать фотоприемник команды, то нужна модуляция, ШИМ, PWM, как писали выше коллеги.
времевая диаграмма IR Remote Control (случайной выборки из интернета):
Re: Частота моргания светодиода
Добавлено: Пт окт 22, 2021 19:54:44
diplodok
SpirkinLAB писал(а):Мне нужно задать ..... МИКРОСЕКУНДАХ
Прочитай как работает модуль
CCP (CaptureComparePWM) режим
Compare.
Re: Частота моргания светодиода
Добавлено: Сб окт 23, 2021 06:16:45
SpirkinLAB
[uquote="diplodok",url="/forum/viewtopic.php?p=4109592#p4109592"]
SpirkinLAB писал(а):Мне нужно задать ..... МИКРОСЕКУНДАХ
Прочитай как работает модуль
CCP (CaptureComparePWM) режим
Compare.[/uquote]
Вот про это Я и говорил Уважаемый !!!!
https://habr.com/ru/post/98147/
там и задаётся такая частота !!!! и 1 число = 1 микросекунде
Re: Частота моргания светодиода
Добавлено: Сб окт 30, 2021 18:18:55
SpirkinLAB
вобщем понял одно - буду делать тогда на ардуино НАНО чтобы минимальная версия получилась со спичный коробок
Мега спасибо всем !!!!
Re: Частота моргания светодиода
Добавлено: Пн ноя 01, 2021 15:28:05
diplodok
А я думал что уже давно сделал. Да там на час работа - полчаса прочитать как работает ССР и полчаса программу написать .....

Re: Частота моргания светодиода
Добавлено: Вт ноя 02, 2021 10:17:53
pyzhman
[uquote="diplodok",url="/forum/viewtopic.php?p=4114666#p4114666"]...на час работа...[/uquote]
Удиви сообщество - сделай.
Re: Частота моргания светодиода
Добавлено: Вт ноя 02, 2021 11:47:09
diplodok
Милости просим - лови
МК = 12F683, первые 6
PS: 3.10.21 8:00
Код убрал. Пусть ТС сам сделает.
Re: Частота моргания светодиода
Добавлено: Ср ноя 03, 2021 08:12:00
diplodok
Код убрал