Тюнер гітари на контролері Arduino

  • Час 13-02-2015, 20:27
  • Автор admin
  • Коментарів 0 Комент.
  • Силка url

Зробіть ваш власний настроювач гітари за допомогою контролера Arduino! Я вирішив зробити його тому, що хотів провести експеримент з аудіо входом і частотним детектуванням. Я використовував метод Аманди Гассаи (Amanda Ghassaei) для частотного детектування Arduino, щоб отримати значення частоти за допомогою Arduino. Світлодіоди спалахують у відповідності з частотою аудіо входу, індиціюючи, є звуки, що видаються струною, диезными, бемольными або налаштованими.

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Просвердлите заздалегідь намічене отвір на бічній стороні вашого корпусу з допомогою перового свердла діаметром 1/8". Рассверлите початковий отвір за допомогою долотчатого бура діаметром 13/16", щоб зробити більший отвір для однополюсного кулісного перемикача. Кулісний перемикач буде служити в якості вимикача живлення тюнера.

Просвердлите отвір під отвором для вимикача з допомогою бура діаметром 23/64". Це отвір буде використовуватись для аудіо гнізда.

Тюнер гітари на контролері Arduino

 

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Припаяйте червоний кінець коннектора однієї з ваших батарей до одного з контактів на вимикачі і червоний провід до іншого контакту вимикача. Пропустіть замикається коннектор і провід через отвір діаметром 13/16" у вашому корпусі і закріпіть його на місці за допомогою монтажної гайки.

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Припаяйте зелений провід до вихідний клеми, а чорний провід до заземлювальної клеми на аудіо гнізді. Вставити аудіо гніздо в отвір діаметром 23/64", яке ви просвердлили і закріпіть його на місці за допомогою монтажної гайки і шайби.

Тюнер гітари на контролері Arduino

Розберіть роз'єм живлення M-типу.

Припаяйте червоний провід до штыревому висновку роз'єму, а чорний провід до циліндричного висновку роз'єму. Пропустіть обидва дроти через чорний кожух і прикрутіть чорний кожух назад на роз'єм.

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Аудіо сигнал, що виходить від електричної гітари, має бути посилений приблизно до подвійної амплітуди 5В (амплітуда від піку до піку сигналу) і зміщений до центру приблизно 2.5 в протилежну сторону від 0В. Сигнал повинен знаходитися в діапазоні між 0 і 5В для того, щоб він міг бути лічений аналоговим входом контролера Arduino. Він повинен мати найбільшу можливу амплітуду без зрізу, щоб отримати більш точні значення частоти.

Тюнер гітари на контролері Arduino

Вище наведена принципова схема, яку необхідно зібрати.

Я рекомендую виготовляти дану схему на макетної платі і протестувати її з допомогою осцилографа перед остаточним з'єднанням і паянням. Вашим аудіо входом повинен бути зелений провід аудіо гнізда. Підключіть чорний провід гнізда до землі. Приєднайте щуп осцилографа до висновку зміщення постійної складової DC offset (де схема приєднується до висновку A0 на контролері Arduino). Поступово збільшуйте рівень гучності на вашій гітарі і вставте вихід вашої гітари в аудіо гніздо. Пограйте на кожній струні та перевірити показання осцилографа, щоб переконатися, що сигнал знаходиться по центру в значенні приблизно 2.5 В, і що сигнал близький, але не перевищує подвійну амплітуду величиною 5В. 

Спробуйте запустити цю модифіковану версію коду Аманди для частотного детектування для Arduino, щоб протестувати обчислене значення частоти Arduino. Єдина зміна, яку я вніс в її код, полягало в тому, що я видалив індикаторний світлодіод амплітудного обмеження сигналу і замість нього ввів "амплітудне обмеження сигналу" у вбудований монітор послідовного інтерфейсу, коли сигнал зрізається.

Вбудований монітор послідовного інтерфейсу повинен відображати частоту, видаваною струною. Струни гітари повинні мати наступні значення частоти:

E - 82.4 Гц
A - 110 Гц
D - 146.8 Гц
G - 196 Гц
B - 246.9 Гц
E - 329.6 Гц

Найчастіше важко змусить працювати частотне детектування, оскільки більш високі за звучанням струни мають більш низьку амплітуду сигналу, ніж більш низькі за звучанням струни. Код Аманди має змінну, яка називається ampThreshold (поріг амплітуди). Ця змінна представляє собою мінімальну амплітуду сигналу для контролера Arduino, яка дозволяє обчислити частоту. Для тюнера гітари значення ampThreshold повинно бути достатньо високим, щоб контролер Arduino обчислив частоту більш високих за звучанням струн, але в той же час достатньо низькими, щоб не отримати занадто багато шуму від нижчих за звучанням струн. Я виявив, що значення ampThreshold = 20 працює. Ви повинні грати на більш високих за звучанням струн сильніше, щоб контролер Arduino вибрав їх, і при цьому частотне детектування буде добре працювати. Ви може експериментувати з іншими значеннями, щоб детектування працювало у відповідності з вашими вимогами. Значення від 10 до 30 добре підходять. Для отримання більш докладної інформації про роботу алгоритму Аманди зверніться до інструкцій: Частотне детектування Arduino.

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Припаяйте контролер TL082 до друкованій платі з нанесеною сіткою.

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Припаяйте резистори для підсилювача і провід до виходу підсилювача. Припаяйте конденсатори і резистори до висновку DC offset. Припаяйте дроти до висновку DC offset, які будуть під'єднуватися до висновку 5В, земля і A0 на Arduino.

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Припаяйте червоний провід на вимикачі живлення до +VCC (вивід 8) на мікросхемі TL082. Припаяйте чорний провід до землі. Припаяйте чорний дріт защелкивающегося коннектора другої батареї до-VCC (висновок 4) на мікросхемі TL082, а червоний провід до землі. Припаяйте зелений провід аудіо гнізда до позитивного входу операційного підсилювача на TL082 (висновок 3), а чорний провід до землі.

