Частота моргания светодиода
-
SpirkinLAB
- Родился
- Сообщения: 15
- Зарегистрирован: Пн окт 18, 2021 08:18:36
Частота моргания светодиода
Добрейший день.
Мне нужно задать частоту включения и выключения светодиода
+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
Мне нужно задать частоту включения и выключения светодиода
+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
- Реклама
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Частота моргания светодиода
[uquote="SpirkinLAB",url="/forum/viewtopic.php?p=4108881#p4108881"]... Мне нужно задать частоту включения и выключения светодиода ...[/uquote]
Может быть. Но если не дадите полную информацию (что это за устройство, для чего будет использоваться, полный или предполагаемый x-ки ...), то тогда "рискуем"/"рискуете" неоднократно начинать разрабатывать свою программу "с нуля". (частично пользуюсь переводчиком БГ->РУ)
Может быть. Но если не дадите полную информацию (что это за устройство, для чего будет использоваться, полный или предполагаемый x-ки ...), то тогда "рискуем"/"рискуете" неоднократно начинать разрабатывать свою программу "с нуля". (частично пользуюсь переводчиком БГ->РУ)
Re: Частота моргания светодиода
[uquote="Novice user",url="/forum/viewtopic.php?p=4108922#p4108922"]Вот,может поможет такая программа[/uquote]
Ну да, это если ручками рассчитывать каждую задержку.
1en2 правильно подметил - таблица длительностей кратна 50-ти... Примерно так:
Ну да, это если ручками рассчитывать каждую задержку.
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);
}
- Родэрик
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Чт ноя 26, 2015 23:22:35
- Откуда: не с Уфы
- Контактная информация:
Re: Частота моргания светодиода
хоть показал бы скан, откуда ты эти длительности снял. Вот эти пары 1700 (1650) и 600(550) это период. Соотношение в периоде указывает на то, что передаётся 0 or 1. И не надо там таблицы делать. Выставляешь свои 32 бита и двигаешь их влево в порт. Ну а уже по флагу C загружаешь либо 1700, либо 600.
Вот только есть один момент - ты не можешь просто включать/выключать пин (светодиод), ты должен включать/отключать модуль шим, который в свою очередь настроен на частоту нужной тебе модуляции.
Вот только есть один момент - ты не можешь просто включать/выключать пин (светодиод), ты должен включать/отключать модуль шим, который в свою очередь настроен на частоту нужной тебе модуляции.
-
SpirkinLAB
- Родился
- Сообщения: 15
- Зарегистрирован: Пн окт 18, 2021 08:18:36
Re: Частота моргания светодиода
Спасибо за ответы скан снял через Ардуино пульт от ТВ - не хотел всем загромождать Вас уважаемые
Мне всё что нужно это повторить моргания светодиода - в тектовом документе - это Я 3 раза нажал на кнопку.
Также есть вот такая вещ unsigned int data = 0xC1AA09F6;
это 16 ричный код - Мне так обьяснили если делать пульт через ардуино то этого кода достаточно чтобы светодиод отработал правильно
Может и в пике можно будет както указать включение светодиода по такому коду - или же сконвертировать под другой тип цифры - ну Я так понял двоичный (но он не пойдёт ) так как незнаем сами задержки
А выше стоящие цыфры и есть сами логические нули и единицы поэтому Я Вам и дал кусок того.
Спасибо всем кто участвует )))
Мне всё что нужно это повторить моргания светодиода - в тектовом документе - это Я 3 раза нажал на кнопку.
Также есть вот такая вещ unsigned int data = 0xC1AA09F6;
это 16 ричный код - Мне так обьяснили если делать пульт через ардуино то этого кода достаточно чтобы светодиод отработал правильно
Может и в пике можно будет както указать включение светодиода по такому коду - или же сконвертировать под другой тип цифры - ну Я так понял двоичный (но он не пойдёт ) так как незнаем сами задержки
А выше стоящие цыфры и есть сами логические нули и единицы поэтому Я Вам и дал кусок того.
Спасибо всем кто участвует )))
- Вложения
-
- пульт.txt
- (3.09 КБ) 221 скачивание
- Реклама
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Частота моргания светодиода
Судя по тому, что вижу, это команды пульта дистанционного управления 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:
Можете использовать информацию из примеров: напр. IRsendDemo (отправить код, напр. 0xC1AA09F6) или IRsendRawDemo (RAW, "ручное", через время импульса), но Вам все еще нужны подробности о выбранном методе, напр. "carrier frequency for the NEC protocol":
IRsendRawDemo.ino
https://github.com/Arduino-IRremote/Ard ... awDemo.ino
Вам необходимо собрать управляющие фрагменты IRremote NEC и код для требований к Вашей новой программе: например несколько кнопок, экран, мигающие диоды, инфракрасный светодиод ...
Есть давно написанные библиотеки, которые прекрасно работают (напр. на 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 2250IRsendRawDemo.ino
https://github.com/Arduino-IRremote/Ard ... awDemo.ino
Вам необходимо собрать управляющие фрагменты IRremote NEC и код для требований к Вашей новой программе: например несколько кнопок, экран, мигающие диоды, инфракрасный светодиод ...
Последний раз редактировалось veso74 Пт окт 22, 2021 06:48:03, всего редактировалось 2 раза.
-
SpirkinLAB
- Родился
- Сообщения: 15
- Зарегистрирован: Пн окт 18, 2021 08:18:36
Re: Частота моргания светодиода
То что без проблем можно использовать на Ардуинко это понятно
Задача другая использовать 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:
без всяких заморочек
Задача другая использовать 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:
без всяких заморочек
Последний раз редактировалось SpirkinLAB Пт окт 22, 2021 06:48:24, всего редактировалось 1 раз.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Частота моргания светодиода
Правда, Вы можете "заново открыть для себя колесо" :/.
Последний раз редактировалось veso74 Пт окт 22, 2021 07:03:27, всего редактировалось 1 раз.
-
SpirkinLAB
- Родился
- Сообщения: 15
- Зарегистрирован: Пн окт 18, 2021 08:18:36
Re: Частота моргания светодиода
У меня в коде будет реализовано следующее
при начале работы - Регистратура включает свет у себя на рабочем месте , с помощью Фото резистора и пару транзисторов будет подаваться сигнал обнаружения света и логической единицы на вход , как пик увидет логическую единицу срабатывает программа - 1 раз нажатия кнопки на пульте - тоесть 1 раз проганяется код который по факту от пульта выше стоящий и дальше начинает ожидать когда пропадёт логическая единица
(тоесть свет выглючат в регистратуре)
после того как свет выключили в регистратуре там реальная темнота почти то код переходит дальше к программе нажатия на пульт 2 раза с промежутком 3 секунды тоесть код должен повториться с промежутком в 3 секунды после того как код отработал программа возвращается в исходное положение .
Осталось только правильно выставить включение и выключение диода.
В начале статьи Я писал что гдето на просторах интернета Я видел что там както задали частоту 4 000 000 и могли указать 0,1 секунду аж числом 100 000 , тоесть 0,01 секунда равнялась 10 000 и тогдалее получается так что можно было бы указать МИКРОСЕКУНДЫ , сам процессор умеет работать на 4 мегагердцах остолсь за малым правильно накрутить ))))))))))))))
при начале работы - Регистратура включает свет у себя на рабочем месте , с помощью Фото резистора и пару транзисторов будет подаваться сигнал обнаружения света и логической единицы на вход , как пик увидет логическую единицу срабатывает программа - 1 раз нажатия кнопки на пульте - тоесть 1 раз проганяется код который по факту от пульта выше стоящий и дальше начинает ожидать когда пропадёт логическая единица
(тоесть свет выглючат в регистратуре)
после того как свет выключили в регистратуре там реальная темнота почти то код переходит дальше к программе нажатия на пульт 2 раза с промежутком 3 секунды тоесть код должен повториться с промежутком в 3 секунды после того как код отработал программа возвращается в исходное положение .
Осталось только правильно выставить включение и выключение диода.
В начале статьи Я писал что гдето на просторах интернета Я видел что там както задали частоту 4 000 000 и могли указать 0,1 секунду аж числом 100 000 , тоесть 0,01 секунда равнялась 10 000 и тогдалее получается так что можно было бы указать МИКРОСЕКУНДЫ , сам процессор умеет работать на 4 мегагердцах остолсь за малым правильно накрутить ))))))))))))))
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Частота моргания светодиода
[uquote="SpirkinLAB",url="/forum/viewtopic.php?p=4109152#p4109152"]Я планировал по типу вот так ...[/uquote]
Так не пойдет. Светодиод не только мигает. Чтобы принимать фотоприемник команды, то нужна модуляция, ШИМ, PWM, как писали выше коллеги.
времевая диаграмма IR Remote Control (случайной выборки из интернета):
Так не пойдет. Светодиод не только мигает. Чтобы принимать фотоприемник команды, то нужна модуляция, ШИМ, PWM, как писали выше коллеги.
времевая диаграмма IR Remote Control (случайной выборки из интернета):
Re: Частота моргания светодиода
Прочитай как работает модуль CCP (CaptureComparePWM) режим Compare.SpirkinLAB писал(а):Мне нужно задать ..... МИКРОСЕКУНДАХ
-
SpirkinLAB
- Родился
- Сообщения: 15
- Зарегистрирован: Пн окт 18, 2021 08:18:36
Re: Частота моргания светодиода
[uquote="diplodok",url="/forum/viewtopic.php?p=4109592#p4109592"]
Вот про это Я и говорил Уважаемый !!!!
https://habr.com/ru/post/98147/
там и задаётся такая частота !!!! и 1 число = 1 микросекунде
Прочитай как работает модуль CCP (CaptureComparePWM) режим Compare.[/uquote]SpirkinLAB писал(а):Мне нужно задать ..... МИКРОСЕКУНДАХ
Вот про это Я и говорил Уважаемый !!!!
https://habr.com/ru/post/98147/
там и задаётся такая частота !!!! и 1 число = 1 микросекунде
-
SpirkinLAB
- Родился
- Сообщения: 15
- Зарегистрирован: Пн окт 18, 2021 08:18:36
Re: Частота моргания светодиода
вобщем понял одно - буду делать тогда на ардуино НАНО чтобы минимальная версия получилась со спичный коробок
Мега спасибо всем !!!!
Мега спасибо всем !!!!
Re: Частота моргания светодиода
А я думал что уже давно сделал. Да там на час работа - полчаса прочитать как работает ССР и полчаса программу написать .....

- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Частота моргания светодиода
[uquote="diplodok",url="/forum/viewtopic.php?p=4114666#p4114666"]...на час работа...[/uquote]
Удиви сообщество - сделай.
Удиви сообщество - сделай.
Docendo discimus
Re: Частота моргания светодиода
Милости просим - лови
МК = 12F683, первые 6
PS: 3.10.21 8:00
Код убрал. Пусть ТС сам сделает.
МК = 12F683, первые 6
PS: 3.10.21 8:00
Код убрал. Пусть ТС сам сделает.
Re: Частота моргания светодиода
Код убрал


