Sommario:
- Passaggio 1: materiali e strumenti
- Passaggio 2: come funziona?
- Passaggio 3: schematico
- Passaggio 4: costruire il PCB
- Passaggio 5: saldatura dei componenti
- Passaggio 6: installare le librerie
- Passaggio 7: codice
- Passaggio 8: caricare i suoni nelle schede di memoria
- Passaggio 9: l'interfaccia
Video: Campionatore audio basato su DFPlayer con sensori capacitivi: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
introduzione
Dopo aver sperimentato la costruzione di diversi sintetizzatori, ho deciso di costruire un campionatore audio, che fosse facilmente replicabile e poco costoso.
Per avere una buona qualità audio (44,1 kHz) e una capacità di archiviazione sufficiente, è stato utilizzato il modulo DFPlayer, che utilizza schede di memoria micro SD per archiviare fino a 32 gigabyte di informazioni. Questo modulo è in grado di riprodurre solo un suono alla volta, quindi ne useremo due.
Un altro requisito per il progetto è che il circuito possa essere adattabile a diverse interfacce, motivo per cui abbiamo scelto sensori capacitivi anziché pulsanti.
I sensori capacitivi possono essere attivati con il solo contatto della mano con qualsiasi superficie metallica collegata al sensore.
Per la lettura dei sensori utilizzeremo un Arduino nano, date le sue capacità e le ridotte dimensioni.
caratteristiche
6 suoni diversi
Attivato da sensori capacitivi.
Polifonia di 2 suoni contemporaneamente.
Passaggio 1: materiali e strumenti
Materiali
Arduino Nano
2x DFPlayer
2x micro SD
3.5 Jack audio
2.1 Jack CC
Scheda in rame 10x10
Cloruro ferrico
Filo di saldatura
Carta di trasferimento PCB
Utensili
Saldatore
Taglia piombo per componenti
Computer
Ferro da stiro
Software
Arduino Ide
Kicad
Libreria ADTouch
Libreria DFPlayer veloce
Passaggio 2: come funziona?
Il campionatore funziona come segue, utilizzando la libreria ADTouch convertiamo 6 delle porte analogiche dell'Arduino Nano in sensori capacitivi.
Come sensore possiamo utilizzare qualsiasi pezzo di metallo collegato a uno di questi pin tramite un cavo.
Puoi leggere di più sulla libreria e sui sensori capacitivi al seguente link
Quando uno di questi sensori viene toccato, l'arduino rileva un cambiamento di capacità e quindi invia l'ordine di eseguire il suono corrispondente a quel sensore ai moduli DFPlayer.
Ogni modulo DFPlayer può riprodurre solo un suono alla volta, quindi per avere la possibilità di eseguire 2 suoni alla volta lo strumento utilizza 2 moduli.
Passaggio 3: schematico
Nello schema possiamo vedere come sono collegati l'arduino e i due moduli DFPlayer
R1 e R2 (1 k) servono per collegare i moduli ai DFPlayer.
R 3 4 5 e 6 (10k) servono a miscelare le uscite dei canali l e r dei moduli.
R 7 (330) è la resistenza di protezione di un LED che verrà utilizzato come indicatore che l'arduino è sotto tensione.
Passaggio 4: costruire il PCB
Successivamente produrremo la piastra utilizzando il metodo di trasferimento del calore, che è spiegato in questo istruibile:
Sulla scheda sono stati posizionati 6 pad che consentono di utilizzare il campionatore senza la necessità di sensori esterni.
Passaggio 5: saldatura dei componenti
Successivamente si salderanno i componenti.
Prima le resistenze.
Si consiglia di utilizzare le intestazioni per montare Arduino e i moduli senza saldarli direttamente.
Per saldare le intestazioni, iniziare con un pin, quindi verificare che sia ben posizionato e quindi saldare il resto dei pin.
Alla fine saldiamo i connettori
Passaggio 6: installare le librerie
In questo progetto utilizzeremo tre librerie che dobbiamo installare:
SoftwareSerial.h
DFPlayerMini_Fast.h
ADCTouch.h
Nel seguente link puoi vedere in dettaglio come installare le librerie in Arduino
www.arduino.cc/en/guide/libraries
Passaggio 7: codice
Ora possiamo caricare il codice sulla scheda Arduino.
Per questo dobbiamo selezionare la scheda Arduino Nano.
#include #include #include
int rif0, 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); mioMP3.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);
}
ciclo vuoto() {
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);
totale1 -= rif0; totale2 -= rif1; totale3 -= rif2; totale4 -= rif3; totale5 -= rif4; totale6 -= rif5; // // 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); //Serial.println("o2"); }
if (totale3 > 100 && totale3 > th) {
myMP32.play(3); //Serial.println("o3");
}
if (totale4 > 100 && totale4 > th) {
mioMP3.play(1); //Serial.println("o4");
}
if (totale5 > 100 && totale5 > th) {
mioMP3.play(2); //Serial.println("o5");
}
if (totale6 > 100 && totale6 > th) {
mioMP3.play(3); //Serial.println("o6");
} // non fa nulla ritarda (1); }
Passaggio 8: caricare i suoni nelle schede di memoria
Ora puoi caricare i tuoi suoni nelle schede micro SD
Il formato deve essere 44,1 kHz e 16 bit wav
Devi caricare 3 suoni su ciascuna scheda SD.
Passaggio 9: l'interfaccia
In questo momento puoi già far funzionare il tuo campionatore con i pad nel PCB, ma hai ancora la possibilità di personalizzarlo, scegliendo una custodia e diversi oggetti o superfici metalliche da utilizzare come sensori.
In questo caso ho usato 3 teste da polso a cui ho messo delle viti metalliche come suono di contatto metallico.
Per questo, collegare le viti ai pin della scheda tramite cavi.
Puoi usare qualsiasi oggetto metallico, nastro conduttivo o fare esperimenti con l'inchiostro conduttivo.
Consigliato:
Telecomando IR automatico basato su Arduino basato sulla temperatura: 7 passaggi
Telecomando IR automatico basato su Arduino basato sulla temperatura: Ehi, come va, ragazzi! Akarsh qui da CETech. Stanco di svegliarti nel bel mezzo di un sonno profondo solo perché la temperatura della tua stanza è troppo bassa o troppo alta a causa del tuo stupido condizionatore. Allora questo progetto è per te. In questo progetto, faremo il nostro
Generatore musicale basato sulle condizioni meteorologiche (generatore MIDI basato su ESP8266): 4 passaggi (con immagini)
Generatore di musica basato sul tempo (Generatore MIDI basato su ESP8266): Ciao, oggi spiegherò come creare il tuo piccolo generatore di musica basato sul tempo. È basato su un ESP8266, che è un po' come un Arduino, e risponde alla temperatura, alla pioggia e l'intensità della luce. Non aspettarti che produca intere canzoni o programmi di accordi
Lettore audio DfPlayer ESP8266: 8 passaggi
ESP8266 DfPlayer Audio Player: questo è un lettore audio mp3 costruito da un modulo wifi esp8266 e un modulo dfPlayer mp3. Riproduce file da una scheda SD. L'ho alloggiato in un vecchio altoparlante del computer e l'ho fatto funzionare a batteria, ma potrebbe essere integrato in qualsiasi custodia per altoparlanti. Caratteristiche incl
Orologio con animazione LED SMART connesso al Web con pannello di controllo basato sul Web, server dell'ora sincronizzato: 11 passaggi (con immagini)
Orologio con animazione LED SMART connesso al Web con pannello di controllo basato sul Web, server dell'ora sincronizzato: la storia di questo orologio risale a molto tempo fa, più di 30 anni. Mio padre è stato il pioniere di questa idea quando avevo solo 10 anni, molto prima della rivoluzione dei LED, quando i LED erano 1/1000 della luminosità della loro attuale brillantezza accecante. Un vero
Robot Line Following basato su PID con array di sensori POLOLU QTR 8RC: 6 passaggi (con immagini)
Robot che segue la linea basato su PID con array di sensori PID QTR 8RC: Ciao! questo è il mio primo articolo su istruttori, e oggi ti porterò lungo la strada e spiegherò come costruire una linea basata su PID che segue il robot usando QTR-8RC array di sensori. Prima di passare alla costruzione del robot, dobbiamo capire