Pull to refresh
44
0
Send message

Запись через линейный вход звуковой карты компа.

Сделал запись нот по отдельности и аккордом

Спектр Ре+Ми
Спектр Ре+Ми
Спектр Ре+Ми+Фа.
Спектр Ре+Ми+Фа.

при малом количестве одновременных нот можно считать, что линейно они складываются без нелинейных искажений.

Звук: https://disk.yandex.ru/d/Br1f2QBhf7Izvw

Если просто складывать, то боюсь что одну ноту совсем тихо. но я могу переписать код для проверки. Думаете будет лучше?

Странно, что у вас так получилось.

Давайте посчитаем. Беру размеры, близкие к существующим в проекте.

Примем мощность передатчика такую, что на расстоянии 1мм он даёт 1Вт/мм2 (да, надо считать через стерадианы, но пока упростим). Расхождение луча 1 радиан. то есть на расстоянии R луч освещает площадь S = R^2

Вариант 1. Линза с фокусным 10 мм и площадью 100кв.мм у передатчика. Плотность, дошедшая до линзы 1/100 Вт/мм2. Пучок параллельный (но можно и сузить) идёт 440 мм, и пусть теряет 50%. У приёмника получаем 1/200 Вт/мм2.

Вариант 2. Передатчик светит на 440 мм. Плотность 1/r^2 = 1/200000. Фокусируем линзой из 100 кв.мм в 1 кв.мм. то есть усиливаем в 100 раз. получаем 1/2000 Вт/мм2

Разница в 10 раз.

Видеозапись добавил

Близкие ноты дают какую-то реверберацию. Может так и надо.

Что вы имеете ввиду "лимитер"? Сигнал в насыщение не уходит до 16 одновременно взятых нот. А суммирование двух-трёх нот почти линейное. Или я не понял мысль...

1 нота в максимуме это 197000 единиц. Максимум для ШИМ 800 ед. Можно построить график x / (x / 1024 + 1200), посмотреть

А, активный фильтр? так сначала и было, но ОУ входил в самовозбуждение, я мучал схему пока не понял что ОУ брак. Поставил нормальный, но плата была уже переделана на пассивный фильтр. Да, активный можно настроить с лучшей АЧХ.

Софтовые дела я вроде бы описал все по-порядку. Но если что-то не хватает - спрашивайте, напишу.

Таймер основной на 16 кГц.

В нём - опрос циклично 10 дискретных входов, определение было ли затенение и сколько длилось (массив из 20 значений для каждой ноты)

Если затенение было - запись стартового значения амплитуд и их гармоник в ячейку (i = ноте) массива амплитуд[20]

Каждый n-ый такт снижение всех играющих амплитуд по экспоненциальной формуле

Цикл (i=0 to 19) по всем 20 нотам, в котором:

{

t[i]+= h // прибавление счётчика h зависит от частоты ноты. для каждой ноты свой счётчик. Счётчики для гармоник это t[i]*2, t[i]*3 и так далее.

U += A[i] * SIN[t[i]] // амплитуды умножаются на значение синуса и все складываются

}

PWM = 800 + U / (U >> 10 + 1200) // выход на ШИМ

Нет, не одноголосая:

С тактовой частотой 16 кГц происходит суммирование всех играющих нот. Для снижения нагрузки нота отключается при падении амплитуды менее 0,7% от начальной.

Аккорды получаются.

Записал аудио по нотам, с разным тембром

https://disk.yandex.ru/d/RGiJ24_S1S2Cvg

Интересно. Это уже получается другое устройство, может в будущем реализую. Я делал аналоговые датчики на щелевой оптопаре, для микроперемещений из-за малых размеров приёмника (а большие кристаллы только у солнечных панелей бывают, ФТ таких не встречал). Аналоговый датчик на оптике лучше получается на отражении - там диапазон расстояний больше.

Нити, кстати могу попробовать поставить

Резисторы другие, поправил в статье. Моделирование даёт полку до 1 кГц, потом спад. Полка неидеальная, так-то только ШИМ 40 кГц отфильтровать. я сделаю записи отдельных нот, посмотрю уровень. Осциллограф показывал приемлемую АЧХ.

Спасибо. Да, уже переговоры с арфисткой идут)

Спасибо!

Работа на переменном сигнале это интересно, но усложнит электронику, там места мало.

ФТ в чёрном корпусе рассматривал, правда там общая чувствительность тоже ниже. Можно эти маркером закрасить).

Нет, фокусировка на передатчике, я по-разному экспериментировал. Плотность энергии выше при фокусировке передатчика. А у ФТ уже своя диаграмма направленности в 20°. Оба фокусировать это лучше, но опять же линзы и место.

Вы делали с упрощением оптики - как, можно подробнее?

Спасибо!

Громкость изменить быстро нельзя, но есть под второй рукой крутилка громкости. Если не в ноте, а во всей мелодии нужен подъём/спад - вполне возможно.

Да, по нотам попасть сложно, но аккорды уже легче. Понятно что не для концерта в БТ, а потренькать на гитарниках)

Круто! Сначала был настроен скептически, прямые вычисления расстояний менее ресурсоёмкие чем НС, но увидев что проходы настолько узкие - впечатлился.

Однако, есть вопросы: если модель строится на отталкивающем потенциале, то может гипотетически появится "сила" для компенсации которой потенциал будет уже внутри стены и въедем в стену? И как в норме достичь стены, допустим подъехать вплотную к стене, если там отталкивание больше нуля даже на свободном месте? Команды не станут игнорироваться?

Можно ли ускорить/упростить алгоритмы, зная что робот не поедет боком и препятствия с боков?

Работа солвера Acados занимает оставшиеся 50–60 мс.  - это на весь заданный путь или на ближайшее перемещение за 1 цикл контроллера?

Для таких часов будет тросик к ближайшей колокольне.

Настоящий DIY ! Вот прямо от самого примитивного до полноценного завершённого проекта. Автору респект! В 2018г адресные светодиоды были редкость и дороже, а обычные в лентах самое то. Единственное, мосфеты надо бы ставить. Управление через Интернет очень понравилось, возьму на заметку. Приятно видеть, что от механики до программирования всё смог один осилить, пусть и через кривоватые решения поначалу.

Вот эта сложная, и, несомненно, нужная работа по отображению повёрнутого текста на градиентном фоне. Революционная вещь, пользователи ахнули.

Функция BitBlt (wingdi.h)

Функция BitBlt выполняет битовую передачу данных цвета, соответствующих прямоугольнику пикселей, из указанного контекста исходного устройства в контекст целевого устройства.

Проще говоря, копирование изображения из одной области (может быть и невидимой) на другую область (м.б. экран)

Это здорово! Особенно меня интересует лицензирование (а лучше посадка) вот таких персонажей

https://joniksalsa.ru/vremena_igr#!/tproduct/679569631-1708717981560

 и таких курсов

https://7dlife.taplink.ws/p/d12680/

Information

Rating
7,871-st
Registered
Activity