Главная Протокол MIDI Принцип действия Звукосниматель Лады и струны Питание Аналоговая часть Контроллер PIC16x74 COM-порт MIDI-порт Управление и индикация Алгоритм детектирования нот |
Лады и струныСтруны в "Трынделке" принципиально металлические. Это диктуется как использованием магнитного звукоснимателя, так и принципом определения лада, на котором прижата струна: требуется электрический контакт струны с порожком. Так как конструкция макета весьма несовершенна с механической точки зрения (прще говоря - хлипкая), во всех позициях натянуты тонкие струны (N1 и N2). Для определения, на каком порожке прижата струна, на струну выдается логическая единица. После этого микроконтроллер считывает уровни напряжения с порожков в порядке от конца к началу грифа: где впервые обнаружится единица, там и прижата струна. Струна может входить в контакт сразу с несколькими порожками - с порожком лада, на котором прижата, и с предыдущими. При смене лада струна сначала может коснуться предыдущего порожка, и лишь затем - того, на котором прижимается. Этот факт должен учитываться алгоритмом анализа. Такой способ сканирования работает, достаточно прост в реализации, но не лишен недостатков:
Примерная схема сканирования показана ниже.
Резисторы на входе подтягивают считываемый сигнал к уровню нуля для порожков, где струны нигде не прижаты. Номинал входных резисторов 10 кОм представляется разумным компромиссом, позволяющим как гасить наводки, так и обеспечивать низкое потребление в цепях сканирования. Изначально планировал поставить на выходе сканирующего порта диоды и резисторы - для защиты от перемыкания струн и ослабления наводок. Не сработало. Проводимости моего пальца оказалось достаточно, чтобы через барре активный уровень сканирования попал на пассивную струну. Потом вместо диодов пробовал переводить пассивные выходы в третье состояние - опять не помогло. В результате сейчас выходы сканирующего порта микроконтроллера напрямую соединены со струнами (и с руками гитариста), и если струны перемкнуть, то единица и ноль на выходах порта замкнутся. Порт мощный и при этом не выгорает (сейчас длительность импульса сканирования - несколько десятков микросекунд, период сканирования - около миллисекунды), но хорошего в этом мало. Для защиты от статики на выходах и входах сканирования имеет смысл поставить какие-нибудь стабилитроны, но этот вопрос пока не прорабатывался.
|