Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 21 gru 2024, o 12:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 29 cze 2016, o 15:31 
Offline
Użytkownik

Dołączył(a): 25 sie 2014
Posty: 52
Pomógł: 0

Witam,
Od jakiegoś czasu próbuję pobawić się światełkami w rytm muzyki. Więc poczytałem trochę i stworzyłem coś takiego.

Obrazek usunięty - Różowo-zielony J.

Aktualnie testuję bez rezystorów 1K R10 i R8 przy lef/rigt_cannal_out
W temacie elektroniki nie jestem dobry więc może gdzieś tu jest błąd :)
Natomiast program wygląda tak.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ogólnie program ma działać tak aby pobierał wartość z ADC i według jakiegoś algorytmu wysyłał na PWM i płynnie migały ledy (tak wiem, że trzeba zastosować uśrednianie wyniku). Natomiast na początku spotkałem się z problemem takim, że dane jakie odbieram z ADC są jakieś dziwne. Po odczytaniu tych danych z UARTA widzimy, że nie zawsze cokolwiek czyta. Pokazują się 3-9 zera a później 1-5 jakiś normalnie wyglądające wartości. Przez te zera wynik nawet uśredniony jest mocno zaniżony i nigdy nie dostanę wartości maksymalnej - chyba że samemu zastosować progi?
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Teraz pytanie :) czy te wartości takie powinny być? Chodzi o to czy tych zer nie ma za dużo i jaki może być tego powód. Domyślam się że tak wygląda po prostu audio albo to tylko przemyślenia :) Próbowałem z kilkoma ścieżkami audio - techno, rap, bassy, i jakieś normalne zawsze podobnie jest z wartościami.
Takie wartości są wypisywane przy maksymalnej głośności i prawie zerowym oporze przy potencjometrze. Może tu chodzi o wzmocnienie jeszcze bardziej tego sygnału. W przypadku normalnej głośności wartości prawie zawsze są zerowe :(
Schemat wzmocnia audio był brany z projektu kolegi z formu : http://www.forum.atnel.pl/topic7026.html
Oraz drugie pytanie. W tym układnie jest wejście na minijacka a gdybym chciał zrobić jeszcze wyjście do np głośnika (wtedy ten układ jest pomiędzy źródłem dźwięku a głośnikiem). Czy do realizacji tego trzeba zastosować jakieś dodatkowe elementy czy po prostu łączę masę, lewy i prawy kanał?

Edit / dopiska :
Jeszcze mam problem z PWM typu "jak to zrobić". Pokazane jest to na schemacie przy wyjściach PWM, mam nadzieję, że jasno :)
Z góry dzięki uwagi , sugestie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2016, o 15:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Witaj,
że tak powiem, zacytuję klasyka ,po kliknięciu na schemat:
"ciemność widzę, widzę ciemność" (firefox zgłasza błąd ,nie pokazuje obrazka)
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2016, o 16:16 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3206
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Chrome też.

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2016, o 16:21 
Offline
Użytkownik

Dołączył(a): 25 sie 2014
Posty: 52
Pomógł: 0

Ja też pozwolę sobie zacytować :)
"Dziwne u mnie działa" Spróbuję może mniejszej rozdzielczości

Edit tamten miał 1000 dpi
Obrazek
teraz działa?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2016, o 20:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Tak teraz schemat da się otworzyć.
zumma napisał(a):
Od jakiegoś czasu próbuję pobawić się światełkami w rytm muzyki.
....
W temacie elektroniki nie jestem dobry więc może gdzieś tu jest błąd :)

Czyli coś w rodzaju cyfrowej iluminofonii ?
Nasuwają mi się dwie drogi;
- prosta ; aplikacja układu MSGEQ7 ( 7 pasm częstotliwości, temat poruszany na forum),
- trudna ; zastosowanie transformaty FFT(też znajdziesz informacje),

Tak w skrócie ,aby migać światełkami w rytm muzyki ,należy "wyłapać " częstotliwości które Cię interesują i na podstawie ich amplitudy animować te światełka jak sobie życzysz.

Zaprezentowany kod z grubsza co 130ms odczytuje wartość na wejściu ADC i wysyła na UART. Trochę mało informacji aby uP miał jak migać tymi światełkami.
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2016, o 22:41 
Offline
Użytkownik

Dołączył(a): 25 sie 2014
Posty: 52
Pomógł: 0

Odnośnie tych 130ms to jest po to żebym mógł się odczytać danych w terminalu bo za szybko leciały.
Nie jestem pewien czy cyfrowa iliminofonia to jest właśnie to czego szukam jednak od czegoś trzeba zacząć. Jak obejrzałem film z użyciem MSGEQ7 gdzie ktoś zrobił analizator widma to daje fajny efekt. Ja natomiast chciałbym użyć dźwięku do sterowania paskami LED w pokoju np podczas słuchania muzyki czy grania w jakąś szczelankę.
Tutaj są wyniki ADC gdzie max wartość to 1024. Po lewej stronie jest wynik uśredniony a po prawej prosto z ADC. Oraz na samym początku była muzyka jednak na normalnej głośności później musiałem zwiększyć głośność aby ADC cokolwiek widział
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Kod teraz wygląda tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2016, o 06:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

zumma napisał(a):
Nie jestem pewien czy cyfrowa iliminofonia to jest właśnie to czego...
Ja natomiast chciałbym użyć dźwięku do sterowania paskami LED w pokoju ...