Припаяйте червоний провід роз'єму живлення до +VCC (вивід 8), а чорний провід до землі і вставте в роз'єм контролер Arduino. Вставте дроту для 5В, землі і A0 від виведення DC Offset контролер Arduino.

Тюнер гітари на контролері Arduino

Для виготовлення передньої панелі тюнера гітари я використовував лазерну резку. Мені подобається вигляд білого акрилу і можливість вигравіювати букви і символи на передній панелі. Я прикріпив шаблон для передньої панелі тюнера гітари. Для створення шаблону я використовував програму CorelDRAW. Також файл шаблону програми і у форматі EPS.

Якщо у вас немає лазерного різання можна використовувати звичайну кришку від корпусу і просто просвердлити в ній отвори. Використовуйте перове свердло діаметром 13/64" і просвердлите шість отворів для світлодіодів, відповідних шести різних струнах, які потрібно налаштувати і сім отворів для світлодіодів, які будуть показувати, є струна дієзної або мінорній. Поставте позначки на наборі з шести отворів E, A, D, G, B і E зліва направо. Поставте позначку на середньому отворі набору з семи отворів у вигляді трикутника, вершиною у напрямку до отвору. Поставте на праве отвір музичний символ дієз, а на ліве отвір музичний символ бемоль.

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Припаяйте світлодіоди до вашої макетній платі. Розмістіть світлодіоди так, щоб вони входили в отвори акрилової передній панелі. Для цього покладіть передню панель зверху вашої друкованої плати і нанесіть мітки у відповідності з отворами на платі за допомогою ручки. Таким чином, ви будете знати точне місце на платі, куди потрібно припаяти світлодіоди. 

Припаяйте резистори номіналом 150 Ом до анодам кожного світлодіода. До інших кінцях цих резисторів припаяйте дроти, які будуть приєднані до відповідних висновків контролера Arduino.
Я вибрав червоні дроти для світлодіодів, які будуть показувати, що струна настроєна і зелені дроти для світлодіодів, які показують, що струну потрібно налаштувати.

Припаяйте катоди світлодіодів і чорний дріт до землі. Цей чорний провід необхідно приєднати до заземлювального висновку контролера Arduino.

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Тюнер гітари на контролері Arduino

Встановіть передню панель тюнера на друковану плату з припаяними світлодіодами. Підключіть дроти на друкованій платі до контролера Arduino. Далі показаний список відповідності світлодіодів і виводів контролера. 

самий лівий червоний світлодіод (найнижчий) - висновок 8
наступний червоний світлодіод праворуч - висновок 9
наступний червоний світлодіод праворуч - A5
зелений світлодіод (налаштований) - A4
перший червоний світлодіод праворуч від зеленого - A3
наступний червоний світлодіод праворуч - A2
самий правий червоний світлодіод (найвищий) - A1

Самий лівий світлодіод з міткою "E" - виведення 2
Світлодіод з позначкою "A" - висновок 3
Світлодіод з міткою "D" - висновок 4
Світлодіод з міткою "G" - висновок 5
Світлодіод з міткою "B" - висновок 6
Самий правий світлодіод з міткою E" - висновок 7

На другому зображенні вище також показано мітки. Чорний дріт на друкованій платі необхідно приєднати до заземлювального висновку контролера Arduino. 

Увімкніть тюнер і перевірте його, щоб переконатися в правильності підключення світлодіодів.

Тюнер гітари на контролері Arduino

Акуратно прикріпіть передню панель до передній кришці корпусу. Переконайтеся, що всі проводи надійно приєднані. Встановіть передню кришку корпусу на місце і закріпіть за допомогою гвинтів.

Тюнер гітари на контролері Arduino

Підключіть вашу гітару до тюнера і виконайте налаштування!

Список радіоелементів

Позначення Тип Номінал Кількість
Операційний підсилювачTL0821
Плата ArduinoArduino Uno1
Резистор150 Ом13
Резистор100 кОм3
Резистор22 кОм1
Конденсатор100 мкФ1
Конденсатор100 нФ1
Світлодіод5мм жовтий6
Світлодіод5мм червоний6
Світлодіод5мм зелений1
Батарея 9В2
9В замикається коннектор2
Роз'єм живлення M-типу1
Однополюсний кулісний перемикач1
1/4" моно аудіо гніздо1
Макетна друкована плата1
Друкована плата з нанесеною координатною сіткою1
6x4x2" корпус пристрою1
6x4x.125" лист з акрилового пластику1
Tags

Коментарі до новини