Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Johdanto
Kokeiltuani eri syntetisaattoreiden rakentamista päätin rakentaa ääninäytteenottimen, joka oli helposti toistettavissa ja halpa.
Hyvän äänenlaadun (44,1 kHz) ja riittävän tallennuskapasiteetin saavuttamiseksi käytettiin DFPlayer -moduulia, joka tallentaa micro SD -muistikortteja jopa 32 gigatavun tietojen tallentamiseen. Tämä moduuli pystyy toistamaan vain yhden äänen kerrallaan, joten käytämme kahta.
Toinen projektin vaatimus on, että piiri voidaan sovittaa eri rajapintoihin, minkä vuoksi valitsimme kapasitiiviset anturit painikkeiden sijaan.
Kapasitiiviset anturit voidaan aktivoida vain käsikosketuksella mihin tahansa anturiin liitettyyn metallipintaan.
Anturien lukemiseen käytämme Arduino nanoa sen ominaisuuksien ja pienen koon vuoksi.
ominaisuudet
6 erilaista ääntä
Aktivoidaan kapasitiivisilla antureilla.
Polyfonia kahdesta äänestä kerralla.
Vaihe 1: Materiaalit ja työkalut
Materiaalit
Arduino Nano
2x DFPlayer
2x micro SD
3.5 Ääniliitäntä
2.1 DC-liitin
10x10 kuparilevy
Ferrikloridi
Juotoslanka
PCB-siirtopaperi
Työkalut
Juotosrauta
Komponenttijohtoleikkuri
Tietokone
Rauta
Ohjelmisto
Arduino Ide
Kicad
ADTouch Librarie
Nopea DFPlayer Librarie
Vaihe 2: Kuinka se toimii
Näytteenotin toimii seuraavasti, ADTouch -kirjaston avulla muutamme 6 Arduino Nanon analogisesta portista kapasitiivisiksi antureiksi.
Anturina voimme käyttää mitä tahansa metallikappaletta, joka on liitetty johonkin näistä nastoista kaapelilla.
Voit lukea lisää kirjastosta ja kapasitiivisista antureista seuraavasta linkistä
Kun yhtä näistä antureista kosketetaan, arduino havaitsee kapasitanssin muutoksen ja lähettää sen jälkeen käskyn suorittaa kyseistä anturia vastaava ääni DFPlayer -moduuleille.
Kukin DFPlayer -moduuli voi toistaa vain yhden äänen kerrallaan, joten soitin käyttää kahta ääntä kerrallaan, koska se käyttää kahta moduulia.
Vaihe 3: Kaavio
Kaaviossa näemme, miten arduino ja kaksi DFPlayer -moduulia on kytketty
R1 ja R2 (1 k) kytkevät moduulit DFPlayers -laitteeseen.
R 3 4 5 ja 6 (10k) on tarkoitettu moduulien kanavien l ja r lähtöjen sekoittamiseen.
R 7 (330) on LED -valon suojaus, jota käytetään osoittimena, että arduino on jännitteinen.
Vaihe 4: Piirilevyn rakentaminen
Seuraavaksi valmistamme levyn lämmönsiirtomenetelmällä, joka selitetään tässä ohjeessa:
Levylle on asetettu 6 tyynyä, jotka mahdollistavat näytteenottimen käytön ilman ulkoisia antureita.
Vaihe 5: Komponenttien juottaminen
Seuraavaksi juotamme komponentit.
Ensin vastukset.
On suositeltavaa käyttää otsikoita Arduinon ja moduulien kiinnittämiseen juottamatta niitä suoraan.
Jos haluat juottaa otsikot, aloita tapilla, tarkista sitten, että se on hyvin paikallaan, ja juota loput nastat.
Lopuksi juotamme liittimet
Vaihe 6: Asenna kirjastot
Tässä projektissa käytämme kolmea kirjastoa, jotka meidän on asennettava:
SoftwareSerial.h
DFPlayerMini_Fast.h
ADCTouch.h
Seuraavasta linkistä näet yksityiskohtaisesti, kuinka voit asentaa kirjastoja Arduinoon
www.arduino.cc/en/guide/libraries
Vaihe 7: Koodi
Nyt voimme ladata koodin Arduino -taululle.
Tätä varten meidän on valittava Arduino Nano -levy.
#Sisällytä #Sisällytä #Sisällytä
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; // Sarja.alku (9600); mySerial.begin (9600); mySerial2.begin (9600); myMP3.begin (mySerial); myMP32.begin (mySerial2); myMP3.volyymi (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 yhteensä1 = ADCTouch.read (A0, 20); int yhteensä2 = ADCTouch.read (A1, 20); int yhteensä3 = ADCTouch.read (A2, 20); int yhteensä4 = ADCTouch.read (A3, 20); int yhteensä5 = ADCTouch.read (A4, 20); int yhteensä6 = ADCTouch.read (A5, 20);
yhteensä1 -= ref0; yhteensä2 -= viite1; yhteensä3 -= viite2; yhteensä4 -= ref3; yhteensä5 -= ref4; yhteensä6 -= viite5; // // Serial.print (total1> th); // Serial.print (total2> th); // Serial.print (yhteensä3> th); // Serial.print (total4> th); // Serial.print (yhteensä5> th); // Sarja.println (yhteensä6> th);
// Sarjanjälki (yhteensä1); // Serial.print ("\ t"); // Sarjanjälki (yhteensä2); // Serial.print ("\ t"); // Sarjanjälki (yhteensä3); // Serial.print ("\ t"); // Sarjanjälki (yhteensä4); // Serial.print ("\ t"); // Sarjanjälki (yhteensä5); // Serial.print ("\ t"); // Sarja.println (yhteensä6); if (yhteensä1> 100 && yhteensä1> th) {myMP32.play (1); // Sarja.println ("o1"); }
if (yhteensä2> 100 && yhteensä2> th) {myMP32.play (2); //Sarja.println ("o2 "); }
jos (yhteensä3> 100 && yhteensä3> th) {
myMP32.play (3); //Sarja.println ("o3 ");
}
jos (yhteensä4> 100 && yhteensä4> th) {
myMP3.play (1); //Sarja.println ("o4 ");
}
jos (yhteensä5> 100 && yhteensä5> th) {
myMP3.play (2); //Sarja.println ("o5 ");
}
jos (yhteensä6> 100 && yhteensä6> th) {
myMP3.play (3); //Sarja.println ("o6 ");
} // älä tee mitään viivettä (1); }
Vaihe 8: Lataa äänet muistikorteille
Nyt voit ladata äänesi micro SD -korteille
Muodon on oltava 44,1 kHz ja 16 -bittinen wav
Sinun on ladattava 3 ääntä jokaiselle SD -kortille.
Vaihe 9: Käyttöliittymä
Tällä hetkellä voit jo käyttää näytteenotinta piirilevyllä olevilla tyynyillä, mutta sinulla on edelleen mahdollisuus muokata sitä valitsemalla kotelo ja erilaisia esineitä tai metallipintoja antureiksi.
Tässä tapauksessa käytin 3 rannepäätä, joihin laitoin metalliruuvit metalliseksi kosketusääneksi.
Liitä tätä varten ruuvit levyn nastoihin kaapeleilla.
Voit käyttää mitä tahansa metalliesinettä, johtavaa teippiä tai kokeilla johtavaa mustetta.