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



Teraz jest 29 kwi 2026, o 12:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 4 lip 2016, o 22:22 
Offline
Nowy

Dołączył(a): 20 cze 2016
Posty: 13
Lokalizacja: Opole
Pomógł: 0

Witam :), mam takie oto małe, bardzo dziwne pytanko:
Jeśli mamy taki sobie brzęczyk piezoelektryczny, to możemy sobie kontrolować jego częstotliwość "brzęczenia", przez co oczywiście wygrywać różne tony/dźwięki, a w dłuższej perspektywie całe piękne melodyjki. Moje pytanie natomiast jest takie, czy da się w jakiś sposób sterować nie jego częstotliwością, ale amplitudą? Oczywiście mam na myśli w jakiś sposób programowy. Na początku dla uproszczenia napiszę, że chodzi o sterowanie głośnością w jakiś płynny sposób w programie (ewentualnie potem będziemy rozwijać temat, bo główny cel jest zupełnie inny).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lip 2016, o 22:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Można sterować amplitudą tylko trzeba sobie falę zaprogramować (próbkę dźwiękową odtwarzaną w pętli) i odtwarzać ją za pomocą PWM modyfikując wysokość wierzchołków.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lip 2016, o 23:17 
Offline
Nowy

Dołączył(a): 20 cze 2016
Posty: 13
Lokalizacja: Opole
Pomógł: 0

A mógłbyś jakoś to wytłumaczyć więcej i w miarę prosty sposób? Jestem dopiero bardzo początkujący. Co to znaczy "zaprogramować falę"? I dlaczego to ma być odtwarzane w pętli? Byłbym wdzięczny za jasne odpowiedzi ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2016, o 07:16 
Offline
Użytkownik

Dołączył(a): 06 maja 2014
Posty: 415
Lokalizacja: Kraków
Pomógł: 26

Sterowanie częstotliwością odbywa się poprzez podawanie sygnału sinusoidalnego o zmiennej częstotliwości brzęczyk.
Sterowanie amplitudą odbywa się poprzez zmniejszanie / zwiększanie amplitudy tego sygnału sinusoidalnego.

Wyznaczasz sobie wartość próbek, które kolejno trzeba wystawić na DAC aby otrzymać z tego jeden okres funkcji sinus i następnie go powtarzasz w nieskończoność jeśli chcesz, żeby brzęczyk grał cały czas.
Ewentualnie można szukać jakichś rozwiązań pośrednich i uproszczeń, ale efekt też będzie nieco gorszy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2016, o 07:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Scynk napisał(a):
Jestem dopiero bardzo początkujący.

I obawiam się, że tu będzie największy problem. Musisz posiąść nieco wiedzy na temat zasad tworzenia dźwięku, budowy próbki, itp. Kolega wyżej napisał jak to mniej więcej wygląda. Szukaj pod hasłem np. "generowanie dźwięku PWM". Zabawa z PWM jest o tyle fajna, że na jednym pinie możesz uzyskać nawet kilka ścieżek dźwiękowych, po prostu przed modulacją PWM wystarczy je odpowiednio zmiksować operacjami logicznymi. Przykład: http://elm-chan.org/works/mxb/report.html

------------------------ [ Dodano po: 7 minutach ]

Aha, można jeszcze bez PWM się bawić w odtwarzanie ze zmienną amplitudą - http://www.romanblack.com/btc_alg.htm

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2016, o 20:58 
Offline
Nowy

Dołączył(a): 20 cze 2016
Posty: 13
Lokalizacja: Opole
Pomógł: 0

krzysssztof napisał(a):
Zabawa z PWM jest o tyle fajna, że na jednym pinie możesz uzyskać nawet kilka ścieżek


I tutaj właśnie kolega trafił w dziesiątkę :D Cały ten temat powstał tylko dlatego, że jak wspomniałem dopiero się uczę, i właśnie poznaję brzęczyki piezo. Umiem sterować częstotliwością (na razie pewnie w nie najlepszy sposób, bo wykorzystując opóźnienia), więc mogę sobie zrobić programik, który mi zagra jakąś melodyjkę. Ale jako że jestem "muzyczny" to chciałem zrobić coś ambitniejszego i zrobić melodyjkę na powiedzmy 2 czy 3 głosy. Normalnie musiałbym wykorzystać 2-3 brzęczyki. I wtedy właśnie wpadł mi do głowy genialny pomysł a mianowicie: "Czy da się jakoś zrobić tak, żeby na jednym brzęczyku wytworzyć dwa dźwięki jednocześnie?". Zabrałem się za realizację tego pomysłu, tylko od trochę złej strony. Pomyślałem sobie "skoro ze światłem to działa, to może z dźwiękiem też" :D I próbowałem to zrobić w ten spobób, że dwie częstotliwości (np. 880Hz i 700Hz) będę przełączać co np. 10ms, co w efekcie powinno dać dwudźwięk :D Nooo, jak się okazało niestety nie ;D Potem zacząłem trochę szukać w internecie od bardziej fizyczej strony, i dowiedziałem się, że jak chcę zrobić coś takiego, to musiałbym mieć falę "wypadkową" tych częstotliwości. Z testów w audacity wyszło mi np. coś takiego:
Obrazek

I dlatego spytałem czy da się jakoś sterować nie częstotliwością, ale amplitudą :)

Czyli podsumowując: jeśli bym chciał to zrobić, to polecacie jeśli dobrze zrozumiałem nie na generatorach piezo, tylko na jakimś zwykłym głośniku? I muszę trochę poczytać o generowaniu PWM? Dzięki za dotychczasowe zainteresowanie tematem, jak coś będę pisał dalej ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2016, o 21:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Scynk napisał(a):
nie na generatorach piezo, tylko na jakimś zwykłym głośniku?

Zdecydowanie...
W ogóle jakiekolwiek poważniejsze zabawy z dźwiękiem prowadzą do próbek/sampli, a zwykłe piiiip, to co najwyżej używane do sygnalizacji wciśnięcia klawisza. No dobra, nie tylko do klawisza - czasem jakąś prostą melodyjkę można zrobić na pipaniu:)

Scynk napisał(a):
I próbowałem to zrobić w ten spobób, że dwie częstotliwości (np. 880Hz i 700Hz) będę przełączać co np. 10ms, co w efekcie powinno dać dwudźwięk

Próbowałem podobnie w latach 90-tych na Commodore+4, ale w sumie sposób taki sprawdza się tylko przy symulacji akordu (np.typowego trójdźwięku) z odpowiednio dobranym czasie przerzucania kolejnych tonów. Brzmiało całkiem fajnie. W C64 to była norma. Zresztą to chyba ogólnie była wtedy norma :)

Aha, cytujący chyba Ci się pomylił w poście ;)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2016, o 03:14 
Offline
Użytkownik

Dołączył(a): 12 mar 2014
Posty: 266
Lokalizacja: Warszawa
Zbananowany użytkownik

Pomógł: 2

Generowanie tonów/melodyjek, to ciekawy temat, a i efekty fajne można uzyskać.

https://www.youtube.com/watch?v=p_bNXlIIGxw

_________________
Wysłane z Nokii 3310



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2016, o 20:42 
Offline
Użytkownik

Dołączył(a): 26 cze 2016
Posty: 186
Pomógł: 7

Scynk napisał(a):
Normalnie musiałbym wykorzystać 2-3 brzęczyki.


Czyli czujesz się na siłach zrobić to na 2, 3 wyjściach procka. Możesz po prostu te sygnały zsumować analogowo i będzie git.



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: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 7 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO