Tartalomjegyzék:
- Lépés: Anyagok és eszközök
- 2. lépés: Hogyan működik?
- 3. lépés: Vázlatos
- 4. lépés: Készítse el a NYÁK -t
- 5. lépés: Az alkatrészek forrasztása
- 6. lépés: Telepítse a könyvtárakat
- 7. lépés: Kód
- 8. lépés: Töltse be a hangokat a memóriakártyákra
- 9. lépés: Az interfész
Videó: DFPlayer alapú audio mintavevő kapacitív érzékelőkkel: 9 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Bevezetés
Miután kísérleteztem a különböző szintetizátorok felépítésével, nekiláttam egy hangminta -vevő építéséhez, amely könnyen megismételhető és olcsó.
A jó hangminőség (44,1 kHz) és a megfelelő tárolókapacitás érdekében a DFPlayer modult használták, amely micro SD memóriakártyákat használ akár 32 gigabájt információ tárolására. Ez a modul egyszerre csak egy hang lejátszására képes, ezért kettőt fogunk használni.
A projekt másik követelménye, hogy az áramkör különböző interfészekhez illeszthető legyen, ezért a gombok helyett a kapacitív érzékelőket választottuk.
A kapacitív érzékelők csak kézzel érhetők el az érzékelőhöz csatlakoztatott bármely fémfelülettel.
Az érzékelők leolvasásához Arduino nano -t fogunk használni, képességei és kis mérete miatt.
jellemzők
6 különböző hang
Kapacitív érzékelők aktiválják.
Egyszerre két hang polifóniája.
Lépés: Anyagok és eszközök
Anyagok
Arduino Nano
2x DFPlayer
2x micro SD
3.5 Audio Jack
2.1 DC Jack
10x10-es rézlap
Vas-klorid
Forrasztóhuzal
PCB transzfer papper
Eszközök
Forrasztópáka
Komponens ólomvágó
Számítógép
Vas
Szoftver
Arduino Ide
Kicad
ADTouch Librarie
Gyors DFPlayer Librarie
2. lépés: Hogyan működik?
A mintavevő a következőképpen működik, az ADTouch könyvtár használatával az Arduino Nano 6 analóg portját kapacitív érzékelőkké alakítjuk.
Érzékelőként bármilyen fémdarabot használhatunk, amely ezen tűk egyikéhez kábellel csatlakozik.
A könyvtárról és a kapacitív érzékelőkről a következő linken olvashat bővebben:
Ha az egyik érzékelőt megérinti, az arduino érzékeli a kapacitásváltozást, majd ezt követően elküldi a parancsot az adott érzékelő hangjának végrehajtására a DFPlayer modulokhoz.
Minden DFPlayer modul egyszerre csak egy hangot tud lejátszani, így a hangszer egyszerre 2 hangot adhat ki.
3. lépés: Vázlatos
Az ábrán láthatjuk, hogyan van csatlakoztatva az arduino és a két DFPlayer modul
R1 és R2 (1 k) a modulokat a DFPlayers -hez kell csatlakoztatni.
R 3 4 5 és 6 (10k) a modulok l és r csatornáinak kimeneteinek keverésére szolgál.
R 7 (330) egy LED védelmi ellenállása, amely jelzi az arduino feszültségét.
4. lépés: Készítse el a NYÁK -t
Ezután a lemezt a hőátadási módszerrel gyártjuk, amelyet ebben az utasításban ismertetünk:
6 párna került a táblára, amelyek lehetővé teszik a mintavevő használatát külső érzékelők nélkül.
5. lépés: Az alkatrészek forrasztása
Ezután forrasztjuk az alkatrészeket.
Először az ellenállások.
Javasoljuk, hogy fejléceket használjon az Arduino és a modulok közvetlen forrasztás nélküli rögzítéséhez.
A fejlécek forrasztásához csapokkal kell kezdeni, majd ellenőrizni kell, hogy jól vannak -e elhelyezve, majd forrasztani a többi csapot.
Végül forrasztjuk a csatlakozókat
6. lépés: Telepítse a könyvtárakat
Ebben a projektben három könyvtárat fogunk használni, amelyeket telepítenünk kell:
SoftwareSerial.h
DFPlayerMini_Fast.h
ADCTouch.h
A következő linken részletesen megtekintheti a könyvtárak telepítését az Arduino programban
www.arduino.cc/en/guide/libraries
7. lépés: Kód
Most feltölthetjük a kódot az Arduino táblára.
Ehhez ki kell választanunk az Arduino Nano táblát.
#befoglalni #befoglalni #befoglalni
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.volumen (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 összesen1 = 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);
összesen1 -= ref0; összesen2 -= ref1; összesen3 -= ref2; összesen4 -= ref3; összesen5 -= ref4; összesen6 -= ref5; // // Serial.print (total1> th); // Serial.print (total2> th); // Serial.print (total3> th); // Serial.print (total4> th); // Sorozatnyomat (összesen5> th); // Sorozat.println (összesen6> th);
// Sorozat.nyomat (összesen1); // Sorozat.nyomtatás ("\ t"); // Sorozat.nyomat (összesen2); // Sorozat.nyomtatás ("\ t"); // Sorozat.nyomat (összesen3); // Sorozat.nyomtatás ("\ t"); // Sorozat.nyomat (összesen4); // Sorozat.nyomtatás ("\ t"); // Sorozat.nyomat (összesen5); // Sorozat.nyomtatás ("\ t"); // Sorozat.println (összesen6); if (total1> 100 && total1> th) {myMP32.play (1); // Sorozat.println ("o1"); }
if (total2> 100 && total2> th) {myMP32.play (2); //Serial.println("o2 "); }
if (összesen3> 100 && összesen3> th) {
myMP32.play (3); //Serial.println("o3 ");
}
if (összesen4> 100 && összesen4> th) {
myMP3.play (1); //Serial.println("o4 ");
}
if (összesen5> 100 && összesen5> th) {
myMP3.play (2); //Serial.println("o5 ");
}
if (összesen6> 100 && összesen6> th) {
myMP3.play (3); //Serial.println("o6 ");
} // ne csinálj késleltetést (1); }
8. lépés: Töltse be a hangokat a memóriakártyákra
Most betöltheti hangjait a micro SD kártyákra
A formátumnak 44,1 kHz -nek és 16 bites wav -nak kell lennie
Minden SD -kártyára 3 hangot kell feltöltenie.
9. lépés: Az interfész
Ekkor már futtathatja a mintavevőt a NYÁK -ban lévő párnákkal, de még mindig lehetősége van személyre szabni, kiválasztva a tokot és különböző tárgyakat vagy fémfelületeket, amelyeket érzékelőként használhat.
Ebben az esetben 3 csuklófejet használtam, amelyekhez fémcsavarokat tettem fém érintkező hangként.
Ehhez csatlakoztassa a csavarokat a tábla csapjaihoz kábelek segítségével.
Használhat bármilyen fémes tárgyat, vezetőszalagot, vagy kísérletezhet vezetőképes tintával.
Ajánlott:
Akadálykerülő robot infravörös érzékelőkkel mikrokontroller nélkül: 6 lépés
Akadálykerülő robot infravörös érzékelőkkel mikrokontroller nélkül: Nos, ez a projekt egy régebbi projekt, 2014 -ben készítettem júliusban vagy augusztusban, gondoltam megosztom veletek. Ez egy egyszerű akadályozó robot, amely infravörös érzékelőket használ, és mikrovezérlő nélkül működik. Az infravörös érzékelők opamp IC i
Arduino alapú érintésmentes infravörös hőmérő - IR alapú hőmérő Arduino használatával: 4 lépés
Arduino alapú érintésmentes infravörös hőmérő | IR alapú hőmérő Arduino használatával: Sziasztok, ebben az útmutatóban, érintésmentes hőmérőt készítünk arduino segítségével. Mivel néha a folyadék/szilárd anyag hőmérséklete túl magas vagy alacsony, majd nehéz kapcsolatba lépni vele és elolvasni ilyenkor a hőmérséklet
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): 4 lépés (képekkel)
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): Szia, ma elmagyarázom, hogyan készíts saját kis időjárás alapú zenegenerátort. Ez egy ESP8266 -on alapul, ami olyan, mint egy Arduino, és reagál a hőmérsékletre, az esőre és fényintenzitás. Ne várd el, hogy teljes dalokat vagy akkordprogramokat készítsen
Bemutató automatikus mintavevő: 6 lépés
Bemutató automatikus mintavevő: Ezt az oktatható anyagot a Dél -Floridai Egyetem Makecourse projektkövetelményének teljesítéséhez hozták létre (www.makecourse.com) A mintavétel szinte minden nedves laboratórium fontos eleme, mivel elemezhetők, hogy fontos információkat nyújtsanak
Kapacitív érintés az Evive segítségével (Arduino alapú vezérlő): 6 lépés (képekkel)
Kapacitív érintés az Evive segítségével (Arduino alapú vezérlő): Tudja, hogyan működik az okostelefon érintőképernyője? Az okostelefon számos érintőérzékelőt tartalmaz az üveg képernyő alatt. Manapság a kapacitív érintésérzékelő technológián alapul, és még egy gyengéd érintés is könnyen észlelhető. A kapacitív érintés érzékelhető