Подскажите, есть ли возможность в графическом редакторе подключить сдвиговый регистр? Или какой ни будь вариант чтоб увеличить количество входов и выходов?
12:07 -- вот уж я думаю тут почти всегда енто враки... поскольку я думаю либо все, либо почти все компиляторы, под ардуино способны актуально оптимизировать код, и в случае возможности использования сдвига вместо умножения они будут делать именно сдвиг, если он действительно на конкретной платформе (микроконтроллере) быстрее. Другой фактор -- надо из мануалов к микроконтроллеру определять его машинные инструкции, а так же какое количество тактов они занимают. Другими словами, могут встречаться случаи, в которых именно даже машинная операция умножения будет занимать не больше тактов, чем операция сдвига.
0:57 к сожалению это не так, более того , то что вы предлогаете закаментировать на 15:55 необходимо чтобы знать реальную частоту которую будет генерировать МК, реальная и ожидаемая частота могут отличатся на десятки а то и сотни тисяч Герц, с этими строкому МК хотябы отправляет информацию о том что не способен генерировать нужную частоту и будет генерировать ближайшую частоту которую может.
Больше воды только в Байкале... Главная проблема у многих авторов в том, что они пытаются впихнуть в один ролик всё. Начал с ардуино, потом пол ролика на кой-то хрен объяснял гармоники, крутил ПО и че то там настраивал... Ну если есть желание более подробно остановится на видах сигнала и гармониках, то запили отдельный видос со всеми подробностями. Смысл пол ролика занимать тем, что к делу не относится?
вам нужен установленный компонент bcomport. У меня делфи еще 10 стоит с прошлого года. Попробуйте установить из моего архива или скачать где то версию для 11 Delphi. Мой компонент AtulKbib я писал сам. это круглая ручка установки частоты. Он должен устанавливаться в любой делфи.
Я и AVR в последний раз держал лет 10-15 назад, как появились STM8 МК с настройками на лету, с отладчиком на борту и ценой полноценный мк по цене младшего обрубка тини. А сейчас вообще 32бита уже 20р за МК на али можно взять (и это при текущем курсе). А 8бит давно похоронены, просто даже не выгодно покупать. Любой AVR и клоны, STM8 будет дороже 32бит клона STM32 (пример цены выше) со всякими DMA и т.д. За 35р иметь 32бит таймер под ШИМ - пожалуйста. Уже давно нужно знать как самое начало программирования МК это STM32 (И взять и прочитать один раз именно manual от производителя чтоб знать как устроен МК) и язык программирования естественно Си. Сейчас новые МК разных производителей калькируются с этого МК, у китайцев своих производителей десятки, всякие GD32, CH32, AT32 и т.д и т.д. Некоторые бедолаги за все это время все не могут попасть в реальность.
@@dekus80 под AVR куча кода, есть микросхемы в DIP корпусах. Быстродействия хватает для мигалок всяких. Код 8-битный более читаемый. В STM32 какой-нибудь таймер сложнее чем весь микроконтроллер 8-битный. Я AVR программирвоал и 10 лет назад и до сих пор только ими и пользуюсь, мне больше не надо, тем более что Ардуина стала стандартом. С кучей отлаженных прошивок, Marlin для 3D принтера, GRBL для CNC станков и т.п. Если нужно что-то считать и выводить на HD экран то лучше куплю Raspbery Pi Вы наверное путаете профессиональных разработчиков и хобби. Для хобби AVR хватает с запасом. А самый крутой подход это Xilinx всякие FPGA, более сложные для понимания, выше порог вхождения, но и возможностей выше на порядок.
@@SIM31r Как говорится сколько людей столько мнений. Мог бы по каждому пункту поспорить, но это будет пустой тратой времени, вы же уже выбрали свой путь. Лично я программирую вообще на регистрах хоть 51, хоть avr, хоть stm8, хоть stm32. Знаю ассемблеры и как компилятор ту или иную запись скомпилирует, изучал получаемые листинги. Могу реверсить любые прошивки. А уж сколько различных МК в кассетнице... И у меня МК это тоже всего лишь хобби для души, никогда не работал в этой области. Просто у меня ко всему вот такой уровень любознательности. У вас такой. Вам достаточно АВР (который я уж забыл как страшный сон) и Ардуино, а я нахожу чего там ещё нового появилось в мире МК, покупаю, изучаю по мануалу. Для изучения МК никогда не использовал ничего кроме мануалов от производителя, там все есть для этого и прочитав удивительным образом окажется что ничего сложного нет и в том же stm32, на регистрах тот же таймер инициализируется в 4-5 строчек.
@@dekus80 если это хобби, то непонятно откуда столько времени на всё это. Осталось FPGA освоить, DSP хотя бы ADAU1452, СВЧ передатчики, силовую электронику, квадракоптеры и изготовление радиоламп, всё же интересно ))
смена полярности с некоторой частотой порождает гармоники. так устроен этот мир. Откуда круги на воде если я просто бросил туда камень? Я не знаю. И никто не знает.
Можно еще добавить установку скважности, хотя на высоких частотах будет совсем небольшой ее диапазон. Но на относительно низких частотах можно будет вполне пользоваться
Спасибо за грамотное, ясное изложение в идеальном для усвоения темпе.
Познавательно и интересно. Молодец. Хороший получится тестер для проверки слуха от 20Гц-20кГц. 😀
Как всегда Отлично . Спасибо за знания 👍
Очень интересно , помогите понять как сделать такой синтезатор из ардуино нано и несколькими потенциометрами ;)
Берем Blink програмно меряем delay тем самым меняя частоту. Вот все в трех словах. А еще лучше на ардуино и модуле si5351
Как подключить 2 канал для управления например двумя светодиодами разными частотами ?
Большое спасибо, то, что нужно!
Спасибо
Подскажите, есть ли возможность в графическом редакторе подключить сдвиговый регистр? Или какой ни будь вариант чтоб увеличить количество входов и выходов?
Большое спасибо.
Погодите, погодите, если взять осциллограф на 200мгц (например) то ардуинка выжмет красивый и ровный квадрат ?
Не могли бы показать как в протеусе без написания кода сделать MIDI клавиатуру с ручками пич и модуляция. Спасибо.
12:07 -- вот уж я думаю тут почти всегда енто враки... поскольку я думаю либо все, либо почти все компиляторы, под ардуино способны актуально оптимизировать код, и в случае возможности использования сдвига вместо умножения они будут делать именно сдвиг, если он действительно на конкретной платформе (микроконтроллере) быстрее.
Другой фактор -- надо из мануалов к микроконтроллеру определять его машинные инструкции, а так же какое количество тактов они занимают. Другими словами, могут встречаться случаи, в которых именно даже машинная операция умножения будет занимать не больше тактов, чем операция сдвига.
какую минимальную скважность сигнала можно получиь в этом коде при низких частотах? К примеру от 1Hz до 150Hz ?
А теперь синхронизируем генератор с каким-нибудь GPS модулем, чтоы точность частоты задать )
Спасибо!
0:57 к сожалению это не так, более того , то что вы предлогаете закаментировать на 15:55 необходимо чтобы знать реальную частоту которую будет генерировать МК, реальная и ожидаемая частота могут отличатся на десятки а то и сотни тисяч Герц, с этими строкому МК хотябы отправляет информацию о том что не способен генерировать нужную частоту и будет генерировать ближайшую частоту которую может.
Спасибо! Можно ли исходник на Delphi увидеть в учебных целях?.
можно, выложу вечером в архиве с проектом
Спасибо!@@MbsElectronics
@@ВладимирСветлов-г4п добавил в архив
Больше воды только в Байкале... Главная проблема у многих авторов в том, что они пытаются впихнуть в один ролик всё. Начал с ардуино, потом пол ролика на кой-то хрен объяснял гармоники, крутил ПО и че то там настраивал... Ну если есть желание более подробно остановится на видах сигнала и гармониках, то запили отдельный видос со всеми подробностями. Смысл пол ролика занимать тем, что к делу не относится?
0:57 Точность задания частоты 1 Гц - это для любого диапазона?!! Это не оговорка?
если не оговорка, то просто бред!
Можно зделать контролер ветрогенератора с сбросом на баласт!?
Как открыть Ваш проект в Delphi 11 Community Edition? . Как проще добавить компоненты из Вашей папки в проект?
вам нужен установленный компонент bcomport. У меня делфи еще 10 стоит с прошлого года. Попробуйте установить из моего архива или скачать где то версию для 11 Delphi. Мой компонент AtulKbib я писал сам. это круглая ручка установки частоты. Он должен устанавливаться в любой делфи.
Спасибо, попробую.@@MbsElectronics
Внезапно дельфи ещё есть... Лет 20 на нём не писал ничего
Еще как есть...
Я и AVR в последний раз держал лет 10-15 назад, как появились STM8 МК с настройками на лету, с отладчиком на борту и ценой полноценный мк по цене младшего обрубка тини. А сейчас вообще 32бита уже 20р за МК на али можно взять (и это при текущем курсе). А 8бит давно похоронены, просто даже не выгодно покупать. Любой AVR и клоны, STM8 будет дороже 32бит клона STM32 (пример цены выше) со всякими DMA и т.д. За 35р иметь 32бит таймер под ШИМ - пожалуйста. Уже давно нужно знать как самое начало программирования МК это STM32 (И взять и прочитать один раз именно manual от производителя чтоб знать как устроен МК) и язык программирования естественно Си. Сейчас новые МК разных производителей калькируются с этого МК, у китайцев своих производителей десятки, всякие GD32, CH32, AT32 и т.д и т.д. Некоторые бедолаги за все это время все не могут попасть в реальность.
@@dekus80 под AVR куча кода, есть микросхемы в DIP корпусах. Быстродействия хватает для мигалок всяких. Код 8-битный более читаемый. В STM32 какой-нибудь таймер сложнее чем весь микроконтроллер 8-битный. Я AVR программирвоал и 10 лет назад и до сих пор только ими и пользуюсь, мне больше не надо, тем более что Ардуина стала стандартом. С кучей отлаженных прошивок, Marlin для 3D принтера, GRBL для CNC станков и т.п. Если нужно что-то считать и выводить на HD экран то лучше куплю Raspbery Pi
Вы наверное путаете профессиональных разработчиков и хобби. Для хобби AVR хватает с запасом. А самый крутой подход это Xilinx всякие FPGA, более сложные для понимания, выше порог вхождения, но и возможностей выше на порядок.
@@SIM31r Как говорится сколько людей столько мнений. Мог бы по каждому пункту поспорить, но это будет пустой тратой времени, вы же уже выбрали свой путь.
Лично я программирую вообще на регистрах хоть 51, хоть avr, хоть stm8, хоть stm32. Знаю ассемблеры и как компилятор ту или иную запись скомпилирует, изучал получаемые листинги. Могу реверсить любые прошивки. А уж сколько различных МК в кассетнице... И у меня МК это тоже всего лишь хобби для души, никогда не работал в этой области. Просто у меня ко всему вот такой уровень любознательности. У вас такой. Вам достаточно АВР (который я уж забыл как страшный сон) и Ардуино, а я нахожу чего там ещё нового появилось в мире МК, покупаю, изучаю по мануалу. Для изучения МК никогда не использовал ничего кроме мануалов от производителя, там все есть для этого и прочитав удивительным образом окажется что ничего сложного нет и в том же stm32, на регистрах тот же таймер инициализируется в 4-5 строчек.
@@dekus80 если это хобби, то непонятно откуда столько времени на всё это. Осталось FPGA освоить, DSP хотя бы ADAU1452, СВЧ передатчики, силовую электронику, квадракоптеры и изготовление радиоламп, всё же интересно ))
Ну да, только программировать научится, а так класс!
от куда в прямоугольном сигнале берутся гормоники, если фактически это лишь смена полярности с некоторой частотой?
смена полярности с некоторой частотой порождает гармоники. так устроен этот мир. Откуда круги на воде если я просто бросил туда камень? Я не знаю. И никто не знает.
@@MbsElectronics 😆👍
кароче тема программирования ардуино в протеусе сдохла... впрочем это так по "Нашему"... задекларировать и забыть. 👌
Исходник на Delphi так и не появился....
Сейчас добавил в архив, можете перезагрузить
Спасибо!@@MbsElectronics
100000 kHz)))
а ведь есть библиотека gyverPWM, там уже это есть
трохи покромсал код ядра:
void generator( u32 Freq )
{
if (Freq == 0 || Freq > F_CPU/2) return;
const u8 Lshift[] = {3,3,2,2};
u32 compare = F_CPU / Freq /2; //calculate OCR
for (u8 i = 0; i < 4; i++) {
if (compare > 65536) compare >>= Lshift[i];
else {
TCCR1B = (1
Можно еще добавить установку скважности, хотя на высоких частотах будет совсем небольшой ее диапазон. Но на относительно низких частотах можно будет вполне пользоваться
Дякую
@@IndiaMagicTV , ще варіант
void gen_Update ( u32 Freq )
{
if (Freq == 0 || Freq > F_CPU/2) return;
const u8 shift [] = {3, 3, 2, 2};
u32 compare = F_CPU / Freq /2; //calculate OCR
u8 prescaler = 0;
for (u8 i = 0; i < 4; i++) {
prescaler++;
if (compare > 65536) compare >>= shift [i];
else break;
}
OCR1A = compare - 1;
TCCR1A = 1