Inhoudsopgave:

Op DFPlayer gebaseerde audiosampler met capacitieve sensoren - Ajarnpa
Op DFPlayer gebaseerde audiosampler met capacitieve sensoren - Ajarnpa

Video: Op DFPlayer gebaseerde audiosampler met capacitieve sensoren - Ajarnpa

Video: Op DFPlayer gebaseerde audiosampler met capacitieve sensoren - Ajarnpa
Video: Playing Chopin with Arduino and WAV Trigger (realistic DIY piano sampler with dynamics) 2024, Juli-
Anonim
Op DFPlayer gebaseerde audiosampler met capacitieve sensoren
Op DFPlayer gebaseerde audiosampler met capacitieve sensoren

Invoering

Na te hebben geëxperimenteerd met de constructie van verschillende synthesizers, begon ik een audiosampler te bouwen, die gemakkelijk repliceerbaar en goedkoop was.

Om een goede audiokwaliteit (44,1 kHz) en voldoende opslagcapaciteit te hebben, werd de DFPlayer-module gebruikt, die micro SD-geheugenkaarten gebruikt om tot 32 gigabyte aan informatie op te slaan. Deze module kan slechts één geluid tegelijk afspelen, dus we zullen er twee gebruiken.

Een andere vereiste voor het project is dat de schakeling kan worden aangepast aan verschillende interfaces, daarom hebben we gekozen voor capacitieve sensoren in plaats van knoppen.

Capacitieve sensoren kunnen worden geactiveerd met slechts het handcontact met een metalen oppervlak dat op de sensor is aangesloten.

Voor het uitlezen van de sensoren zullen we vanwege zijn mogelijkheden en kleine formaat een Arduino nano gebruiken.

kenmerken

6 verschillende geluiden

Geactiveerd door capacitieve sensoren.

Polyfonie van 2 klanken tegelijk.

Stap 1: Materialen en gereedschappen

Materialen en gereedschappen
Materialen en gereedschappen
Materialen en gereedschappen
Materialen en gereedschappen

Materialen

Arduino Nano

2x DFPlayer

2x micro SD

3.5 Audio-aansluiting

2.1 DC-aansluiting

10x10 koperen bord

IJzerchloride

Soldeerdraad

PCB-transferpapier

Gereedschap

Soldeerbout

Component loodsnijder

Computer

Ijzer

Software

Arduino Ide

Kicad

ADTouch-bibliotheek

Snelle DFPlayer-bibliotheek

Stap 2: Hoe werkt het?

De sampler werkt als volgt, met behulp van de ADTouch-bibliotheek zetten we 6 van de analoge poorten van de Arduino Nano om in capacitieve sensoren.

Als sensor kunnen we elk stuk metaal gebruiken dat door middel van een kabel op een van deze pinnen is aangesloten.

U kunt meer lezen over de bibliotheek en capacitieve sensoren op de volgende link

Wanneer een van deze sensoren wordt aangeraakt, detecteert de Arduino een capaciteitsverandering en stuurt daarna de opdracht om het geluid dat overeenkomt met die sensor uit te voeren naar de DFPlayer-modules.

Elke DFPlayer-module kan slechts één geluid tegelijk afspelen, dus om de mogelijkheid te hebben om 2 geluiden tegelijk uit te voeren, gebruikt het instrument 2 modules.

Stap 3: Schematisch:

Schematisch
Schematisch

In het diagram kunnen we zien hoe de arduino en de twee DFPlayer-modules zijn aangesloten

R1 en R2 (1 k) zijn om de modules aan te sluiten op de DFPlayers.

R 3 4 5 en 6 (10k) zijn voor het mixen van de uitgangen van kanalen l en r van de modules.

R 7 (330) is de beschermingsweerstand van een LED die zal worden gebruikt als een indicator dat de Arduino wordt geactiveerd.

Stap 4: Bouw de PCB

Bouw de printplaat
Bouw de printplaat
Bouw de printplaat
Bouw de printplaat
Bouw de printplaat
Bouw de printplaat

Vervolgens zullen we de plaat vervaardigen met behulp van de warmteoverdrachtsmethode, die wordt uitgelegd in deze instructable:

Op het bord zijn 6 pads geplaatst waarmee de sampler kan worden gebruikt zonder dat er externe sensoren nodig zijn.

Stap 5: Solderen van de componenten

De componenten solderen
De componenten solderen
De componenten solderen
De componenten solderen
De componenten solderen
De componenten solderen

Vervolgens zullen we de componenten solderen.

Eerst de weerstanden.

Het wordt aanbevolen om headers te gebruiken om de Arduino en de modules te monteren zonder ze direct te solderen.

Om de headers te solderen, begint u met een pin, controleer dan of deze goed is geplaatst en soldeer vervolgens de rest van de pins.

Eindelijk zullen we de connectoren solderen

Stap 6: Installeer de bibliotheken

Installeer de bibliotheken
Installeer de bibliotheken
Installeer de bibliotheken
Installeer de bibliotheken

In dit project zullen we drie bibliotheken gebruiken die we moeten installeren:

SoftwareSerial.h

DFPlayerMini_Fast.h

ADCTouch.h

In de volgende link kunt u in detail zien hoe u bibliotheken in Arduino installeert

www.arduino.cc/en/guide/bibliotheken

Stap 7: Coderen

Nu kunnen we de code uploaden naar het Arduino-bord.

Hiervoor moeten we het Arduino Nano-bord selecteren.

#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; // Serieel.begin (9600); mijnSerial.begin(9600); mySerial2.begin (9600); mijnMP3.begin(mijnSerial); mijnMP32.begin(mijnSerial2); mijnMP3.volume (18); ref0 = ADCTouch.lezen (A0, 500); ref1 = ADCTouch.lezen (A1, 500); ref2 = ADCTouch.lezen (A2, 500); ref3 = ADCTouch.lezen (A3, 500); ref4 = ADCTouch.lezen (A4, 500); ref5 = ADCTouch.lezen (A5, 500);

}

lege lus() {

int totaal1 = ADCTouch.lezen(A0, 20); int totaal2 = ADCTouch.lezen (A1, 20); int totaal3 = ADCTouch.lezen (A2, 20); int totaal4 = ADCTouch.lezen (A3, 20); int totaal5 = ADCTouch.lezen (A4, 20); int totaal6 = ADCTouch.lezen(A5, 20);

totaal1 -= ref0; totaal2 -= ref1; totaal3 -= ref2; totaal4 -= ref3; totaal5 -= ref4; totaal6 -= ref5; // // Serial.print (totaal1> th); // Serial.print (totaal2 > th); // Serial.print (totaal3 > th); // Serial.print (totaal4 > th); // Serial.print (totaal5 > th); // Serial.println (totaal6 > th);

// Serial.print (totaal1); // Serieel.print ("\t"); // Serial.print (totaal2); // Serieel.print ("\t"); // Serial.print (totaal3); // Serieel.print ("\t"); // Serial.print (totaal4); // Serieel.print ("\t"); // Serial.print (totaal5); // Serieel.print("\t"); // Serieel.println(totaal6); if (totaal1 > 100 && totaal1 > th) { myMP32.play(1); // Serieel.println ("o1"); }

if (totaal2 > 100 && totaal2 > th) { myMP32.play(2); //Serial.println("o2"); }

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

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

}

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

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

}

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

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

}

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

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

} // niets doen vertraging (1); }

Stap 8: Laad de geluiden op geheugenkaarten

Nu kunt u uw geluiden op de micro SD-kaarten laden

Het formaat moet 44,1 kHz en 16 bit wav. zijn

Je moet 3 geluiden op elke SD-kaart uploaden.

Stap 9: de interface

Image
Image

Op dit moment kun je je sampler al draaien met pads in de PCB, maar je hebt nog steeds de mogelijkheid om hem aan te passen door een behuizing te kiezen en verschillende objecten of metalen oppervlakken om als sensoren te gebruiken.

In dit geval heb ik 3 polskoppen gebruikt waar ik metalen schroeven op heb gezet als een metalen contactgeluid.

Verbind hiervoor de schroeven door middel van kabels met de pinnen van het bord.

U kunt elk metalen voorwerp, geleidende tape gebruiken of experimenteren met geleidende inkt.

Aanbevolen: