Spisu treści:
- Krok 1: Materiały i narzędzia
- Krok 2: Jak to działa?
- Krok 3: Schemat
- Krok 4: Zbuduj płytkę drukowaną
- Krok 5: Lutowanie komponentów
- Krok 6: Zainstaluj biblioteki
- Krok 7: Kod
- Krok 8: Załaduj dźwięki na karty pamięci
- Krok 9: Interfejs
Wideo: Próbnik audio oparty na DFPlayer z czujnikami pojemnościowymi: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Wstęp
Po eksperymentach z konstrukcją różnych syntezatorów postanowiłem zbudować sampler audio, który był łatwy do powielenia i niedrogi.
Aby uzyskać dobrą jakość dźwięku (44,1 kHz) i wystarczającą pojemność pamięci, zastosowano moduł DFPlayer, który wykorzystuje karty pamięci micro SD do przechowywania do 32 gigabajtów informacji. Ten moduł może odtwarzać tylko jeden dźwięk na raz, więc użyjemy dwóch.
Kolejnym wymaganiem projektu jest możliwość dostosowania obwodu do różnych interfejsów, dlatego wybraliśmy czujniki pojemnościowe zamiast przycisków.
Czujniki pojemnościowe można aktywować, dotykając dłonią dowolną metalową powierzchnię podłączoną do czujnika.
Do odczytu czujników użyjemy Arduino nano, ze względu na jego możliwości i niewielkie rozmiary.
cechy charakterystyczne
6 różnych dźwięków
Aktywowane przez czujniki pojemnościowe.
Polifonia 2 dźwięków na raz.
Krok 1: Materiały i narzędzia
Materiały
Arduino Nano
2x DFPlayer
2x micro SD
Gniazdo audio 3.5
2.1 Gniazdo DC
Płyta miedziana 10x10
Chlorek żelaza
Drut lutowniczy
Papier do transferu PCB
Narzędzia
Lutowane żelazo
Obcinacz ołowiu do komponentów
Komputer
Żelazo
Oprogramowanie
Arduino Ide
Kicad
Biblioteka ADTouch
Szybka biblioteka DFPlayer
Krok 2: Jak to działa?
Sampler działa w następujący sposób, korzystając z biblioteki ADTouch konwertujemy 6 portów analogowych Arduino Nano na czujniki pojemnościowe.
Jako czujnik możemy użyć dowolnego kawałka metalu podłączonego do jednego z tych pinów za pomocą kabla.
Więcej o bibliotece i czujnikach pojemnościowych można przeczytać pod poniższym linkiem
Gdy jeden z tych czujników zostanie dotknięty, arduino wykrywa zmianę pojemności, a następnie wysyła polecenie wykonania dźwięku odpowiadającego temu czujnikowi do modułów DFPlayer.
Każdy moduł DFPlayer może odtwarzać tylko jeden dźwięk na raz, więc aby mieć możliwość odtwarzania 2 dźwięków na raz, instrument używa 2 modułów.
Krok 3: Schemat
Na schemacie widzimy, jak połączone są arduino i dwa moduły DFPlayer
R1 i R2 (1 k) służą do podłączenia modułów do DFPlayer.
R 3 4 5 i 6 (10k) służą do miksowania wyjść kanałów l i r modułów.
R 7 (330) to rezystancja ochrony diody LED, która będzie używana jako wskaźnik, że arduino jest pod napięciem.
Krok 4: Zbuduj płytkę drukowaną
Następnie wyprodukujemy płytkę za pomocą metody wymiany ciepła, co wyjaśniono w tej instrukcji:
Na płytce zostało umieszczonych 6 padów, które umożliwiają korzystanie z próbnika bez konieczności stosowania zewnętrznych czujników.
Krok 5: Lutowanie komponentów
Następnie przylutujemy komponenty.
Najpierw rezystory.
Do montażu Arduino i modułów zaleca się stosowanie nagłówków bez ich bezpośredniego lutowania.
Aby przylutować listwy zacznij od szpilki, następnie sprawdź, czy jest dobrze umiejscowiony, a następnie przylutuj pozostałe szpilki.
Na koniec przylutujemy złącza
Krok 6: Zainstaluj biblioteki
W tym projekcie wykorzystamy trzy biblioteki, które musimy zainstalować:
SoftwareSerial.h
DFPlayerMini_Fast.h
ADCTouch.h
W poniższym linku możesz zobaczyć szczegółowo, jak zainstalować biblioteki w Arduino
www.arduino.cc/en/guide/libraries
Krok 7: Kod
Teraz możemy wgrać kod na płytkę Arduino.
Do tego musimy wybrać płytkę Arduino Nano.
#include #include #include
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.początek(9600); mójSerial.początek(9600); mójSerial2.początek(9600); mójMP3.początek(mójSerial); mójMP32.początek(mójSerial2); myMP3.volume(18); ref0 = ADCTouch.odczyt(A0, 500); ref1 = ADCTouch.odczyt(A1, 500); ref2 = ADCTouch.odczyt(A2, 500); ref3 = ADCTouch.odczyt(A3, 500); ref4 = ADCTouch.odczyt(A4, 500); ref5 = ADCTouch.odczyt(A5, 500);
}
pusta pętla () {
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);
total1 -= ref0; total2 -= ref1; total3 -= ref2; total4 -= ref3; total5 -= ref4; total6 -= ref5; // // Serial.print(suma1 > th); // Serial.print(suma2 > th); // Serial.print(suma3 > th); // Serial.print(suma4 > th); // Serial.print(suma5 > th); // Serial.println(suma6 > th);
// Serial.print(całkowita1); // Serial.print("\t"); // Serial.print(ogółem2); // Serial.print("\t"); // Serial.print(ogółem3); // Serial.print("\t"); // Serial.print(ogółem4); // Serial.print("\t"); // Serial.print(ogółem5); // Serial.print("\t"); // Serial.println(ogółem6); if (suma1 > 100 && suma1 > th) { mójMP32.play(1); // Serial.println("o1"); }
if (suma2 > 100 && suma2 > th) { mójMP32.play(2); //Serial.println("o2"); }
if (suma3 > 100 && suma3 > th) {
mójMP32.play(3); //Serial.println("o3");
}
if (suma4 > 100 && suma4 > th) {
mojeMP3.play(1); //Serial.println("o4");
}
if (suma5 > 100 && suma5 > th) {
mojeMP3.play(2); //Serial.println("o5");
}
if (suma6 > 100 && suma6 > th) {
mojeMP3.play(3); //Serial.println("o6");
} // nic nie rób delay(1); }
Krok 8: Załaduj dźwięki na karty pamięci
Teraz możesz załadować swoje dźwięki na karty micro SD
Format musi wynosić 44,1 kHz i 16-bitowy wav
Musisz wgrać 3 dźwięki na każdą kartę SD.
Krok 9: Interfejs
W tej chwili możesz już uruchomić swój sampler z padami w płytce drukowanej, ale nadal masz możliwość dostosowania go, wybierając obudowę i różne przedmioty lub metalowe powierzchnie, które będą używane jako czujniki.
W tym przypadku zastosowałem 3 główki nadgarstków, do których przykręciłem metalowe śruby jako metalowy dźwięk kontaktowy.
W tym celu połącz śruby z pinami płytki za pomocą kabli.
Możesz użyć dowolnego metalowego przedmiotu, taśmy przewodzącej lub poeksperymentować z atramentem przewodzącym.
Zalecana:
Pierwsze kroki z bezprzewodowymi czujnikami temperatury i wibracji dalekiego zasięgu: 7 kroków
Pierwsze kroki z bezprzewodowymi czujnikami temperatury i wibracji dalekiego zasięgu: Czasami wibracje są przyczyną poważnych problemów w wielu zastosowaniach. Od wałów maszyn i łożysk po wydajność dysków twardych, wibracje powodują uszkodzenie maszyny, wczesną wymianę, niską wydajność i poważnie wpływają na dokładność. Monitorowanie
Robot z wieloma czujnikami sterowany przez Wi-Fi: 6 kroków
Robot z wieloma czujnikami sterowany przez Wi-Fi: w tym samouczku pokażę, jak zbudować inteligentny łazik sterowany przez Wi-Fi za pomocą nodemcu. Dzięki temu łazikowi możesz obserwować parametry otoczenia robota (światło, temperatura, wilgotność) w rzeczywistym czas ze smartfonem.pierwszy zegarek
Jak zrobić automatyzację domu opartą na IoT za pomocą przekaźnika sterującego czujnikami NodeMCU: 14 kroków (ze zdjęciami)
Jak zrobić automatykę domową opartą na IoT za pomocą przekaźnika sterującego czujnikami NodeMCU: W tym projekcie opartym na IoT stworzyłem automatykę domową za pomocą modułu przekaźnika sterującego Blynk i NodeMCU z informacją zwrotną w czasie rzeczywistym. W trybie ręcznym tym modułem przekaźnikowym można sterować z telefonu komórkowego lub smartfona i przełącznika ręcznego. W trybie automatycznym ten inteligentny
Próbnik kolorów: 4 kroki
Color Picker: etap 1Krok 1: pozyskiwanie składników Składniki: Esp. 32 (mikrokontroler) Pierścień niepikselowy 12 & 9 (światło pierścieniowe RGB)Czujnik koloru Bateria 3,7 V Przetwornik 3,7 V na 5 V Wyzwania: Uzyskanie dokładnych pomiarów komponentów Krok 2: Kodowanie Materiały: A
Generator muzyki oparty na pogodzie (generator Midi oparty na ESP8266): 4 kroki (ze zdjęciami)
Generator muzyki oparty na pogodzie (Generator Midi oparty na ESP8266): Cześć, dzisiaj wyjaśnię, jak zrobić własny mały generator muzyki oparty na pogodzie. Jest oparty na ESP8266, który jest trochę jak Arduino i reaguje na temperaturę, deszcz i intensywność światła.Nie oczekuj, że sprawi, że całe utwory lub akordy będą pro