Оглавление:

Аудиосэмплер на основе DFPlayer с емкостными датчиками: 9 шагов
Аудиосэмплер на основе DFPlayer с емкостными датчиками: 9 шагов

Видео: Аудиосэмплер на основе DFPlayer с емкостными датчиками: 9 шагов

Видео: Аудиосэмплер на основе DFPlayer с емкостными датчиками: 9 шагов
Видео: Playing Chopin with Arduino and WAV Trigger (realistic DIY piano sampler with dynamics) 2024, Июль
Anonim
Аудиосэмплер на основе DFPlayer с емкостными датчиками
Аудиосэмплер на основе DFPlayer с емкостными датчиками

Вступление

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

Для обеспечения хорошего качества звука (44,1 кГц) и достаточного объема памяти использовался модуль DFPlayer, который использует карты памяти micro SD для хранения до 32 гигабайт информации. Этот модуль может воспроизводить только один звук за раз, поэтому мы будем использовать два.

Еще одно требование к проекту - возможность адаптации схемы к различным интерфейсам, поэтому мы выбрали емкостные датчики вместо кнопок.

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

Для считывания показаний датчиков мы будем использовать Arduino nano из-за его возможностей и небольшого размера.

характеристики

6 разных звуков

Активируется емкостными датчиками.

Полифония сразу 2 звуков.

Шаг 1. Материалы и инструменты

Материалы и инструменты
Материалы и инструменты
Материалы и инструменты
Материалы и инструменты

Материалы

Arduino Nano

2x DFPlayer

2x micro SD

3.5 Аудиоразъем

2.1 Разъем постоянного тока

Медная плата 10x10

Хлорид железа

Паяльная проволока

Бумага для переноса печатной платы

Инструменты

Припой

Резак для компонентов

Компьютер

Железо

Программное обеспечение

Arduino Ide

Kicad

Библиотека ADTouch

Быстрая библиотека DFPlayer

Шаг 2: как это работает

Сэмплер работает следующим образом: с помощью библиотеки ADTouch мы преобразуем 6 аналоговых портов Arduino Nano в емкостные датчики.

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

Вы можете узнать больше о библиотеке и емкостных датчиках по следующей ссылке

При прикосновении к одному из этих датчиков Arduino обнаруживает изменение емкости и после этого отправляет команду на выполнение звука, соответствующего этому датчику, модулям DFPlayer.

Каждый модуль DFPlayer может воспроизводить только один звук за раз, поэтому, чтобы иметь возможность воспроизводить 2 звука одновременно, инструмент использует 2 модуля.

Шаг 3: Схема

Схема
Схема

На схеме мы можем увидеть, как подключены arduino и два модуля DFPlayer.

R1 и R2 (1 k) предназначены для подключения модулей к DFPlayers.

R 3, 4, 5 и 6 (10k) предназначены для микширования выходов каналов l и r модулей.

R 7 (330) - это защитное сопротивление светодиода, который будет использоваться как индикатор того, что Arduino находится под напряжением.

Шаг 4: соберите печатную плату

Соберите печатную плату
Соберите печатную плату
Соберите печатную плату
Соберите печатную плату
Соберите печатную плату
Соберите печатную плату

Затем мы изготовим пластину, используя метод теплопередачи, который объясняется в этом руководстве:

На плате размещено 6 контактных площадок, что позволяет использовать пробоотборник без внешних датчиков.

Шаг 5: Пайка компонентов

Пайка компонентов
Пайка компонентов
Пайка компонентов
Пайка компонентов
Пайка компонентов
Пайка компонентов

Далее спаяем компоненты.

Сначала резисторы.

Рекомендуется использовать заголовки для монтажа Arduino и модулей без их непосредственной пайки.

Чтобы припаять разъемы, начните со штыря, затем убедитесь, что он хорошо расположен, а затем припаяйте остальные штыри.

Напоследок припаяем разъемы

Шаг 6: Установите библиотеки

Установите библиотеки
Установите библиотеки
Установите библиотеки
Установите библиотеки

В этом проекте мы будем использовать три библиотеки, которые нам нужно установить:

SoftwareSerial.h

DFPlayerMini_Fast.h

ADCTouch.h

По следующей ссылке вы можете подробно увидеть, как установить библиотеки в Arduino.

www.arduino.cc/en/guide/libraries

Шаг 7: Код

Теперь мы можем загрузить код на плату Arduino.

Для этого мы должны выбрать плату Arduino Nano.

#include #include #include

int ref0, ref1, ref2, ref3, ref4, ref5; int th;

SoftwareSerial mySerial (8, 9); // RX, TX DFPlayerMini_Fast myMP3;

SoftwareSerial mySerial2 (10, 11); // RX, TX DFPlayerMini_Fast myMP32;

void setup () {int th = 550; // Serial.begin (9600); mySerial.begin (9600); mySerial2.begin (9600); myMP3.begin (mySerial); myMP32.begin (mySerial2); myMP3.volume (18); ref0 = ADCTouch.read (A0, 500); ref1 = ADCTouch.read (A1, 500); ref2 = ADCTouch.read (A2, 500); ref3 = ADCTouch.read (A3, 500); ref4 = ADCTouch.read (A4, 500); ref5 = ADCTouch.read (A5, 500);

}

void loop () {

int total1 = ADCTouch.read (A0, 20); int total2 = ADCTouch.read (A1, 20); int total3 = ADCTouch.read (A2, 20); int total4 = ADCTouch.read (A3, 20); int total5 = ADCTouch.read (A4, 20); int total6 = ADCTouch.read (A5, 20);

total1 - = ref0; total2 - = ref1; total3 - = ref2; total4 - = ref3; total5 - = ref4; total6 - = ref5; // // Serial.print (total1> th); // Serial.print (total2> th); // Serial.print (total3> th); // Serial.print (total4> th); // Serial.print (total5> th); // Serial.println (total6> th);

// Serial.print (total1); // Serial.print ("\ t"); // Serial.print (total2); // Serial.print ("\ t"); // Serial.print (total3); // Serial.print ("\ t"); // Serial.print (total4); // Serial.print ("\ t"); // Serial.print (total5); // Serial.print ("\ t"); // Serial.println (total6); если (total1> 100 && total1> th) {myMP32.play (1); // Serial.println ("o1"); }

если (total2> 100 && total2> th) {myMP32.play (2); //Serial.println("o2 "); }

if (total3> 100 && total3> th) {

myMP32.play (3); //Serial.println("o3 ");

}

if (total4> 100 && total4> th) {

myMP3.play (1); //Serial.println("o4 ");

}

if (total5> 100 && total5> th) {

myMP3.play (2); //Serial.println("o5 ");

}

if (total6> 100 && total6> th) {

myMP3.play (3); //Serial.println("o6 ");

} // ничего не делаем delay (1); }

Шаг 8: Загрузите звуки на карты памяти

Теперь вы можете загружать свои звуки на карты micro SD.

Формат должен быть 44,1 кГц и 16 бит wav.

Вы должны загрузить по 3 звука на каждую SD-карту.

Шаг 9: Интерфейс

Image
Image

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

В этом случае я использовал 3 головки для запястий, к которым я прикрепил металлические винты в качестве металлического контактного звука.

Для этого соедините винты с контактами платы с помощью кабелей.

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

Рекомендуемые: