В описании "пауза между нотами" стоит в скобках. На самом деле это длительность такта. Это не одно и то же.Igor писал(а): 28 июн 2022, 12:46Dryundel, И еще вопрос нельзя ли сделать длительность такта еще меньше чем 100мс? Ноты то можно а вот паузы уже не получается.
Я уже писал:
Dryundel писал(а): 26 июн 2022, 09:46 Ерунда может начинаться вопервых в том случае, если пауза меньше чем длина ноты. К примеру 4 - это 1/4 секунды = 250 мс. Поэтому паузу надо ставить чуть больше.
Это время между началом звучания каждой ноты.
Вы можете вообще убрать формулу вычисления долей ноты. Это больше для тех кто привык к музыкальным терминам.
И вместо: 1000 / Melody[ArrayCounter + 1] оставить только Melody[ArrayCounter + 1]
Выкинуть числитель.
И тогда будете задавать длительность нот в миллисекундах.
НО! ОБЯЗАТЕЛЬНО!
Длительность такта должна быть чуть длиннее чем длительность ноты. Хотя бы на 1мс, иначе функция tone() не справляется и не успевает переустанавливать частоту.
Специально проверил. Длина нот - 20мс, длина такта 21мс. Все отлично работает.
И ПОМНИ!
Ровно в полночь Ардуинка превратится в тыкву!
Если длительность основного цикла превысит длительность ноты или такта, будет ппц.
Отправлено спустя 5 минут 41 секунду:
Как бы да, можно. Базовый редактор позволяет такую вольность. Но вообще это не правильно. Некорректно отсылать команду на один пин из разных мест. В случае если включить одновременно два таких блока, тоже будет ппц.Igor писал(а): 28 июн 2022, 12:52 Еще его можно клонировать и сделать несколько блоков с разными мелодиями!
В новом редакторе этот глюк исключен и нельзя назначить один и тот же пин в разных блоках.