Как сделать электросхему педаль для гитары

| Текущее время: Пт мар 08, 2024 23:17:35 |
Часовой пояс: UTC + 3 часа
Запрошенной темы не существует.
Часовой пояс: UTC + 3 часа

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y
Работоспособность сайта проверена в браузерах:
IE8.0, Opera 9.0, Netscape Navigator 7.0, Mozilla Firefox 5.0
Адаптирован для работы при разрешениях экрана от 1280х1024 и выше.
При меньших разрешениях возможно появление горизонтальной прокрутки.
По всем вопросам обращайтесь к Коту: kot@radiokot.ru
©2005-2024
Схемы для электрогитары
![]()
Схема гитарной квакушки, полосовой фильтр перестраиваемый LC-контур
Гитарная «квакушка» первой половины 70-х (т.н. «японская схема»). Частота резонанса контура L1C5 перестраивается в диапазоне 300. 2000 Гц. Принципиальная схема гитарной квакушки, полосовой фильтр — перестраиваемый LC-контур. Переменный резистор VR1 изменяет коэффициент включения конденсатора в контур. В качестве .
![]()
Схема фуз (Fuse) приставки для электрогитары (LM358)
Одной из наиболее часто применяемых приставок к электрогитарам является предлагаемая ‘примочка’. Она вносит характерное изменение звука и увеличивает его продолжительность. Приставка построена на двойном операционном усилителе LM358. Сигнал со звукоснимателей гитары подается на вход усилителя.
![]()
Тремоло приставка к электрогитаре на двух транзисторах
Принципиальная схема самодельной тремоло приставки к электрогитаре, создающая эффект тремоло, значительно улучшает звучание электрогитары. Основой приставки является задающий генератор низкой частоты на транзисторе V1 и амплитудный модулятор на транзисторе V2. Частоту генератора изменяют переменным резистором R2. Входной сигнал поступает на.
![]()
Схемы дисторшн (distortion) приставок к электрогитаре на ОУ и транзисторах
Дисторшн (distortion) приставки, схемы которых приведены в статье, предназначены для работы в тракте электронной гитары. Сущность дистошн-эффекта состоит в двустороннем ограничении входного сигнала (от звукоснимателей) и поддержании его на постоянном уровне в течение достаточно большого времени. Приставка содержит предварительный усилитель.
![]()
Вау — приставка к электрогитаре (2 транзистора)
Схема простой Вау — приставки к электрогитаре, предназначена для создания одноименного эффекта, заключающегося в подъеме АЧХ в сравнительно узкой (0,5. 1,5 кГц) полосе частот, которую по желанию исполнителя можно смещать по частоте в ту или иную сторону. Приставка выполнена на транзисторах V1 и V2.
![]()
Бустер приставка к электрогитаре на 5 транзисторах
Схема приставки к электрогитаре для бустер-эффекта, заключается в резком усилении звука в первоначальный момент после щипка струны (или нажатия на клавишу электронного музыкального инструмента). Затем громкость почти также быстро спадает, после чего следует обычное звучание инструмента. Благодаря этому при исполнении быстрых.
![]()
Схема преобразователя спектра для электрогитары
Схема преобразователя спектра для электрогитары позволяет получить органное звучание и ряд других звуковых эффектов, в том числе удвоение частоты. В основу работы устройства положен принцип регистрового синтеза тембров. Сигнал звукоснимателя сначала преобразуется в прямоугольный, затем его.
![]()
Самодельный транзисторный синтезатор для бас-гитар, схема
Приведена принципиальная схема синтезатора, который предназначен для электронных бас-гитар с неразвитой тембровой техникой. Он значительно расширяет их музыкальные возможности и приближает по разнообразию тембров к электронным бас-гитарам высокого класса. Устройство состоит из двух звукоснимателей .
![]()
Электрическая часть электрогитары
Электрогитара предназначена для исполнения партий соло и ритма в ансамблях электронных музыкальных инструментов. Приведена принципиальная схема электрической части для электрогитары с использованием трех звукоснимателей. Ее электрическая часть состоит из .
![]()
Morpheus G2D — схема дисторшн педали
Гитарная педаль на Arduino Uno – pedalSHIELD UNO

pedalSHIELD UNO – это lo-fi программируемая гитарная педаль, которая работает с платами Arduino UNO / Genuino UNO. Это Open Source & Open Hardware проект для гитаристов, хакеров и программистов, которые хотят узнать о цифровой обработке сигналов, эффектах, синтезаторах и прочих экспериментах без глубоких знаний о DSP, электронике или низкоуровневом программировании.
Вы можете запрограммировать свои собственные эффекты на C/C++ или использовать готовые эффекты с форума.

Как работает схема?
Плата расширения состоит из трех частей:

- входной каскад: усиливает и фильтрует сигнал с гитары, что делает его готовым для аналого-цифрового преобразователя Arduino Uno;
- плата Arduino: использует оцифрованный сигнал с АЦП и выполняет всю цифровую обработку сигнала (DSP),создавая эффекты (distortion, fuzz, громкость, метроном. );
- выходной каскад: после создания новой формы сигнал поступает с цифровых выходов Arduino (два объединенных ШИМ выхода) и подготавливается к отправке на следующую педаль или гитарный усилитель.
Технические параметры
- На базе Arduino / Genuino UNO (16 МГц, 2 KB RAM).
- Аналоговые каскады на операционном усилителе «rail-to-rail» TL972.
- АЦП: 10 бит.
- Выходной каскад: 16 бит (2 x 8 бит ШИМ, работающих параллельно).
- Интерфейс:
- 2 настраиваемые кнопки;
- 1 настраиваемый переключатель;
- 1 программируемый синий светодиод;
- ножной переключатель обхода.
- входной разъем, TRS 1/4″ (1/4 джек), несимметричный, Zвх = 0,5 МОм;
- выходной разъем, TRS 1/4″ (1/4 джек), несимметричный, Zвых = 0,1 Ом;
- Источник питания: питание берется с платы Arduino Uno.
Готовые примеры эффектов
- Clean/Transparent
- Volume/Booster
- Distortion
- Fuzz Distortion
- Bit-Crusher
- Daft Punk Octaver
- Signal Generator
- Metronome
- Delay
- Tremolo
Как программировать педаль?
Идея состоит в том, чтобы сделать программирование максимальным простым, плата программируется на C/C++ с использованием стандартных функций и среды разработки Arduino. Все инструменты и программы являются бесплатными / с открытым исходным кодом.
Ниже показана связь интерфейсов гитарной педали (вход/выход, элементы управления) с выводами платы Arduino Uno.

Необходимы базовые знания C. Лучший способ проиллюстрировать, как программировать педаль – это показать простой пример педали с эффектом Volume/Booster.
Педаль Громкость/Booster
Структурная схема программы выглядит так:

Реально используемый код выглядит так:
// CC-by-www.Electrosmash.com // Based on OpenMusicLabs previous works. // pedalshield_uno_booster.ino: нажатие кнопки 1 или кнопки 2 увеличивает или уменьшает громкость. // определение аппаратных ресурсов. #define LED 13 #define FOOTSWITCH 12 #define TOGGLE 2 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4 // определение выходных параметров ШИМ #define PWM_FREQ 0x00FF // частота ШИМ - 31.3 кГц #define PWM_MODE 0 // Fast (1) или Phase Correct (0) #define PWM_QTY 2 // 2 ШИМ параллельно // другие переменные int input, vol_variable=512; int counter=0; unsigned int ADC_low, ADC_high; void setup() < // настройка входов/ выходов и подтягивающих резисторов pinMode(FOOTSWITCH, INPUT_PULLUP); pinMode(TOGGLE, INPUT_PULLUP); pinMode(PUSHBUTTON_1, INPUT_PULLUP); pinMode(PUSHBUTTON_2, INPUT_PULLUP); pinMode(LED, OUTPUT); // Настройка АЦП - настроен для чтения автоматически. ADMUX = 0x60; // левое выравнивание, adc0, внутренний vcc ADCSRA = 0xe5; // включить adc, ck/32, автозапуск ADCSRB = 0x07; // захват t1 для запуска DIDR0 = 0x01; // выключить цифровые входы для adc0 // настройка ШИМ TCCR1A = (((PWM_QTY - 1) > 8); ICR1L = (PWM_FREQ & 0xff); DDRB |= ((PWM_QTY void loop() < // Включить светодиод, если эффект включен. if (digitalRead(FOOTSWITCH)) digitalWrite(LED, HIGH); else digitalWrite(LED, LOW); //здесь больше ничего нет, всё происходит в прерывании Timer 1. >ISR(TIMER1_CAPT_vect) // прерывание Timer 1 < // прочитать данные входного сигнала АЦП: 2 байта, старший и младший ADC_low = ADCL; // младший байт должен быть прочитан первым ADC_high = ADCH; // собрать входной сэмпл, сложив младший и старший байты АЦП input = ((ADC_high if (!digitalRead(PUSHBUTTON_2)) < if (vol_variable>0) vol_variable=vol_variable-1; // уменьшить громкость > > // амплитуда сигнала изменена по переменной vol_variable, используя функцию Arduino map input = map(input, 0, 1024, 0, vol_variable); // записать выходной ШИМ сигнал OCR1AL = ((input + 0x8000) >> 8); // преобразовать в беззнаковый формат, отправить старший байт OCR1BL = input; // отправить младший байт >Аппаратная конструкция pedalSHIELD UNO
Весь проект педали с открытыми исходниками, разработка была выполнена с помощью KiCad, бесплатного открытого инструмента проектирования электроники. Все файлы проекта, схемы и перечни элементов являются общедоступными. Схема может быть разбита на 5 простых блоков: источник питания, входной каскад, выходной каскад, пользовательский интерфейс и разъемы Arduino.

