Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Einführung
Nachdem ich mit dem Bau verschiedener Synthesizer experimentiert hatte, machte ich mich daran, einen Audio-Sampler zu bauen, der leicht reproduzierbar und kostengünstig war.
Um eine gute Audioqualität (44,1 kHz) und ausreichend Speicherkapazität zu haben, wurde das DFPlayer-Modul verwendet, das auf Micro-SD-Speicherkarten bis zu 32 Gigabyte an Informationen speichert. Dieses Modul kann jeweils nur einen Sound wiedergeben, daher werden wir zwei verwenden.
Eine weitere Anforderung an das Projekt ist, dass sich die Schaltung an unterschiedliche Schnittstellen anpassen lässt, weshalb wir statt Tasten kapazitive Sensoren gewählt haben.
Kapazitive Sensoren können mit nur dem Handkontakt mit jeder mit dem Sensor verbundenen Metalloberfläche aktiviert werden.
Zum Auslesen der Sensoren verwenden wir aufgrund seiner Fähigkeiten und seiner geringen Größe einen Arduino Nano.
Eigenschaften
6 verschiedene Klänge
Aktiviert durch kapazitive Sensoren.
Polyphonie von 2 Klängen gleichzeitig.
Schritt 1: Materialien und Werkzeuge
Materialien
Arduino Nano
2x DFPlayer
2x Micro-SD
3.5 Audiobuchse
2.1 DC-Buchse
10x10 Kupferplatine
Eisenchlorid
Lötdraht
PCB Transferpapier
Werkzeuge
Lötkolben
Bauteilbleischneider
Rechner
Eisen
Software
Arduino-Ide
Kicad
ADTouch-Bibliothek
Schnelle DFPlayer-Bibliothek
Schritt 2: Wie funktioniert es?
Der Sampler funktioniert wie folgt, mit der ADTouch-Bibliothek wandeln wir 6 der analogen Ports des Arduino Nano in kapazitive Sensoren um.
Als Sensor können wir jedes Metallstück verwenden, das mit einem Kabel mit einem dieser Pins verbunden ist.
Mehr über die Bibliothek und kapazitive Sensoren erfahren Sie unter folgendem Link
Wenn einer dieser Sensoren berührt wird, erkennt das Arduino eine Kapazitätsänderung und sendet danach den Befehl, den diesem Sensor entsprechenden Ton an die DFPlayer-Module auszuführen.
Jedes DFPlayer-Modul kann immer nur einen Sound gleichzeitig abspielen. Um also die Möglichkeit zu haben, 2 Sounds gleichzeitig auszuführen, verwendet das Instrument 2 Module.
Schritt 3: Schaltplan
Im Diagramm sehen wir, wie das Arduino- und die beiden DFPlayer-Module verbunden sind
R1 und R2 (1 k) sollen die Module mit den DFPlayern verbinden.
R 3 4 5 und 6 (10k) dienen zum Mischen der Ausgänge der Kanäle l und r der Module.
R 7 (330) ist der Schutzwiderstand einer LED, die als Indikator dafür verwendet wird, dass das Arduino mit Strom versorgt wird.
Schritt 4: Bauen Sie die Platine
Als nächstes werden wir die Platte mit der Wärmeübertragungsmethode herstellen, die in dieser Anleitung erklärt wird:
Auf der Platine wurden 6 Pads platziert, die es ermöglichen, den Sampler ohne externe Sensoren zu verwenden.
Schritt 5: Löten der Komponenten
Als nächstes werden wir die Komponenten verlöten.
Zuerst die Widerstände.
Es wird empfohlen, Header zu verwenden, um das Arduino und die Module zu montieren, ohne sie direkt zu verlöten.
Um die Header zu löten, beginnen Sie mit einem Stift, überprüfen Sie dann, ob er gut positioniert ist, und löten Sie dann den Rest der Stifte.
Zum Schluss werden wir die Anschlüsse löten
Schritt 6: Installieren Sie die Bibliotheken
In diesem Projekt verwenden wir drei Bibliotheken, die wir installieren müssen:
SoftwareSerial.h
DFPlayerMini_Fast.h
ADCTouch.h
Im folgenden Link können Sie im Detail sehen, wie Sie Bibliotheken in Arduino installieren
www.arduino.cc/en/guide/libraries
Schritt 7: Code
Jetzt können wir den Code auf das Arduino-Board hochladen.
Dazu müssen wir das Arduino Nano Board auswählen.
#einschließen #einschließen #einschließen
int ref0, ref1, ref2, ref3, ref4, ref5; int.;
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);
}
Leere Schleife () {
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);
gesamt1 -= ref0; gesamt2 -= ref1; gesamt3 -= ref2; gesamt4 -= ref3; gesamt5 -= ref4; gesamt6 -= 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); if (total1 > 100 && total1 > th) { myMP32.play(1); // Serial.println ("o1"); }
if (total2 > 100 && total2 > th) { myMP32.play(2); //Seriell.println("o2"); }
if (total3 > 100 && total3 > th) {
myMP32.play(3); //Seriell.println("o3");
}
if (total4 > 100 && total4 > th) {
myMP3.play(1); //Seriell.println("o4");
}
if (total5 > 100 && total5 > th) {
myMP3.play(2); //Seriell.println("o5");
}
if (total6 > 100 && total6 > th) {
myMP3.play(3); //Seriell.println("o6");
} // nichts tun delay(1); }
Schritt 8: Laden Sie die Sounds auf Speicherkarten
Jetzt können Sie Ihre Sounds auf die Micro-SD-Karten laden
Das Format muss 44,1 kHz und 16 Bit wav sein
Sie müssen 3 Sounds auf jede SD-Karte hochladen.
Schritt 9: Die Schnittstelle
Zu diesem Zeitpunkt können Sie Ihren Sampler bereits mit Pads in der Leiterplatte betreiben, haben jedoch noch die Möglichkeit, ihn anzupassen, indem Sie ein Gehäuse und verschiedene Objekte oder Metalloberflächen als Sensoren auswählen.
In diesem Fall habe ich 3 Handgelenkköpfe verwendet, an denen ich Metallschrauben als Metallkontaktton befestigt habe.
Verbinden Sie dazu die Schrauben mittels Kabel mit den Pins der Platine.
Sie können jeden metallischen Gegenstand, leitfähiges Klebeband verwenden oder mit leitfähiger Tinte experimentieren.