Dźwięki i ich możliwości w Bascom, Bascom SOUND.

5/5 - (2 votes)

Tym razem chciałem zwrócić uwagę na prostą możliwość generowania sygnałów dźwiękowych przez µC. W dodatku bez udziału dodatkowej zaawansowanej elektroniki, w postaci specjalizowanych układów scalonych czy też modułów. Jedynie niezbędne będą µC oraz głośnik małej mocy, no i oczywiście kawałek kodu.

Możliwość taką zawdzięczamy Bascom-owi i poleceniu Sound. Opis ten będzie po części prezentacją artykułu przedstawionego na witrynie MCS – Digital Melody Player.
W ten prosty sposób można sygnalizować w swoim projekcie różnymi tonami czy „melodiami” uczynnienie odmiennych funkcjonalności, działanie przycisków, wystąpienie różnych zdarzeń itp itd. Więc do dzieła 🙂 niech Bascom sound wyda. :mrgreen:

 Na uwagę zasługuje też fakt, że nie trzeba wcześniej przygotowywać próbek dźwięku, które były by niezbędne do odtwarzania i trzeba by je przechowywać w pamięci µC lub zewnętrznej dołączonej do układu. Ale każda instrukcja Bascom Sound użyta w kodzie generuje 30 bajtów binarki dla Bascom AVR.

W opisie instrukcji wyczytać można dwie uwagi:

  • dla rezonatorów taktujących zegar µC z wysoką częstotliwością liczby określające czas trwania impulsów (duration) i ich ilość (pulses) muszą mieć wysoką wartość,
  • instrukcja Sound przeznaczona jest do narobienia ociupinki hałasu, 😆 nie nadaje się do generowania precyzyjnych przebiegów.

Sprzęt.

Aby wszystko zagrało jak trzeba nie można zapomnieć o prawidłowym podłączeniu głośniczka do wybranego pinu µC. I tutaj przypomnieć można, że schemat zamieszczony przy opisie funkcji Bascom Sound jest najprostszym możliwym rozwiązaniem, niekoniecznie najlepszym.
Aby mieć możliwość wpływu na głośność odtwarzanych tonów (i dla świętego spokoju) najlepiej zastosować tranzystorek separujący pin µC, w roli wzmacniacza. Wynika to z faktu, że głośnik o małej impedancji np 8Ω przekroczy wielkość dopuszczalnego obciążenia portu wyjściowego. Pamiętać też trzeba, że głośnik jest obciążeniem indukcyjnym i w takim wypadku dodajemy diodę, jak przy cewce przekaźnika.

podpatrzony sposób zabezpieczenia układu sterującego głośnik Schemat z kawałkiem fotki przedstawia podpatrzony sposób zabezpieczenia układu, którego obciążeniem jest, a właściwie był głośniczek. Ponieważ układ jest dawcą organów, to w chwili obecnej dużo interesujących podzespołów już z niego znikło … Dodatkowo uwagę zwraca osobne zasilanie dla części wykonawczej i sterującej. To pierwsze, domyślam się, że było wyższe. Dla nas istotne są tranzystor Q1, dioda D6 i kondensator C27 ze schematu. Moim zdaniem jest to wzorowy przykład na sterowanie głośnikiem. Jakby nie było jest to rozwiązanie komercyjne  🙂

Oprogramowanie dźwięków.

Powyżej gotowa recepta z opublikowanego przykładu, dla obliczenia parametrów instrukcji Sound (Bascom AVR), z tabelą wyliczonych wartości dla rezonatora 8MHz. W przykładowym pliku autor opracowania zamieścił rozpiskę dla sporej ilości ciekawych melodii. Uważny czytelnik wypatrzy też zaprezentowane wzory na obliczenie parametrów dla dowolnego dźwięku, określonego skalą muzyczną nazywaną gamą.

Podobną funkcjonalność mamy w Bascom 8051. Tutaj również do dyspozycji jest polecenie Sound. Ponieważ ta wersja instrukcji nie jest odporna na przerwania, dodany został opcjonalny parametr blokujący wystąpienie przerwań na czas generowania impulsów przez instrukcję. Składnia: SOUND pin, duration, frequency [,NOINT]. Opracowano również nowszą wersję instrukcji SoundExt. Ta procedura w odróżnieniu od poprzedniej, po zakończeniu działania ustawia pin wyjściowy w stan wysoki, a przebieg generowany jest z wypełnieniem 50%. Trzeba pamiętać, że częstotliwość wyjściowa zależna jest od częstotliwości rezonatora kwarcowego. Generalnie zalecane jest by używać nowszej wersji polecenia generującego dźwięk.


Odmienny sposób – już bardziej wymagający, na generowanie dźwięków został przedstawiony na witrynie EvertDekker.com. Wymaga przygotowania próbek, które muszą być zapisane w pamięci EEPROM samego µC lub dołączonej. Tym sposobem stosunkowo niewielkim nakładem można zbudować na przykład układ gadający – odtwarzający ludzką mowę.  :mrgreen:
O ile rozwiązanie sprzętowe jest nieskomplikowane, o tyle sam program i sposób przygotowania dźwięków wymaga już pewnych nakładów pracy i wiedzy.

Otagowano , , , , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

czternaście − jeden =

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.