Принцип действия прост; 1 операционный усилитель готовит сигнал для оцифровки, а другой операционный усилитель принимает сигнал с микроконтроллера Arduino UNO. Один АЦП используется для считывания сигнала гитары, и два ШИМ сигнала используются для генерации выходного сигнала.
- Входной каскад: для лучшего захвата сигнал гитары усиливается с помощью первого операционного усилителя. Потенциометр VR1 регулирует коэффициент усиления этого усилителя от 1 до 21 так, чтобы уровень с гитары мог быть оптимизирован для оцифровки. Сигнал проходит через 3 фильтра нижних частот (сформированных из R3 и C2, R5 и C4, R6 и C5), которые устраняют избыток высших гармоник, которые могут создавать наложение во время выборки сигнала аналого-цифровым преобразователем (fср = 5 кГц).
- Выходной каскад: использует фильтр нижних частот Саллена-Ки третьего порядка, который устраняет гармоники выше 5 кГц. Два ШИМ сигнала используются параллельно, увеличивая разрядность (2 x 8 бит).
- Источник питания: для питания операционного усилителя «rail-to-rail» педаль использует +5В от Arduino Uno, что обеспечивает простоту конструкции и максимальное раскачивание сигнала без обрезки. Резисторный делитель R7 и R8 создает 2,5 В для виртуальной земли, а конденсатор C6 удаляет пульсации на линии питания.
- Пользовательский интерфейс: музыкант может использовать 2 настраиваемые кнопки, 1 настраиваемый переключатель, ножной обходной переключатель 3PDT и программируемый светодиод.
- Разъемы Arduino Uno: штыревые разъемы соединяют плату расширения с Arduino Uno, передавая сигналы и напряжение питания.
Список компонентов
Это компоненты сквозного монтажа, которые легко найти.
Список компонентов программируемой гитарной педали pedalSHIELD UNO
Позиционное обозначение Количество Наименование/номинал Описание Номер детали Конденсаторы C5,C2, C7, C8, C9 5 6,8 нФ керамический конденсатор SR211C682MARTR1 C3, C6, C10 3 4,7 мкФ электролитический конденсатор ECE-A1EKA4R7 C1, C11 2 100 нФ керамический конденсатор SR211C104KARTR1 C4 1 270 пФ керамический конденсатор D271K20Y5PH63L6R Резисторы R12,R13, R10, R9, R6, R4, R3 7 4,7 кОм Резистор, 1%, 0,25 Вт MFR-25FRF52-4K7 R5, R7, R8, 3 100 кОм Резистор, 1%, 0,25 Вт MFR-25FRF52-100K R1, R2 2 1 МОм Резистор, 1%, 0,25 Вт MFR-25FRF52-1M R11 1 1,2 МОм Резистор, 1%, 0,25 Вт MFR-25FRF52-1M2 Прочее RV1 1 500 кОм Подстроечный потенциометр 3319W-1-504 D1 1 Светодиод 3 мм, синий Синий светодиод 3 мм SSL-LX3044USBC U1 1 TL972 DIP8 Операционный усилитель «rail-to-rail» 595-TL972IP Панель для микросхемы 1 Панель DIP8 Панель DIP8 1-2199298-2 SW1 1 3DPT ножной переключатель 3PDT ножной переключатель 107-SF17020F-32-21RL SW2 1 Тумблер SPDT тумблер 612-100-A1111 SW3, SW4 2 Кнопка кнопка вкл/выкл 103-1013-EVX Conn1,2,3,4 1 Разъем 40-выводный Штыревой разъем с шагом 2,54 710-61304011121 J1, J2 2 TRS 1/4″ (1/4 джек аудио) Стерео джек 6,35 мм NMJ6HCD2 Печатная плата
Хотя разработчики и утверждают, что это полностью открытый проект, но упорно не желают делиться файлами разводки печатной платы для какой-либо САПР (например, для того же KiCad, в формате которого они предоставляют принципиальную схему).
Поэтому для изготовления педали есть три варианта:
- заказать у разработчиков либо только печатную плату, либо весь набор для сборки педали (ссылка на сайт разработчиков будет в конце статьи);
- изготовить печатную плату по экспортированному в pdf-файл трафарету (предоставлен разработчиками) с помощью «лазерно-утюжной» технологии; ссылки для скачивания архивов с проектом в KiCad и трафаретами печатной платы будут приведены ниже;
- развести печатную плату в удобной для вас САПР и под компоненты, которые вы предпочитаете, или которые у вас есть в наличии (и, возможно, поделиться результатами с остальными 😉 ).

