Частота моргания светодиода

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
SpirkinLAB
Родился
Сообщения: 15
Зарегистрирован: Пн окт 18, 2021 08:18:36

Частота моргания светодиода

Сообщение 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
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1907
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Частота моргания светодиода

Сообщение veso74 »

[uquote="SpirkinLAB",url="/forum/viewtopic.php?p=4108881#p4108881"]... Мне нужно задать частоту включения и выключения светодиода ...[/uquote]
Может быть. Но если не дадите полную информацию (что это за устройство, для чего будет использоваться, полный или предполагаемый x-ки ...), то тогда "рискуем"/"рискуете" неоднократно начинать разрабатывать свою программу "с нуля". (частично пользуюсь переводчиком БГ->РУ)
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1393
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Частота моргания светодиода

Сообщение 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);
}

Аватара пользователя
Родэрик
Нашел транзистор. Понюхал.
Сообщения: 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: Частота моргания светодиода

Сообщение SpirkinLAB »

Спасибо за ответы скан снял через Ардуино пульт от ТВ - не хотел всем загромождать Вас уважаемые


Мне всё что нужно это повторить моргания светодиода - в тектовом документе - это Я 3 раза нажал на кнопку.


Также есть вот такая вещ unsigned int data = 0xC1AA09F6;

это 16 ричный код - Мне так обьяснили если делать пульт через ардуино то этого кода достаточно чтобы светодиод отработал правильно


Может и в пике можно будет както указать включение светодиода по такому коду - или же сконвертировать под другой тип цифры - ну Я так понял двоичный (но он не пойдёт ) так как незнаем сами задержки

А выше стоящие цыфры и есть сами логические нули и единицы поэтому Я Вам и дал кусок того.

Спасибо всем кто участвует )))
Вложения
пульт.txt
(3.09 КБ) 221 скачивание
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1907
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Частота моргания светодиода

Сообщение 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 и код для требований к Вашей новой программе: например несколько кнопок, экран, мигающие диоды, инфракрасный светодиод ...
Последний раз редактировалось veso74 Пт окт 22, 2021 06:48:03, всего редактировалось 2 раза.
Реклама
SpirkinLAB
Родился
Сообщения: 15
Зарегистрирован: Пн окт 18, 2021 08:18:36

Re: Частота моргания светодиода

Сообщение 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:
без всяких заморочек
Последний раз редактировалось SpirkinLAB Пт окт 22, 2021 06:48:24, всего редактировалось 1 раз.
veso74
Поставщик валерьянки для Кота
Сообщения: 1907
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Частота моргания светодиода

Сообщение veso74 »

Правда, Вы можете "заново открыть для себя колесо" :/.
Последний раз редактировалось veso74 Пт окт 22, 2021 07:03:27, всего редактировалось 1 раз.
SpirkinLAB
Родился
Сообщения: 15
Зарегистрирован: Пн окт 18, 2021 08:18:36

Re: Частота моргания светодиода

Сообщение SpirkinLAB »

У меня в коде будет реализовано следующее

при начале работы - Регистратура включает свет у себя на рабочем месте , с помощью Фото резистора и пару транзисторов будет подаваться сигнал обнаружения света и логической единицы на вход , как пик увидет логическую единицу срабатывает программа - 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: Частота моргания светодиода

Сообщение veso74 »

[uquote="SpirkinLAB",url="/forum/viewtopic.php?p=4109152#p4109152"]Я планировал по типу вот так ...[/uquote]
Так не пойдет. Светодиод не только мигает. Чтобы принимать фотоприемник команды, то нужна модуляция, ШИМ, PWM, как писали выше коллеги.

времевая диаграмма IR Remote Control (случайной выборки из интернета):
necmodulation.png
(2.42 КБ) 171 скачивание
diplodok
Мудрый кот
Сообщения: 1781
Зарегистрирован: Чт авг 10, 2017 20:57:51

Re: Частота моргания светодиода

Сообщение diplodok »

SpirkinLAB писал(а):Мне нужно задать ..... МИКРОСЕКУНДАХ
Прочитай как работает модуль CCP (CaptureComparePWM) режим Compare.
SpirkinLAB
Родился
Сообщения: 15
Зарегистрирован: Пн окт 18, 2021 08:18:36

Re: Частота моргания светодиода

Сообщение SpirkinLAB »

[uquote="diplodok",url="/forum/viewtopic.php?p=4109592#p4109592"]
SpirkinLAB писал(а):Мне нужно задать ..... МИКРОСЕКУНДАХ
Прочитай как работает модуль CCP (CaptureComparePWM) режим Compare.[/uquote]



Вот про это Я и говорил Уважаемый !!!!
https://habr.com/ru/post/98147/

там и задаётся такая частота !!!! и 1 число = 1 микросекунде
SpirkinLAB
Родился
Сообщения: 15
Зарегистрирован: Пн окт 18, 2021 08:18:36

Re: Частота моргания светодиода

Сообщение SpirkinLAB »

вобщем понял одно - буду делать тогда на ардуино НАНО чтобы минимальная версия получилась со спичный коробок


Мега спасибо всем !!!!
diplodok
Мудрый кот
Сообщения: 1781
Зарегистрирован: Чт авг 10, 2017 20:57:51

Re: Частота моргания светодиода

Сообщение diplodok »

А я думал что уже давно сделал. Да там на час работа - полчаса прочитать как работает ССР и полчаса программу написать .....

:facepalm:
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Частота моргания светодиода

Сообщение pyzhman »

[uquote="diplodok",url="/forum/viewtopic.php?p=4114666#p4114666"]...на час работа...[/uquote]
Удиви сообщество - сделай.
Docendo discimus
diplodok
Мудрый кот
Сообщения: 1781
Зарегистрирован: Чт авг 10, 2017 20:57:51

Re: Частота моргания светодиода

Сообщение diplodok »

Милости просим - лови

МК = 12F683, первые 6


PS: 3.10.21 8:00
Код убрал. Пусть ТС сам сделает.
diplodok
Мудрый кот
Сообщения: 1781
Зарегистрирован: Чт авг 10, 2017 20:57:51

Re: Частота моргания светодиода

Сообщение diplodok »

Код убрал
Ответить

Вернуться в «PIC»