VU Meter – czyli diody świecące w rytm muzyki

VU Meter – czyli diody świecące w rytm muzyki

Dziś pragnę wam przedstawić poradnik na bardzo prosty wskaźnik wysterowania “VU Meter” oparty na Arduino.
Czemu akurat Arduino a nie prosty schemat oparty o układy LM3914, LM3915 lub LM3916?
Ponieważ dzięki Arduino to od nas zależy jak diody mogą świecić i możemy ten układ udoskonalić o dodatkowe funkcje.
Oczywiście w ramach nauki programowania, modyfikując kod :)

vu meter

vu meter   wzmacniacz

Co będzie nam potrzebne?

  • Arduino
  • Płytka stykowa
  • 10 szt. diód LED (dyfuzyjnych)
  • 10 szt. rezystorów 220Ω
  • 1 szt. rezystor 2.2kΩ lub 4,7kΩ
  • 1 szt. kondensator 1μF
  • 1 szt. kondensator 10μF
  • Układ LM386
  • Mikrofon elektretowy

Schemat połączeń na płytce stykowej

Biegunowość mikrofonu – masa (GND) jest zawsze w wyprowadzeniu które łączy się z obudową.

 

Schemat ideowy:

vu_meter_schemat

Jest to najbardziej uproszczony schemat wzmacniacza jaki znalazłem w sieci który działa całkiem nieźle :)

Aby można było ustawić czułość mikrofonu w miejsce rezystora możemy wstawić potencjometr 10KΩ

z_potencjometrem

 

Zalecam podłączenie Arduino pod zasilacz gdyż przy podłączeniu z USB wzmacniacz nie działa prawidłowo. Zapewne z powodu zbyt słabego napięcia.

 

Kod:

Aby zmienić tryb świecenia diód odkometujcie sobie tą część kodu:

Polecam zmienić:

na

aby polepszyć czułość.

 

Zobacz jak działa:

Zbudowałem taką oto obudowę do niego i fajnie się prezentuje :)

Na filmiku powstaje dziwne złudzenie że są tutaj 2 kanały STEREO ale tak naprawdę jest to jeden kanał MONO z mikrofonu :)

W końcowej fazie zmontowałem układ na płytce uniwersalnej i wykorzystałem Atmega8 (koszt 5zł.) Cały układ wyniósł mnie trochę drożej. Coś na oko 20-30zł.
Obudowa to już trochę ponad 100zł. bo wykorzystałem sklejkę dociętą w markecie :D Oczywiście półeczki wewnątrz sam musiałem dociąć bo zapłacił bym dużo więcej.

Ja na początku korzystałem z modułu płytki mikrofonu z wzmacniaczem z Nettigo http://nettigo.pl/products/92 którą również polecam ;)

Ocena: 4.69/5 (głosów: 55)

Podobne posty

114 komentarzy do “VU Meter – czyli diody świecące w rytm muzyki

    • Zmontowany układ z Atmega8 i spora ilość kabelków idąca do uniwersalnej płytki. Wszystko wchodzi na styk a po za tym te kolumny wchodzą do wewnątrz obudowy i są przykręcone od spodu.
      Jeden kwadracik = jedna dioda. A na jednym pinie wyjścia cyfrowego 2 diody (1 lewa strona, 1 prawa strona)
      O ile dobrze pamiętam Arduino ma max 40mA na jednym wyjściu cyfrowym dlatego max 2 diody wykorzystałem aby uprościć sobie :)

      Jak można również zauważyć ledy pomarańczowe i czerwone świecą ciemniej ponieważ nie znalazłem mocnieszych.

      Odpowiedz
        • Mam projekt 3D w Google SketchUp (najprostszy program do grafiki 3D) bo dokumentacje na papierze gdzieś posiałem.

          Ale mogę w wolnej chwili wymierzyć ;)
          A jak chcesz szybciej to masz projekt w SketchUp
          http://www15.zippyshare.com/v/10203307/file.html i wymierz sobie :)
          Wymiary tam podane są zgodne z rzeczywistością.
          Program SketchUP jest darmowy.

          Jedyne co pamiętam to że sklejka jest grubości 6,5mm.

          Odpowiedz
        • Sklejka 650mm grubości?? :D Projekt obudowy bardzo mi się podoba, bardzo chętnie coś takiego bym sobie poskładał. Jutro zobaczę sobie ten schemat w programie. Też pisałbym się na podanie jakiś wymiarów i na wszelkie techniczne rozwiązania których tu użyłeś przy budowie-z przodu jest matowa plexa? :) Efekt świetny!

          Odpowiedz
        • Hehe no machnąłem z tym 650mm :D
          Chodziło mi o 6,5mm
          Z przodu matowa plexa PLEXIGLAS® XT Weiß 01670 docięta na 7x7cm kawałki.
          Boki skręcane na wkręty (uprzednio nawiercone wiertłem ok. 1,5mm) do poszczególnych “półek” (po 2 z każdej strony).
          Listewki grubości 5x5mm przed plexą (klejone wikolem do sklejki).
          Plexa klejona klejem uniwersalnym polimerowym (łapana na dwóch brzegach po skosie aby nie zapaćkać całości klejem).
          W podstawie otwory na włącznik, gniazdo zasilania, potencjometr i przycisk funkcyjny (do poszerzenia o dodatkowe funkcje w przyszłości).
          Pod podstawą 4x podkładki plastikowe wbijane.
          Tył podstawy otwierany poprzez wysunięcie listewki (trzyma na ścisk).

          No i tak to mniej więcej technicznie wygląda :)

          Odpowiedz
      • LEDy nie są “na napięcie”, to są elementy prądowe – prąd przez nie płynący decyduje o natężniu emitowanego światła. Podczas przepływu tego prądu na diodach występuje spadek napięcia zależny od użytego materiału półprzewodnikowego (który przekłada się na barwę światła). To czy dioda świeci słabo czy mocno przy tych 20mA wynika z jakości, a jakość z producenta. Im lepsza dioda tym więcej kandeli można z niej wydusić. Nie ma to związku z żadnym napięciem, a już na pewno nie z napięciem 12V. Jasność diod można zwiększyć zasilając je impulsowo – ale to już inny temat.

        Odpowiedz
  • Fajny gadżet, ładnie wykonany.
    Ale brak normalnego schematu. Tutaj akurat jest prosto, ale przy bardziej skomplikowanym projekcie ten fritzingowy pop-art jest straszny do odczytania.

    Odpowiedz
    • Rozumiem ale dla mnie jako dla początkującego bardziej czytelne są te fritzingowe pop-art’y :) Wiem że jeśli był by to bardziej rozbudowany projekt to przydał by się również normalny schemat ale tutaj akurat wszystko widać co i jak podłączyć :)

      Odpowiedz
      • Co prawda nie miałem do czynienia z Fritzingiem osobiście ale na screenach widać że posiada on coś takiego jak Schematic View. Wystarczy poprzestawiać elementy aby wyglądało to po ludzku i wkleić w artykuł owy schemat. I już wygląda profesjonalniej.
        Też jestem amatorem, ale nie wracajmy do przedszkola. Zrobienie połączeń na płytce stykowej z diagramu jest bezproblemowe ale odtworzenie schematu z, często tragicznie poplątanej impresji, wyglądającej jak skrzyżowanie Warhola z Dalim, jest strasznie żmudne. Często nie widać też błędów, które na schemacie są widoczne gołym okiem!
        Napracowałeś się; obudowa, przynajmniej na filmie, jest ładna; musiałeś się naszukać układu jakiegoś wzmacniacza do mikrofonu.
        Będzie 5 gwiazdek jak będzie schemat.

        Odpowiedz
        • Proszę bardzo :)

          Początkowo było to na gotowym module mikrofonu ale w końcu znalazłem schemat układu wzmacniacza którego szukałem bo zależało mi aby był jak najprostszy (miał jak najmniej elementów i aby te elementy były łatwo dostępne)

          Odpowiedz
  • Bardzo trafiony projekt! Na prawdę efektowny. Mam pomysł jak można by rozwinąć projekt. Można by skonstruować 8 sztuk takich stojaczków i zrobić analizę widmową dźwięku :) Pisałem taki software na zaliczenie z cyfrowego przetwarzania sygnału. Choć Arduino raczej nie podołałby z mocą obliczeniową. Ale gdyby zaprząc do tego jakiś procesorek DSP… Tylko, że poziom skomplikowania rośnie… Z początku pomysł wydawał się fajny :D

    Odpowiedz
  • Pomiar napięcia na A0, a AREF nie podłączone do +5V na schemacie. Na szczęście płytki Arduino mają +5V na AREF podłączone. Powiedz tylko, czy w ostatecznym urządzeniu podłączyłeś, czy wisi w powietrzu?

    Odpowiedz
  • Ze wstępu wnioskuje, że można zrobić coś takiego na wspomnianych układach bez korzystania z Arduino. Mógłbym ktoś poratować jakimś schematem i powiedzieć który układ będzie najlepszy? Diodek potrzebowałbym 10-12 sztuk.

    Odpowiedz
    • Wpisz sobie w google nazwę tego układu i wyskoczy Ci milion schematów – te układy są do tego stworzone, to w zasadzie ich jedyne zadanie.

      Odpowiedz
  • Ja mam zastrzeżenie co do programu. Podobnie jak przy scalakach typu lm3915 diody przygasają, a ja chciałbym osiągnąć efekt świecenia diód w stylu 1 albo 0. Jak zmodyfikować Twój program aby to osiągnąć?

    Odpowiedz
    • Zaznaczam iż program nie jest mój. Znalazłem go na chińskiej stronie w takiej postaci jak tutaj jest.

      Znalazłem rozwiązanie :) Byłem ciekaw czemu część kodu jest zakomentowana i odkomentowałem to:

      Teraz jest chyba tak jak chciałeś :)

      Odpowiedz
  • Byłbym wdzięczny jakby ktoś mi doradził jak zamiast wzmacniacza mikrofonu podłączyć do Arduino kabel z wzmacniacza od głośników bo jakoś mi to nie wychodzi bo zazwyczaj przy zbyt dużej głośności, diody przestają świecić (rezystor 1K + potencjometr 10K). W schemacie zwykłego VU Metra jest to tak właśnie podłączone do LM3915. Dla chętnych zmontować układ bez arduino zamieszczam skan tego który również posiadam ;)

    http://krzxsiek.pl/AL-30.jpg

    Odpowiedz
    • Chyba nie wysłał mi się poprzedni komentarz.
      Sygnał pobieraj ze źródła a nie z kolumn.
      Zrób wzmacniacz ze schematu z datasheetu LM386. Podłącz arduino zamiast głośnika. Powinno działać na tym samym kodzie.
      Chociaż, jak ten twój wzmacniacz pracuje to nie mam pojęcia, skoro nóżka zasilania podciągnięta jest pod masę… Czyżby tylko jakieś dopasowanie impedancji?

      Odpowiedz
      • Szkopuł w tym że dźwięk idzie z komputera do głośników 5.1 (z 3 kabli) i raczej trudno od tej strony to podłączyć. Stereo było by prostsze do rozdzielenia :) Także jeśli już to musi to być z kabla do głośnika. Ja również nie wiem bo jest to według schematu znalezionego w sieci.

        Odpowiedz
        • Jeśli masz płytę główną z odpowiednią kartą dźwiękową to możesz wymusić aby oprócz dźwięku 5.1 na tylny panel szło niezależnie stereo na panel przedni (złącze audio na płycie głównej). Wtedy wpinasz się w to gniazdo i powinno grać jak trzeba.

          Odpowiedz
        • Mam kartę Asus Xonar DS która nie ma takiej opcji. Podczas przełączania słychać pyknięcie także pewnie przekaźnikiem to jeszcze w niej zrobili :D Dlatego właśnie ten sposób odpada.

          Odpowiedz
    • Tytuł w opisie na YouTube :P

      Floating Isle – 8Bit Traveller

      Jest to darmowy utwór z serwisu Jamendo na licencji CC bo nie chciałem dawać nic znanego aby mi nie zablokowali dźwięku lub filmiku jak to ostatnio dość często się zdarza.

      Odpowiedz
  • Mógłbym prosić o wytłumaczenie jak to podłączyć do ATMEGA8 po jej wcześniejszym zaprogramowaniu przez Arduino?
    Wg mnie wtedy dopiero tutorial będzie kompletny ;)

    Odpowiedz
  • Witam
    Mam pytanie.Czy dałoby się zrobić tak aby każda z kolumn reagowała na konkretne częstotliwości dźwięku czyli na przykład trzy kolumny stały by koło siebie i jedne migała w rytm basów, druga w rytm średnich tonów a trzecia wysokich? Coś tego typu co jest w winampie że jest tam kilka słupków i każda skacze pod wpływem innych częstotliwości?

    Odpowiedz
    • Trzeba zrobić filtry o przepustowościach jak Ci tam pasuje – coś na wzór zwrotnicy w kolumnach z tym że nie musiały by mieć tak dużych mocy.

      Odpowiedz
  • Fajny poradnik, ale mi by właśnie się przydał na jakimś prostym scalaku np. a277d gdyż akurat takie mam pod ręką, a tutka znaleźć nie mogę ;/

    Odpowiedz
  • Witam,
    u mnie cos nie działą jak powinno. Pierwsze moje Pytanie, na liscie masz podane 11 rezystorów 220 omów, a na schemacie widac 10 (gdzies pominąłem?) na liscie tak samo jest 1 szt. rezystor 2.2KΩ a na schemacie płytki stykowej widze ze go nie ma, a jest 4,7KΩ (ja u siebie zastosowalem ten 2,2KΩ)
    Wiec tak, po podłaczeniu poprzez Arduino świeca mi ciagle 9 diód, a gdy dam zasilanie z Zasilacza (9v, 1A) to nic nie swieci (tylko na płytce ON).
    Druga sprawa gdy zamiast rezystora dam Potencjometr 10K i zasilanie z Arduino to gdy przekrece w lewo to swieca sie wszystkie diody cały czas bez muzyki, gdy dam potencjometr mniejwiecej na połowe, to’jakos’ działa wszystko lecz nie tak jak powinno, nie tak doskonale jak na filmiku wyzej. A gdy dam na maxa w prawo to nic sie nie dzieje. A gdy podłaczezasilacz nic sie nie dzieje. Troche zamotałem, wiec przepraszam.
    Pozdrawiam Michał

    Odpowiedz
    • Aj pomyłka w tekście. 10szt. 220 i 1szt. 4,7k.
      Co do działania potencjometru to pokombinuj z jego ustawieniem i resetuj układ (przyciskiem reset lub odłącz i podłącz zasilanie) po tym jak przestawisz aż wpadniesz na właściwe ustawienie.

      Przyznam że również miałem kłopoty z działaniem tego ale w końcu trafiłem na dobre ustawienie potencjometru.

      Odpowiedz
  • Dodam, że jeśli damy zamiast mikrofonu połączenie do jack’a, to niepotrzebne są jakiekolwiek wzmacniacze, mogę dla chętnych zamieścic filmik pokazujący działanie mojej wersji, ma tam po prostu podłączenie do kompa na wyjściu, idze do wejscia analogowego arduino, na razie korzystam z 8 diód led, ale planuję zrobienie graficznego equalizera, obejmującego ok 10 albo 8 scieżek :>

    Odpowiedz
  • a mam pytanie, bo jestem bardzo początkującym i nie jestem do końca w stanie zdefiniować w jakim to jest języku :P bo chyba nie “C”, “asembler” też odpada, a układ już mam zmontowany ale brak programu… :/ programuję z USBasp jeśli to ma znaczenie,
    Pozdrawiam

    Odpowiedz
        • kurde mam jakiś problem z tym … wyskakuje mi błąd “avrdude: stk500_getsync(): not in sync: resp=0x00” nie wiem o co chodzi programuję USBasp. W programie zmieniłem “programator” na USBasp, kurcze nie wiem co zrobić teraz z tym…

          Odpowiedz
        • Musisz mieć coś źle podłączone. Na początek sprawdź czy masz dobry port COM ustawiony. Jeśli to nie to, to sprawdź czy na pewno wsystko masz dobrze podłączone. Wgrywałeś bootloader? Jeśli tak to nie dobrze bo on jest chyba wymagany tylko przy programowaniu przez Arduino.

          Odpowiedz
  • Witam,

    zrobiłem tak jak na schemacie i niestety mi nie działa. Po podłączeniu i wgraniu programu świeci się tylko 7 led, czasem 8, bo ósma miga.
    Całość mam podłączoną pod USB

    Odpowiedz
    • Jeśli zrobiłeś tak jak tutaj jest na płytce stykowej z zasilaczem podłączonym do Arduino to musi działać bo widzisz chyba na załączonym filmiku :) Zauważyłem że na schemacie zrobiłem małą gafę z masą zamiast zasilania na 6 nóżce LM386 ale już poprawiłem. Podłączyłeś z potencjometrem 10k czy rezystorem 4,7k lub 2,2k?

      Odpowiedz
  • pomęczę jeszcze pytaniami . . . Z czego są te białe “okienka”?? i czy mógłbyś może rozrysować całą konstrukcję i porobić zdjęcia jak to od środka wygląda, byłbym bardzo wdzięczny i Ci co w przyszłości odwiedza temat, zapewne też byliby wdzięczni. Odpisz na wszystkie pytania, dzięki :)

    Odpowiedz
    • Oj już nie za bardzo mi się chce to wszystko rozrysowywać. Co do okienek pisałem już trochę komentarzy wcześniej :) Matowa plexa PLEXIGLAS® XT Weiß 01670 docięta na 7x7cm kawałki.

      Projekt również zamieszczałem trochę komentarzy wcześniej http://www15.zippyshare.com/v/10203307/file.html

      Projekt w programie Google SketchUP, wymiary modelu mniej więcej zgodne z rzeczywistym bo przy wykonywaniu mogły nastąpić drobne odchylenia :) Program bardzo prosty w obsłudze także każdy powinien sobie poradzić ;)

      A w środku każdego kwadracika jest jedna “superjasna” dioda w kolorze jak widać na filmiku przymocowana do tyłu obudowy

      Odpowiedz
    • Rozumiem ale na papierze tego nie mam niestety. Może kiedyś w wolnej chwili to zrobię ale nie obiecuje bo aktualnie robię kolejny projekt na konkurs i próbuje skończyć artykuł o klonowaniu Arduino. Nie ma znaczenia jakiego Arduino będziesz używał aby tylko było na 5V i zasilane zasilaczem bo ten wzmacniacz do mikrofonu wariował przy zasilaniu z USB :) Mój VU-Meter jest na klonie Arduino bo oczywiście szkoda drogiej płytki na takie proste urządzenie :)

      Co do klona to wzorowałem się tym projektem http://www.instructables.com/id/DIY-Arduino-or-The-DIY-Duino/ chociaż nie jest on zbyt prawidłowo wykonany i wykorzystałem Atmega8 bo jest tanie (5zł.) ale musisz się nauczyć programować USBasp bo w przypadku Atmega328 wystarczy zaprogramować w Arduino i przełożyć procesor Atmega328 do klona a Atmega8 już trzeba zaprogramować programatorem albo bawić się w programowanie przy pomocy Arduino ale to więcej nerwów niż z USBasp :D

      Odpowiedz
      • “Atmega328 wystarczy zaprogramować w Arduino i przełożyć procesor Atmega328” tego nie rozumiem programuje arduino i wtedy programuje sie atmega328 tak? i jeszcze cos robie zeby programowac atmege jeszcze??

        Odpowiedz
  • Witam.
    Troche czasu minęło i mam nadzieję że jeszcze ktoś tu zagląda.
    Mam pytanko. Robię taki projekt na zaliczenie i potrzebuje informacji jak rozbudować schemat na dwa kanały. podobnie jak u kolegi w filmiku.

    Odpowiedz
    • W tym projekcie jest to po prostu podpięcie następnych diod do pinów i przepisanie programu dla nich. Jeśli chcesz zrobić prawdziwe dwa kanały musiał byś w ten sam sposób podłączyć 2 mikrofon i puszczać z niego informacje do 2 zestawu diod

      Odpowiedz
        • Wiem że późno pisze ale już napiszę :D Wszystko będzie ok przy takim podłączeniu bo wydajność jednego pinu Arduino to 40mA a jednej diody zapewne 20mA. Tak samo mam podłączone w tej obudowie z “dwoma kanałami”

          Odpowiedz
    • Robię ten projekt z wykorzystaniem wejścia mini jack, nie mikrofonu, nie wiem po prostu jak rozdzielić sygnał na dwa kanały, żeby otrzymać faktyczny efekt stereo

      Odpowiedz
  • WItam podłączyłem wszystk zgodnie z instrukcją, jedak swieca sie 4 diody i to cały czas, robiłem to na Arduinio MEGA 2560. Jaka jest tego przyczyna?

    Odpowiedz
  • Mam pytanie, wyczytałem, że tak zaprogramowaną ATmegę328 można wyjąć z Arduino i przełożyć na płytkę, tylko pozostaje pytanie, czy będę potrzebne jakieś dodatkowe elementy?

    Odpowiedz
  • mam pytanie, zrobiłem ten układ podpiołem pod zasilacz 7V 300mA i diody co kilka sekund migają. jaka jest tego przyczyna?

    Odpowiedz
  • Dlaczego akurat LM386 (wzmacniacz głośnikowy), a nie wzmacniacz operacyjny? Wzmacniacz operacyjny ma większe wzmocnienie w otwartej pętli (możliwość zwiększenia zakresu dynamiki wskaźnika), a przede wszystkim większą rezystancję wejściową (a przecież przy podłączaniu elektreta ta powinna być jak najwyższa).

    Odpowiedz
  • Cześć, mam 3 diody i chciałbym sobie zrobić coś na kolorofon. Czyli, że np. czerwona dioda mruga tylko na basy (w zależności od siły sygnału świeci jaśniej) a pozostałe na inne częstotliwości. Wie ktoś jak mógłby wyglądać kod do arduino? Film poglądowy jak bym chciał żeby się zapalało: https://www.youtube.com/watch?v=9W_stHPKyd0

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?