Часто задаваемые вопросы (FAQ)
pedalSHIELD Uno совместима со всеми платами Arduino?
Нет, только с Arduino Uno и Genuino Uno.
pedalSHIELD Uno подходит для басистов?
Да, но вам необходимо заменить 2 конденсатора (C1 и C11) с 0,1 мкФ на 0,47 мкФ, чтобы пропускать через схему более низкие частоты.
Могу я включить наушники напрямую в pedalSHIELD Uno?
Нет, pedalSHIELD Uno – это не усилитель. Её необходимо включть в гитарный усилитель или в педаль мультиэффектов (например, Line 6 pods и т.п.).
Вот и всё! Делитесь впечатлениями и результатами сборки!
Теги
Сохранить или поделиться
На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.
В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.
2021-11-21 Boris Latysh
Судя по даташиту вроде можно. Но я не совсем понимаю зачем. Цена вопроса «2 коп».
TL972 работает очень неплохо ( в данной схеме ).
Для проверки 100% поменять можно, но для хорошего звука лучше взять TL972.2021-09-13 Андр
Можно ли заменить TL972 на ОУ TS972? Кто-то сталкивался с такой микросхемой?
2021-04-09 Vladimir NikolaevichИнтересно. Попробуйте JRC4558 (режимы от 4 В). Все-таки она более «гитарная» что-ли. LM358 как-то больше для микрофонов в предусилителях используется. Если попробуете, отпишите про результат.
2020-11-26 Boris Latysh
Учитывая опыт передовых стран решил все собрать на одной плате. Из за «VGA» монитора в мой корпус не поместились разъемы под Аудио ВХ / ВЫХ. Пришлос проявить «Смекалку». Но в общем получилось так.:
Плата спроектирована под конкретный (мой) прочный силуминовый корпус. Контакты для подключения Аудио коннекторов расположены возле переключателя.
Максимально применил дешевые китайские модули для Arduino. https://uploads.disquscdn.c.2020-11-07 Boris Latysh
Спасибо.
Я схему немного доработал.
С эффектами пока провожу бесчеловечные опыт на компьютере.
Пару дней все систематизирую и отправлю на адрес — radioprog@gmail.com2020-11-05 antzol
Ок, давайте так и сделаем.
Высылайте оставшиеся материалы, а я всё это оформлю и включу в эту статью.
2020-11-03 Boris LatyshЯ не смогу так же качественно оформить материал как в этой статье. На сегодня я могу предоставить схему, разводку платы (в формате EasyEDA) и код программы. (собственно я уже это сюда и выложил).
Было бы конечно очень здорово чтобы эти результаты можно было включить в данную статью как дополнительный материал или хотя бы убрать мои лишние ответы с промежуточными решениями.2020-11-02 antzol
Борис, здравствуйте!
Раз уж ваше развитие этого проекта начинает жить своей жизнью, то не хотите опубликовать его в собранном виде, чтобы ваши дополнения не потерялись с комментариями disqus?
Если интересно, то предлагаю переместить разговор в почту. radioprog@gmail.com2020-11-02 Boris Latysh
Ссылка на TL972
https://aliexpress.ru/item/. Прграмма опубликованная в стате и та что выложил я — Рабочие на 100% НО.
Прграма неотделима от СХЕМЫ. То есть:
Какая будет реализована СХЕМА, такую нужно и взять ПРГРАММУ.2020-10-31 Линар Сабирзянов
Нифига не шарю в С++ . Скачать бы все одним скетчем и ссылку на покупкTL972, а то везде 072 предлагают. Может на руках есть у кого. Я из Москвы
2020-10-12 Boris Latysh
Я сделал под заказ педаль для бас гитары.
Собственно говоря применение экрана и органов управления (транскодер) позволяют расширить количество эффектов.
Ограничено:
— временем между опросом АЦП ~10 ms
-объём внутренней памяти Arduino NANO (в данном варианте я использую меньше половины)
Схема 100% рабочая и собирает оцифрованный сигнал вполне прилично.
Теперь вопрос за разработкой ПО. Я в общем не музыкант, так наугад несколько эффектов сварганил. Но пока не проверял (нет инсрумента и времини).
Так что если есть идей реализации варианта эффекта то можно пробовать. Пока не придумал как сделать «Октавер» (думаю).2020-10-11 Иван
планируется дальнейшее развитие проекта?
2020-09-24 Boris Latysh
Да, пересылать информацию в рамках данной платформы несколько затруднительно.
Skype — boris_latysh
2020-09-23 Егор
Как с вами можно связаться по поводу платы?
2020-09-23 Егор
Готов купить плату, куда вам удобней написать для обсуждения данного вопрсоа?
2020-09-23 Егор
А на каком сайте заказывать плату и как её туда загрузить (какую папку)?
2020-09-17 Boris LatyshTL072 минимальное питание +3,5в, -3,5в то есть минимальное общее питание для нее — 7в. TL072 использовать можно, НО нужно будет делать дополнительное питание.
TL972 можно полностью питать 5в, я думаю потому ее и применили. А учитывая что нам нужно зайти в контроллер сигналом амплитудой 0-5в. То в такой ситуации c TL072 будут дополнительные сложности с согласованием сигнала от операционника к входу АЦП контроллера.2020-09-15 Boris Latysh
Пиши в Личку. Отправлю текст
2020-09-15 Boris Latysh«Коментарии» не всегда соответствуют коду, так как программа пока в работе.
Я в стендовых условиях все проверил работает отлично. НО . на реальном инструменте пока не тестировал.
P.S. Есть готовая плата под эту схему. Если кому нужно могу продать.2020-09-15 Boris Latysh
// Based on OpenMusicLabs previous works.
// Цифровой усилитель: нажатие кнопки 1 или кнопки 2 увеличивает или уменьшает громкость.#include // Подключаем библиотеку iarduino_Encoder_tmr для работы с энкодерами через аппаратный таймер
#include «U8glib.h»#define FootSwitch 12 // Нажатие «Ножной» кнопки ВКЛ/ВЫКЛ устройсва
#define MasterPin 5 // D5 мастер кнопка переключатель режимов
#define CLKPin 2 // CLK Провод Енкодера
#define DTPin 3 // DT провод Енкодераiarduino_Encoder_tmr enc(CLKPin, DTPin); // Енкодер
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK
// ————- ШИМ —————————————————————
#define PWM_FREQ 0x00FF // установка частоты ШИМ-а (режим Фазовый — 2х8 Бит 31.3 кГц)
#define PWM_MODE 0 // Устанавливает режим коррекции фазы (0) или быстрый режим (1)
#define PWM_QTY 2 // Используем 2 ШИМ-а параллельно 2х8 Бит
// ————- АЦП — ЦАП ———————————————————
int output = 0; // Задаем значение громкости
unsigned int ADC_low, ADC_high; // Младший и Старший байты из АЦП
// ————— Энкодер + кнопка ————————————————-
#define Clk 100 // Колличество повторений между проверками кнопки
int Cirkle = 0; // Перменная Счетчика циклов пропуска
int Master = 0; // перменная выбора режима работы
// ———————————————————————————
int Dist = 8; // Коэффициент для Дистошн
double Dist1 = 0;
// ———————————————————————————
int Over = 8; // Коэффициент для Овердрайва
// ———————————————————————————
int Horus[256]; // Horus эффект
byte x = 0;
byte y = 0; // перменная массива 0 — 256
byte z = 0;
// ———————————————————————————
int t = 30; // Compressor эффект
// ———————————————————————————
int El = 15; // Electro
int con = 0;
int con1 = 0;void setup()// Serial.begin(9600);
enc.begin(); // Инициируем работу с энкодеромpinMode(FootSwitch, INPUT_PULLUP);
pinMode(MasterPin, INPUT_PULLUP);
//———————-Настройка АЦП — настроен для чтения автоматически. ——————
ADMUX = 0x60; // внутренний ИОН 1.1 В, правое выравнивание, управление по ADC0,
ADCSRA = 0xe5; // включить ADC, автозапуск, 5 — clk 1/32 — ПОДБИРАЕМ
ADCSRB = 0x07; // без мультиплексора, запуска захват таймером Т1
DIDR0 = 0x01; // разрешаем ТОЛЬКО аналоговый вход ADC0
//——————— настройка ШИМ ——————————————————-
TCCR1A = (((PWM_QTY — 1) TCCR1B = ((PWM_MODE TIMSK1 = 0x20;
ICR1H = (PWM_FREQ >> 8);
ICR1L = (PWM_FREQ & 0xff);
DDRB |= ((PWM_QTY sei(); // включить прерывания — на самом деле с arduino необязательно
>void loop() Cirkle = Cirkle + 1;
while (Cirkle == Clk) if (digitalRead(FootSwitch)==HIGH) switch(Master) case 0:
u8g.firstPage();
do u8g.setFont(u8g_font_helvR18r);
u8g.drawStr( 3, 20, «KL BoosT»);
u8g.drawStr( 18, 50, «CLEAN»);
if (output < -25000) u8g.drawBox(0,56,8,8);
>
if (output > 25000) u8g.drawBox(112,56,8,8);
>
// u8g.drawBox(0, 60, (output/256),4);
> while (u8g.nextPage());
if ((digitalRead(MasterPin)) == LOW ) Master = Master + 1;
delay (500);
>
break;
case 1:
Dist = Dist + enc.read(); // Если энкодер зафиксирует поворот, то значение переменной i изменится:
if ( Dist
if ( Dist >26 ) < Dist = 26; >
u8g.firstPage();
do u8g.setFont(u8g_font_helvR18r);
u8g.drawStr( 3, 20, «KL BoosT»);
u8g.drawStr( 31, 50, «FUZZ»);
u8g.drawBox(0,60,((Dist-10)*9),4);
> while (u8g.nextPage());
if ((digitalRead(MasterPin)) == LOW ) Master = Master + 1;
delay (500);
>
break;
case 2:
Over = Over + enc.read(); // Если энкодер зафиксирует поворот, то значение переменной i изменится:
if ( Over < 0) < Over = 0; >
if ( Over >26 ) < Over = 26; >
u8g.firstPage();
do u8g.setFont(u8g_font_helvR18r);
u8g.drawStr(3, 20, «KL BoosT»);
u8g.drawStr(8, 50, «Overdrive»);
u8g.drawBox(0,60,(Over*5),4);
> while (u8g.nextPage());
if ((digitalRead(MasterPin)) == LOW ) Master = Master + 1;
delay (500);
>
break;
case 3:
y = y + enc.read()*10; // Если энкодер зафиксирует поворот, то значение переменной i изменится:
u8g.firstPage();
do u8g.setFont(u8g_font_helvR18r);
u8g.drawStr(3, 20, «KL BoosT»);
u8g.drawStr(24 , 50, «Chorus»);
u8g.drawBox(0,60,(y/2),4);
> while (u8g.nextPage());
if ((digitalRead(MasterPin)) == LOW ) Master = Master + 1;
delay (500);
>
break;
case 4:
t = t — enc.read(); // Если энкодер зафиксирует поворот, то значение переменной i изменится:
if ( t
if ( t >30 ) < t = 30; >
u8g.firstPage();
do u8g.setFont(u8g_font_helvR18r);
u8g.drawStr(3, 20, «KL BoosT»);
u8g.drawStr( 4, 50, «Compress»);
u8g.drawBox(0, 60, ((30-t)*6),4);
> while (u8g.nextPage());
if ((digitalRead(MasterPin)) == LOW ) Master = Master + 1;
delay (500);
>
break;
case 5:
El = El + enc.read(); // Если энкодер зафиксирует поворот, то значение переменной i изменится:
if ( El < 1 ) < El = 1; >
if ( El > 64 ) < El = 64; >
u8g.firstPage();
do u8g.setFont(u8g_font_helvR18r);
u8g.drawStr(3, 20, «KL BoosT»);
u8g.drawStr( 15, 50, «Electro»);
u8g.drawBox(0, 60, (El*2), 4);
> while (u8g.nextPage());
if ((digitalRead(MasterPin)) == LOW ) Master = Master + 1;
delay (500);
>
break;
>
if (Master > 5 ) <
Master=0;
delay (500);
>
//———————————————————————————————
> else < // устройсво электрически не включено
u8g.firstPage();
do u8g.setFont(u8g_font_helvR18r);
u8g.drawStr( 2, 20, «KL BoosT»);
u8g.drawStr( 42, 64, «OFF»);
> while (u8g.nextPage());
>
Cirkle = 0;
>
>
//************* Обработчик прерывания захвата ввода из АЦП 0 — Timer 1
ISR(TIMER1_CAPT_vect) // Команда обработки прерывания Timer 1
ADC_low = ADCL; // читаем младший байт АЦП прочитан первым ( важно! )
ADC_high = ADCH; // читаем старший байт АЦП прочитан вторым
output = ((ADC_high //——————————————————————————————
switch(Master)case 1: // Distortion эффект ******
if (output > 0) if (output > 24576)
output = (output/10)*Dist; // Все что выше 24576 удваиваем и обрезаем по уровню (65535)
if(output < 0) < output = 32767; >
>
if (output < 0) if (output < -24576)
output = (output/10)*Dist; // Все что ниже -24576 удваиваем и обрезаем по уровню (0)
if(output > 0) < output = -32767; >
>
break;
//——————————————————————————————
case 2: // OverdrivE Эффект ******
if (output > 24576 || output < -24576) if (output > 24576) output = output — ((output — 24576)/8)*Over; // Все что больше 57344 Уменьшаем на Over
>
if (output < -24576) output = output - ((output + 24576)/8)*Over; // Все что меньше 8192 Уменьшаем на Over
>
>
break;
//——————————————————————————————
case 3: // Horus эффект ******
Horus[x] = output; // Все время записываем 256 значений -> Horus[x]
z=x-y;
if (output < Horus[z]) output = Horus[z];
>
x++;
break;
//——————————————————————————————
case 4: // ****** Compress ******
if (output > 512 ) output = output + (24575 — output)/t;
>
if (output < -512 ) output = output - (24575 + output)/t;
>
break;
//——————————————————————————————
case 5: // ****** Electro ******
if (con > El) con1 = output;
con=0;
>elseoutput = con1;
>
con++;
break;
>
//——————————————————————————————
OCR1AL = ((output + 0x8000) >> 8); // старший байт -> OC1A
OCR1BL = output; // младший байт -> OC1B
>Моделирование звучания гитарных примочек в Proteus. Как сделать и прослушать педаль эффектов без паяльника

Привет, друзья! Вероятно, каждый хоть разок да провел ночь с паяльником в руках среди клубов канифольного дыма, движимый одной лишь идеей создания чего-то особенного, нового, звучащего или работающего не как у других. Сколько выводов микросхем было оборвано после многократных паек, сколько чипов было убито статическим электричеством после почёсывания головы!
Сижу я как-то вечером, поглядываю в интернет-магазине отправленные для меня микросхемы, которые в лучшем случае доедут через неделю-две, и вдруг в моей голове возникает вопрос: «А можно ли как-то ускорить процесс разработки устройства, да так, чтобы сразу можно было его заказчику показать?». В то время мне как раз заказали несколько примочек для электрогитары. И я, имея достаточно опыта в обращении с системой создания и моделирования схем Proteus, собрался разрешить этот вопрос с помощью данной программы.
↑ Немного о себе
Меня зовут Даниил, мне 23, и я инженер. Я из тех инженеров, которые поступили в ВУЗ на инженера, закончили, и устроились работать инженером. То есть я по жизни занимаюсь тем, что мне действительно интересно и тем, что я люблю.
Ввиду молодости, энергичности и просто из интереса, я занимаюсь электроникой и в качестве хобби. Да-да, разрабатывая схемы весь рабочий день, я прихожу домой, и делаю тоже самое дома, только в более творческом ключе и на очень разнообразные темы. Одной из таких тем является тема гитарных эффектов, да и оборудования в принципе.
↑ Предпосылки
Я ни разу не гитарист и умею играть на гитаре разве что аккордами, но так вышло, что мне нравится гитарный звук и звук гитарных перегрузов в особенности. Агрессивный и техничный стиль игры на 7-струнной гитаре в строе дроп-Б для меня как котику сметанка.: wink: К сожалению, я не имею прямого доступа к гитарам для каких-либо изысканий в области идеального звука, а ведь для этого мне еще нужно купить радиодетали, а особенно хорошие и редкие придется подождать несколько недель из-за океана, после чего собрать это дело на макетной плате, воткнуть гитару, разочароваться что не умею играть, послушать свои потуги и так много раз. Все это сплошные траты времени, которые оборачиваются тем, что ничего не доходит до своего логического завершения.
С Proteus-ом я знаком давно: года 4, а может и больше. У программы огромный функционал, который просто нереально опробовать весь и сразу. В ней можно создавать цифровые и аналоговые схемы, моделировать их работу (в программе огромная база SPICE-моделей), создавать для разработанных схем печатные платы, писать прошивки для микроконтроллеров и тут же проверять их в действии, и много чего еще.
И вот однажды у меня появился заказчик, который попросил сделать ему несколько педалей для гитары, среди которых числился и дисторшн. Как многие знают, этот эффект и является основой метал-музыки.
↑ Дистор-р-р-р-шн

Рисунок 1 — Представление эффекта Distortion графически
Эффект Distortion состоит в том, что форма сигнала искусственно обрезается по амплитуде. Фактически это означает, что в исходную синусоиду добавляется множество других синусоид (гармоник) более высокой частоты, которые начинают диссонировать с основной гармоникой и на выходе получается гитарный звук с характерным «шумом» или «рычанием».
Этого же эффекта я решил добиться в Proteus-е.↑ Приступаем
Первым делом необходимо было определиться с тем, что же я буду проверять в виртуальной среде. Выбор пал на педаль «MXR Distortion+», просто потому, что она имеет простую электрическую схему и минимальный функционал. На борту имеются два потенциометра: DISTORTION, отвечающий за искажение входного сигнала, и OUTPUT — уровень напряжения на выходе педали (громкость). Также имеется операционный усилитель, а обрезаться амплитуда сигнала будет с помощью клиппинг диодов.
В интернете была найдена следующая схема педали.

Рисунок 2 — Принципиальная схема педали «MXR Distortion+»
После перенесения в Proteus она стала выглядеть так.

Рисунок 3 — Педаль «MXR Distortion+», собранная в Proteus`е
Сразу хочу извиниться за внешний вид схемы: было не удобно скрывать поля примечания у каждого компонента. То же по поводу земли: мне удобнее, когда она на схеме одна, личные заморочки, так сказать.
Первым делом было решено проверить корректность работы педали, т. е. добиться такого же эффекта, как на рисунке 1.
Для этого к схеме был подключен генератор сигнала, на котором я установил синусоиду амплитудой 200 мВ, и осциллограф. 200 мВ — потому что приблизительно таков уровень сигнала на пассивных звукоснимателях гитары. Схема с генератором обрела следующий вид.Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.
Также в меню выходного сигнала настраивается битрейт, глубина в битах и время повтора трека по окончанию обработки (Loop time) в секундах. Отсюда можно прослушать получившуюся запись и экспортировать её себе на компьютер.
Вот, что получилось у меня после обработки.
Рисунок 10 — Сверху — выходной сигнал, снизу — входной
Гитарный сэмпл был следующий:
Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.
↑ Итог
Заказчику звук показался слишком ярким, несмотря на мои уверения, что не стоит воспринимать результат моделирования как гарант звука. На выходной записи довольно много шума, скорее всего, тут необходим очень качественный исходный сэмпл. Судя по прослушанному звуку данной педали на YouTube, характер звучания модели схож.
Из подводных камней (помимо производительности) я бы поставил под вопрос достоверность SPICE моделей. В схеме этой педали используется ОУ 741, но в модели эта микросхема отказалась работать корректно (на некоторых записях выходной сигнал был просто шумом), так что я использовал ОУ с названием модели LM741.
↑ Послесловие
Я ни в коем случае не претендую на особые знания гитарных эффектов и их правильного звучания.
Лично мне такой подход к разработке пришёлся по душе, а насчёт его эффективности — думаю, время покажет.Всем спасибо за внимание!
Камрад, рассмотри датагорские рекомендации
Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.