- Wymagany materiał
- Działanie czujnika dźwięku
- Schemat obwodu czujnika dźwięku
- Schemat obwodu muzycznej fontanny wody
- Programowanie Arduino Nano do tańczącej fontanny
Znajduje się tu kilka fontann, które bezwarunkowo tryskają wodą z ciekawymi efektami świetlnymi. Dlatego zastanawiałem się nad zaprojektowaniem innowacyjnej fontanny wodnej, która będzie reagować na muzykę z zewnątrz i rozpryskiwać wodę w zależności od uderzeń muzyki. Czy to nie brzmi interesująco?
Podstawową ideą tej fontanny wodnej Arduino jest pobranie sygnału wejściowego z dowolnego zewnętrznego źródła dźwięku, takiego jak telefon komórkowy, iPod, komputer itp., Samplowanie dźwięku i rozbicie go na różne zakresy napięcia, a następnie użycie wyjścia do włączenia różnych przekaźników. Najpierw użyliśmy modułu czujnika dźwięku opartego na mikrofonie pojemnościowym, aby wykonać na źródle dźwięku, aby podzielić dźwięki na różne zakresy napięcia. Następnie napięcie zostanie podane do wzmacniacza operacyjnego w celu porównania poziomu dźwięku z określonym limitem. Wyższy zakres napięcia będzie odpowiadał włącznikowi przekaźnika, który zawiera muzyczną fontannę działającą w rytmach i rytmach piosenki. Więc tutaj budujemy tę muzyczną fontannę za pomocą Arduino i czujnika dźwięku.
Wymagany materiał
- Arduino Nano
- Moduł czujnika dźwięku
- Moduł przekaźnika 12V
- Pompa prądu stałego
- Diody LED
- Przewody łączące
- Płyta Vero lub Breadboard
Działanie czujnika dźwięku
Moduł czujnika dźwięku jest prostą płytką elektroniczną opartą na mikrofonie elektretowym, używaną do wykrywania zewnętrznego dźwięku z otoczenia. Oparty jest na wzmacniaczu mocy LM393 i mikrofonie elektretowym, może służyć do wykrywania, czy nie ma dźwięku poza ustawionym limitem progowym. Wyjście modułu jest sygnałem cyfrowym wskazującym, że dźwięk jest większy lub mniejszy od progu.
Za pomocą potencjometru można ustawić czułość modułu czujnika. Wyjście modułu jest WYSOKIE / NISKIE, gdy źródło dźwięku jest niższe / wyższe niż próg ustawiony potencjometrem. Ten sam moduł czujnika dźwięku może być również użyty do pomiaru poziomu dźwięku w decybelach.
Schemat obwodu czujnika dźwięku
Jak wiemy, w module czujnika dźwięku podstawowym urządzeniem wejściowym jest mikrofon, który przekształca sygnały dźwiękowe na sygnały elektryczne. Ponieważ jednak wyjściowy sygnał elektryczny czujnika dźwięku ma tak małą wielkość, która jest bardzo trudna do przeanalizowania, zastosowaliśmy obwód wzmacniacza tranzystorowego NPN, który go wzmocni i doprowadzi sygnał wyjściowy do nieodwracającego wejścia Op- amp. Tutaj LM393 OPAMP jest używany jako komparator, który porównuje sygnał elektryczny z mikrofonu z sygnałem odniesienia pochodzącym z obwodu dzielnika napięcia. Jeśli sygnał wejściowy jest większy niż sygnał odniesienia, wówczas wyjście OPAMP będzie wysokie i odwrotnie.
Możesz śledzić sekcje dotyczące obwodów wzmacniacza operacyjnego, aby dowiedzieć się więcej o jego działaniu.
Schemat obwodu muzycznej fontanny wody
Jak pokazano na powyższym schemacie muzycznej fontanny, czujnik dźwięku jest zasilany napięciem 3,3 V Arduino Nano, a pin wyjściowy modułu czujnika dźwięku jest podłączony do analogowego pinu wejściowego (A6) Nano. Możesz użyć dowolnego z pinów analogowych, ale pamiętaj, aby zmienić to w programie. Moduł przekaźnika i pompa prądu stałego są zasilane z zewnętrznego zasilacza 12VDC, jak pokazano na rysunku. Sygnał wejściowy modułu przekaźnikowego jest podłączony do cyfrowego pinu wyjściowego D10 Nano. Jako efekt świetlny wybrałem dwa różne kolory diod LED i podłączyłem je do dwóch cyfrowych pinów wyjściowych (D12, D11) Nano.
Tutaj pompa jest podłączona w taki sposób, że po podaniu impulsu WYSOKI na wejście modułu przekaźnika, styk COM przekaźnika jest podłączony do styku NO, a prąd dostaje ścieżkę obwodu zamkniętego i przepływa przez pompę do aktywować przepływ wody. W przeciwnym razie pompa pozostanie WYŁĄCZONA. Impulsy HIGH / LOW są generowane z Arduino Nano w zależności od wejścia dźwięku.
Po wlutowaniu całego obwodu na perfboard będzie wyglądał jak poniżej:
Tutaj użyliśmy plastikowego pudełka jako pojemnika na fontannę i mini pompy 5 V do działania jako fontanna, używaliśmy tej pompy wcześniej w robocie przeciwpożarowym:
Programowanie Arduino Nano do tańczącej fontanny
Pełny program tego projektu fontanny Arduino znajduje się na dole strony. Ale tutaj wyjaśniam to tylko częściami dla lepszego zrozumienia:
Pierwsza część programu polega na zadeklarowaniu zmiennych niezbędnych do przypisania numerów pinów, których będziemy używać w kolejnych blokach programu. Następnie zdefiniuj stałą REF o wartości, która jest wartością odniesienia dla modułu czujnika dźwięku. Przypisana wartość 700 jest równoważną w bajtach wartością wyjściowego sygnału elektrycznego czujnika dźwięku.
czujnik int = A6; int redled = 12; int greenled = 11; int pump = 10; #define REF 700
W funkcji void setup wykorzystaliśmy funkcję pinMode do przypisania kierunku danych INPUT / OUTPUT pinów. Tutaj czujnik jest traktowany jako WEJŚCIE, a wszystkie inne urządzenia są używane jako WYJŚCIE.
void setup () { pinMode (czujnik, INPUT); pinMode (redled, OUTPUT); pinMode (greenled, OUTPUT); pinMode (pompa, WYJŚCIE); }
Wewnątrz nieskończonej pętli wywoływana jest funkcja analogRead , która odczytuje wejście wartości analogowej z pinu czujnika i zapisuje ją w zmiennej sensor_value .
int sensor_value = analogRead (czujnik);
W końcowej części pętla if-else jest używana do porównania wejściowego sygnału analogowego z wartością odniesienia. Jeśli jest większa niż wartość zadana, wszystkie piny wyjściowe mają wyjście HIGH, tak że wszystkie diody LED i pompa są aktywowane, w przeciwnym razie wszystko pozostaje WYŁĄCZONE. Tutaj również daliśmy opóźnienie 70 milisekund, aby odróżnić czas włączenia / wyłączenia przekaźnika.
if (wartość_czujnika> REF) { digitalWrite (zielony, WYSOKI); digitalWrite (redled, HIGH); digitalWrite (pompa, WYSOKA); opóźnienie (70); } else { digitalWrite (zielony, NISKI); digitalWrite (redled, LOW); digitalWrite (pompa, LOW); opóźnienie (70); }
Tak działa ta sterowana Arduino fontanna wodna, pełny kod z działającym filmem znajduje się poniżej.