Pull to refresh
44
0
Send message

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

Таймер основной на 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/

Вот именно. Люди делают чертежи в Экселе, да, прям со штриховкой и размерами. И присылают оператору ЧПУ.

АСУшники конечно в шоке от таких решений, потому что промышленные стандарты не зря существуют... Но для себя - вполне возможно, на кухне. Автор молодец, что реализовал, а вот к заводу вопросы. Ещё важный момент - безопасность, должно 100% исключаться попадание вредных бактерий в пищевой продукт, вот это в домашних условиях имхо сложнее, чем поддержание температур.

Судя по первому вопросу, промышленный софт не пишут. Низкоуровневое программирование МК или FPGA тоже пропало. А по второму вопросу - и языков-то нет, ни МЭК, ни LD, ST. Из языков для ПК нет VisualBasic.

Не согласен с изложенным. -1

Разработчик, если это не первый проект, понимает какие могут быть ошибки, какие будут действия пользователей, и явно лучше предугадывает сомнительные места своего кода. Мало-мальски опытный разработчик просто не допустит таких ошибок, как в примере. По своему (и не только своему) опыту - сразу писать и тестировать намного эффективнее. Однако тестировщики нужны всё равно в каких-то совсем массовых (много программистов) разработках. И перед релизом нужно бы, да отдать "пользователю". Но до релиза в принципе не должно быть явных ошибок, это вроде как работа программиста.

Information

Rating
4,850-th
Registered
Activity