Pozostaje zapytać ;
- jakie efekt/y chcesz uzyskać,
- w jaki sposób Twoje urządzenie ma "reagować" na muzykę.
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2016, o 07:55 
Offline
Użytkownik

Dołączył(a): 25 sie 2014
Posty: 52
Pomógł: 0

Ciężko mi nazwać te efekty. Dla różnego rodzaju muzyki zapewne muszę dobrać odpowiednią częstotliwość. Dla np muzyki gdzie jest dużo bassu inne częstotliwości niż dla muzyki gdzie głośność jest jednostajna i chciałbym aby światło jakos reagowało niż jednostajnie świeciło jak w wprzypadku aktualnej konfiguracji. Myślę, że musiałbym chyba zastosować ten układ z fft lub MSGEQ7



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2016, o 09:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Myślę ,że rozpoczęcie przygody z MSGEQ7 to dobry pomysł.
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2016, o 10:42 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Może takie coś? viewtopic.php?t=7026



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2016, o 13:55 
Offline
Użytkownik

Dołączył(a): 25 sie 2014
Posty: 52
Pomógł: 0

Nefarious19 napisał(a):
Może takie coś? viewtopic.php?t=7026

Właśnie od tego projektu zaczerpnąłem wiedzy. Linkowałem wyżej dokładnie to samo :) Jednak w tym przypadku mam kontrolę tylko i wyłącznie nad głośnością. A przy normalnej głośności ADC przy tym wzmocnieniu nic nie wykazuje. Trzeba by zastosować inny schemat lub użyć jak wyżej kolega podawał układu MSGEQ7. Tylko jest z nim taki problem, że w żadnym sklepie w mieście go nie ma, w ogóle pierwszy raz o czymś takim słyszeli. Więc trochę poczekam na przesyłkę.
Tak by mógł ktoś jeszcze wytłumaczyć jaka jest różnica między transformata FFT i MSGEQ7?
Czy lepiej będzie użyć FFT czy MSGEQ7? Jeśli chodzi o trudność to mogę się pobawić :) no chyba że na prawdę trochę jest zabawy a szczególnie z schematem, podpięciem i w ogóle. Ale jednak bardziej przekonuje mnie ten MSGEQ7 :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2016, o 14:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Układ możesz kupić np. w sklepie Gospodarza forum;
https://www.sklep.atnel.pl/pl/searchque ... url=MSGEQ7
O układzie MSGEQ7 przystępne informacje znajdziesz np. tu:
http://www.jarzebski.pl/arduino/kompone ... sgeq7.html

W skrócie , układ sprzętowo "wyłapuje" amplitudę dla 7 z góry ustawionych przez producenta częstotliwości. Tobie pozostaje z układu je odczytać i obrobić jak sobie życzysz.

W przypadku FFT masz wpływ jakie to mają być częstotliwości i ile ich ma być (oczywiście z zastrzeżeniem ,że uP się wyrobi z obliczeniami).
Na moje wyczucie ; zacznij od MSGEQ7 ,"wyciśnij koncepcyjnie" ile się da, a jak Ci będzie mało to wtedy FFT.
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2016, o 15:27 
Offline
Użytkownik

Dołączył(a): 25 sie 2014
Posty: 52
Pomógł: 0

Dzięki maverick_as za pomoc. Artykuł na pewno się przyda. Jednak z tego co się dowiedziałem aby rozróżniać kanał prawy od lewego potrzebuję dwóch takich robaków z pinami?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2016, o 16:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Jak chcesz rozróżnić kanały to oczywiście potrzebne będą 2 szt układu.
Wejścia STROBE i PULSE mogą być wspólnie sterowane przez 2 linie uP.
Wyjścia L i P kanału trzeba będzie podpiąć do różnych wejść ADC uP.
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 wrz 2016, o 08:20 
Offline
Nowy

Dołączył(a): 16 maja 2016
Posty: 24
Pomógł: 3

maverick_as napisał(a):
Nasuwają mi się dwie drogi;
- prosta ; aplikacja układu MSGEQ7 ( 7 pasm częstotliwości, temat poruszany na forum),
- trudna ; zastosowanie transformaty FFT(też znajdziesz informacje),


są też rozwiązania pośrednie, np. filtr pasmowo przepustowy:
- analogowy na wzmacniaczu operacyjnym + 2 kondensatory i 3 oporniki;
- cyfrowy - programowy;
w stosunku do MSGEQ7 rozwiązania mają:
zalety: masz pełna kontrole nad ilością filtrów ich częstotliwością środkowa i dobrocią
wady: więcej elementów/bardziej skomplikowany kod.regulacja wzmocnienia

I aby efekt wyglądał ładnie przydałby się kompresor dynamiki lub przynajmniej automatyczna.

btw nazwa MSGEQ7 jest myląca: jest "Seven Band Graphic Equalizer" i to w datasheet i na stronie producenta, a powinno być: "Seven Band Aodio Spectrum Analizer"



Ostatnio edytowano 14 wrz 2016, o 13:42 przez nemo, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 wrz 2016, o 08:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

maverick_as napisał(a):
Jak chcesz rozróżnić kanały to oczywiście potrzebne będą 2 szt układu.
Wejścia STROBE i PULSE mogą być wspólnie sterowane przez 2 linie uP.
Wyjścia L i P kanału trzeba będzie podpiąć do różnych wejść ADC uP.
Pozdr.


W Yellowbooku będzie właśnie ten scalak MSGEQ7 w jednym z projektów zastosowany i obsłużony w kodzie ;) a do niego troszkę ciekawych efektów, że tak przypomnę:


_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO