Google+ Start   |   E-mail   |   Newsletter:

AVR WAV Player Recorder

AVR WAV Player Recorder to zupełna nowość na rynku tego typu modułów w Polsce i nie tylko.

Właściwości i zalety:

  • Odtwarzanie dowolnej długości plików dźwiękowych WAV
  • Nagrywanie dźwięków za pomocą wbudowanego mikrofonu do plików WAV (które natychmiast można odtworzyć w urządzeniu lub w komputerze)
  • Jakość odtwarzania dźwięków porównywalna z odtwarzaczami MP3
  • Możliwość używania kart pamięci do zapisu i odczytu zarówno w urządzeniu jak i w komputerach PC
  • Oprogramowanie konfiguracyjne na PC (łączność radiowa przez Bluetooth lub kablowa RS232)
  • Możliwość zdalnego sterowania za pomocą typowego pilota podczerwieni (standard RC5) lub RS232 i Bluetooth (bezprzewodowo)
  • Współpraca z telefonami komórkowymi przez Bluetooth
  • Odtwarzanie plików WAV stereo z częstotliwością próbkowania max do 22 kHz, lub mono do 44 kHz.


Dla kogo jest ten moduł (zestaw ewaluacyjny) ?

  • jeśli budujesz inteligentny system mikroprocesorowy możesz go wzbogacić o dowolne komunikaty głosowe
  • możesz wykorzystać moduł jako zestaw uruchomieniowy do książki pt: "Język C Pasja programowania mikrokontrolerów 8-bitowych", gdyż można w oparciu o niego wykonać cały szereg ciekawych ćwiczeń opisanych w książce a związanych z obsługą audio, jednocześnie ucząc się we własnym zakresie tworzyć tego typu aplikacje
  • wysoka jakość (wbudowany 16-bitowy przetwornik DAC) umożliwia zastosowanie komunikatów głosowych dla najbardziej wymagających projektów przy minimum prostoty wykonania, nakładu pracy i kosztów
  • budowa własnego prostego dyktafonu czy też nagrywania bezpośrednich komunikatów także nie nastręczy większych problemów.


Po raz pierwszy wzbogacono taki moduł o możliwość zapisu/nagrywania dźwięku bezpośrednio na kartę pamięci SD i to bezpośrednio do pliku WAV, stąd w nazwie "Recorder". Jest to pionierskie rozwiązanie o tyle, że firma Atnel, rozszerzyła zdecydowanie możliwości dotąd spotykanych modułów dźwiękowych opartych na niewielkich mikrokontrolerach 8-bitowych AVR, poprzez zastosowanie wysokiej jakości przetwornika cyfrowo analogowego DAC 16, o rozdzielczości 16 bitów. Mowa tu o specjalizowanym układzie scalonym TDA1543. Do tej pory podobne układy konkurencyjne bazowały i nadal wykorzystują tylko sygnał PWM do generowania dźwięków. Daje to oczywiście pewne możliwości, jednakże okazuje się, iż wcale niewiele większym kosztem można uzyskać po stokroć lepszą jakość odtwarzanych dźwięków, która porównywalna jest już z typowymi odtwarzaczami MP3. Można zadać sobie pytanie, dlaczego w ogóle zajmować się budową i oprogramowaniem takich urządzeń, gdy na rynku dostępne są tanie i gotowe niewielkie odtwarzacze MP3, które można z powodzeniem próbować adaptować do własnych zastosowań? Odpowiedź na to wydaje się być oczywista.

 

  1. Odtwarzacze MP3 trzeba adaptować zamiast użyć w dowolny sposób
  2. Tworząc własne nawet niewielkie serie urządzeń trzeba się liczyć z brakiem powtarzalności w związku z tym, iż dany model MP3-jki, będzie dostępny często w małych partiach i okresowo
  3. Niejednokrotnie adaptacja, będzie wymagała znacznej rozbudowy własnego projektu co w efekcie znacznie może podrożyć i przewyższyć koszty prezentowanego tu rozwiązania
  4. Mając możliwość zbudowania takiego urządzenia zupełnie od podstaw i ze zrozumieniem, możliwości są już ograniczone tylko przez wyobraźnię konstruktora


 

Filmy instruktażowe



Biorąc pod uwagę powyższe przygotowanie projektu w oparciu o tani (często pochodzący z wyprzedaży) odtwarzacz MP3, może się okazać czasochłonnym i niepowtarzalnym projektem, któremu jedynie towarzyszy satysfakcja z samodzielnego wykonania urządzenia do własnych celów. Tymczasem, prezentowane rozwiązanie dzięki książce naszego wydawnictwa, pt: "Język C Pasja programowania mikrokontrolerów 8-bitowych" pozwala w zupełności opanować tworzenie i budowę tego typu urządzeń w bardzo prosty sposób nie tylko od strony elektronicznej (o czym można się przekonać patrząc na aplikację układów TDA1543) ale także od strony programistycznej. Po raz pierwszy bowiem, autor książki przedstawił w otwarty sposób, możliwość oprogramowania takich lub podobnych własnych urządzeń opierając się TYLKO i wyłącznie na języku C, bez konieczności stosowania nawet jednej tzw. "wstawki asemblerowej". Jest to dużą zaletą, ponieważ pozwala praktycznie każdemu, nawet amatorowi/hobbyście na zbudowanie własnego odtwarzacza dźwięków wysokiej jakości w oparciu o niewielkie mikrokontrolery AVR. Książka zawiera bardzo ciekawe przykłady praktyczne, wraz z pełnymi kodami źródłowymi oraz opisami i bogatymi komentarzami na dołączonej płycie DVD. Już po dwóch miesiącach od ukazania się naszej pozycji na rynku wydawniczym, wielu czytelnikom z powodzeniem udało się wykonać opisane w niej ćwiczenia praktyczne. Poniżej prezentujemy uproszczony schematyczny opis możliwości modułu:

 Miło nam zaprezentować w tym miejscu także specjalną konstrukcję, można powiedzieć, płytkę ewaluacyjną do przeprowadzania wszelkich testów oraz prototypowania własnych pomysłów, a jednocześnie specjalnie dedykowaną do książki "Język C Pasja programowania mikrokontrolerów 8-bitowych". Posiada ona wbudowany mikrokontroler ATmega32 (wersja tylko z odtwarzaczem dźwięków) lub ATmega644PA (wersja pełna odtwarzacz i nagrywanie dźwięków do plików WAV). Poza tym, zestaw zaopatrzony jest w: układ TDA1543T (wersja SMD z uwagi na miniaturyzację całości), układ wzmacniacza głośnikowego/słuchawkowego TDA1308 (SMD) a także dwa układy wysokiej jakości wzmacniaczy operacyjnych, przeznaczonych do celów audio, NE5532. Jeden z nich służy jako przedwzmacniacz dla końcowego wzmacniacza głośnikowego, drugi natomiast, służy jako przedwzmacniacz mikrofonowy. Całość zasilana jest napięciem +5V w kilku opcjach. Opcje zasilania związane są z wykorzystaniem szczególnie przedwzmacniacza mikrofonowego. W przypadku chęci korzystania z nagrywania dźwięków, należy bowiem bezwzględnie odseparować nie tylko masy: analogową i cyfrową, co zapewnione jest w konstrukcji samej płyty PCB, ale także zasilanie. W związku z tym, występuje konieczność użycia dwóch stabilizatorów LDO typu LM1117-5.0. Dopiero taka konfiguracja zasilania zapewnia możliwość nagrywania dźwięków pozbawionych zakłóceń z części cyfrowej całego układu. Będzie można to przeanalizować dokładnie na schemacie modułu.

 

Schemat ATB WAV Player Recorder
Pobierz plik w wysokiej rozdzielczości - CZĘŚĆ 01 Pobierz plik w wysokiej rozdzielczości - CZĘŚĆ 02

Jak widać ze schematów, prezentowana konstrukcja rzeczywiście może pełnić rolę zestawu ewaluacyjnego nie tylko na potrzeby wykorzystania opisanych w książce właściwości audio, lecz także do wielu innych celów. Na płycie mamy bowiem możliwość podłączenia:

 

  1. Modułu Bluetooth ATB-BTM-222 do komunikacji bezprzewodowej
  2. Odbiornika podczerwieni TSOP 36kHz do komunikacji za pomocą pilotów IR
  3. Czujników temperatury 1wire typu DS18B20
  4. Wyświetlaczy alfanumerycznych LCD (standardowo 2x16)
  5. Przekaźników lub mikroprzełączników na liniach I/O


ZASILANIE: z uwagi na dosyć wysokie wymagania odnośnie jakości zasilania w przypadku chęci skorzystania z opcji nagrywania dźwięków, moduł można zasilać na trzy różne sposoby, w zależności od potrzeb. Pierwsza i najprostsza wersja przeznaczona jest do szybkiego przetestowania urządzenia w przypadku jeśli nie posiadamy opcjonalnego wyposażenia w postaci specjalnej wersji przetwornicy ATB-PWR3 z napięciem wyjściowym ok +6,8V. Każdy wariant zasilania wiąże się z ustawieniem odpowiednich zworek SMD znajdujących się na płycie PCB. Jednak ustawienie wiąże się z tym, iż taką zworkę SMD należy po prostu zlutować niewielką kroplą cyny lub tę cynę zdjąć za pomocą np plecionki. Operacje te należy wykonywać bardzo ostrożnie, tak aby nie przegrzać padów SMD, gdyż grozi to ich fizycznym uszkodzeniem.

WARIANT I
Przewiduje zasilanie całego modułu jednym dobrze stabilizowanym zewnętrznym napięciem +5V, które można doprowadzić wprost do złącza śrubowego znajdującego się w module. Niestety stosując takie rozwiązanie a szczególnie słabej jakości zasilacze zewnętrzne +5V nie należy oczekiwać najlepszych parametrów nawet samego odtwarzania dźwięków. Trzeba wziąć pod uwagę że na przewodzie zasilającym mogą wystąpić jeszcze spadki napięcia, w związku z czym moduł przy zasilaniu napięciem +4,5V będzie działał lecz usłyszymy nieprzyjemne dla ucha dźwięki, szumy czy brzęczenie w głośnikach. Zaleca się ew podłączenie pewnego zasilania +5V o wydajności prądowej co najmniej 600 mA, w takim przypadku. Poniżej przedstawiamy poglądowy rysunek, na którym można dokładnie obejrzeć, które zworki powinny być zwarte a które nie. W tym wariancie nie stosujemy żadnej przetwornicy zasilania ani stabilizatorów liniowych, dlatego te elementy są na schemacie skreślone czerwonym krzyżykiem.
 

I wariant zasilania
pobierz rysunek w wysokiej rozdzielczości


WARIANT II
Przewiduje wykorzystanie do zasilania całego modułu przetwornicy ATB-PWR3 z napięciem wyjściowym +5V. Opcja ta daje nam pewność wysokiej jakości zasilania +5V dla zasilania modułu, oraz możliwość stosowania szerokiego zakresu napięć na wejściu od +8V do +20V. Przy czym można wtedy zasilać moduł z dowolnego nawet niestabilizowanego zasilacza. Jednak napięcie musi być wyprostowane i nie musimy się obawiać o to czy będzie na pewno +9V czy +12V czy np +16V. Jednak w tej wersji nadal będą lekkie kłopoty z jakością nagrywanych dźwięków z mikrofonu. Z tego wariantu korzystają osoby, które chcą wykorzystywać moduł tylko i wyłącznie do odtwarzania dźwięków. Każdy wariant zasilania z przetwornicą ATB-PWR3, umożliwia wykorzystanie programowego wyłączania zasilania do modułu z poziomu programu w mikrokontrolerze. Ma to niebagatelne znaczenie, podczas wykorzystywania urządzenia przy zasilaniu bateryjnym (akumulatorowym) np. w aucie. (komunikaty głosowe). Dzięki temu wyłączanie zasilania może następować zdalnie lub automatycznie, a jednocześnie uzyskamy zabezpieczenie akumulatora przez rozładowaniem. Poniżej przedstawiamy rysunek poglądowy z informacją o tym, które zworki powinny być zwarte a które nie:

 

II wariant zasilania
pobierz rysunek w wysokiej rozdzielczości



WARIANT III - prawidłowa jakość nagrywania dźwięków z mikrofonu.
Jest to opcja wymagająca pełnego rozdzielenia zasilania +5V na dwie niezależne gałęzie. Jedna do części cyfrowej oraz druga do części analogowej. Dopiero taka konfiguracja zasilania wraz z odpowiednim rozprowadzeniem masy analogowej na płycie PCB umożliwia uzyskanie najlepszej jakości nagrywanych dźwięków z mikrofonu pojemnościowego podłączonego do modułu. Na płycie PCB muszą znaleźć się dwa stabilizatory LDO typu LM1117-5.0. Aby uniknąć nagrzewania się tych stabilizatorów warto zasilać je niewiele większym napięciem niż 5V. W tym celu można użyć albo specjalnej wersji przetwornicy ATB-PWR3 z napięciem wyjściowym +6,8V lub zewnętrznego zasilacza (najlepiej stabilizowanego) również o napięciu ok +7-8V. W tym wariancie wszystkie zworki pozostają rozwarte (niezlutowane). Również ten wariant, przy wykorzystaniu przetwornicy ATB-PWR3 umożliwia sterowanie jej zasilaniem z poziomu programu w mikrokontrolerze. Opcje te zostaną szczegółowo omówione w dalszej części opisu. Poniżej rysunek:

 

III wariant zasilania
pobierz rysunek w wysokiej rozdzielczości

 
OPCJE MODUŁU:
Moduł ATB WAV Player Recorder może obsługiwać kilka różnych i opcjonalnych urządzeń WE/WY, w celu np zdalnej komunikacji przewodowej i bezprzewodowej, w celu komunikacji w podczerwieni, czy też wyświetlania danych na alfanumerycznym wyświetlaczu LCD 2x16, zgodnym ze sterownikiem HD44780. Poza tym moduł posiada zarówno wyjścia głośnikowe jako że znajduje się na jego pokładzie niewielki wzmacniacz mocy TDA1308, ale także wyjście audio małej mocy z przedwzmacniacza NE5532. Również mikrofon może być dołączany zewnętrznie, a można użyć dowolnego mikrofonu pojemnościowego. Poniżej prezentujemy dokładny opis wszystkich złączy modułu:

 

Dokładny opis złączy modułu
pobierz rysunek w wysokiej rozdzielczości



Do modułu playera można bez problemu podłączać głośniki pojedynczo (kanał L i R), ale można także podłączyć jeden głośnik w trybie monofonicznym, wystarczy podłączyć jego dwa przewody do dwóch skrajnych wyprowadzeń, dzięki czemu będziemy słyszeli w nim dźwięk zarówno z kanału lewego i prawego, jeśli odtwarzane dźwięki są stereofoniczne.

RECORDER:
Opcja nagrywania dźwięków wykorzystuje przetwornik analogowo cyfrowy ADC, wbudowany w mikrokontroler ATmega644PA, pracujący w jednym z trybów do wyboru. Można bowiem programowo skonfigurować urządzenie do pracy w trybie 10-bit lub 8-bit. Wszystkie próbki obojętnie czy 10- czy 8-bitowe są i tak przekształcane programowo do postaci 16-bitowej z uwagi na zastosowany przetwornik DAC (cyfrowo analogowy) w odtwarzaczu. To nie wszystkie parametry jakie można konfigurować jeśli chodzi o jakość nagrywania. Mamy bowiem do dyspozycji możliwość płynnego ustawiania częstotliwości próbkowania od 3 kHz do 44 kHz ! Należy jednak bezwzględnie pamiętać, że wpływ na jakość nagrywanego dźwięku mają same karty pamięci microSD. Nie chodzi tu jednak o ich model czy producenta ale o klasę szybkości, co wiąże się z możliwością uzyskiwania dużych transferów na magistrali SPI, podczas zapisu nagrywanych dźwięków w formacie PCM (WAV) na kartę. Domyślne ustawienia modułu to: częstotliwość próbkowania 9 kHz, (dźwięk tylko monofoniczny), ilość bitów w pojedynczej próbce 8 lub 16 (domyślnie 8), możemy także ustawiać preskaler dla przetwornika ADC (domyślnie 16). Wszystkie wspomniane parametry wraz z prędkością karty pamięci będą miały bezpośredni wpływ na jakość rejestrowanych dźwięków. Należy tu nadmienić, że aby uzyskać w miarę dobrej jakości dźwięk przy ustawionych domyślnie parametrach, należy użyć karty pamięci typu CLASS 10. Użycie kart np. CLASS 8 lub CLASS 4 albo jeszcze wolniejszych (tych najstarszych), będzie wymagało zmniejszenia parametrów nagrywania. Reasumując, należy sobie dobrać parametry do własnych potrzeb mając na uwadze posiadany typ karty oraz docelową jakość nagrywanych dźwięków.

STEROWANIE MANUALNE:
Moduł posiada wbudowane wyprowadzenia do podłączenia 10 przycisków za pomocą których można bezpośrednio odtwarzać tzw. pliki z efektami dźwiękowymi. Polega to na tym, iż na karcie pamięci należy przygotować folder o nazwie "FX", a w nim umieścić 10 plików dźwiękowych WAV o nazwach: 0.wav, 1.wav, 2.wav, 3.wav ..... aż do ostatniego o nazwie 9.wav. Każde wciśnięcie przycisku spowoduje natychmiastowe odtworzenie uprzednio przygotowanego w pliku dźwiękowego. Można np. przygotować sobie całą serię komunikatów głosowych do auta, i zamiast przycisków podłączyć czujniki. Dzięki temu uzyskać możemy komunikaty głosowe np. o: nie domkniętych drzwiach, o nie zapiętych pasach, lub przypomnienie o zapięciu pasów po włączeniu zapłonu i wiele innych. Wszystko zależy już tylko od własnej inwencji i wyobraźni. Naturalnie w przypadku montażu modułu w instalacji elektrycznej auta należy zadbać o optoizolację albo izolację galwaniczną sygnałów wejściowych, gdyż złącza przycisków wyprowadzone są bezpośrednio z mikrokontrolera.

ZDALNE STEROWANIE:
Moduł można sterować z zewnątrz na kilka różnych sposobów.

PODCZERWIEŃ:
Pierwszy podstawowy sposób to możliwość wykorzystania pilota podczerwieni pracującego w standardzie RC5. Pozwala on na sterowanie playerem typu: play/pause/stop/next odnośnie odtwarzania plików dźwiękowych WAV z karty pamięci. Poza tym, za pomocą klawiatury numerycznej można także wywoływać poszczególne dźwięki efektów przypisane poszczególnym przyciskom tak jak zostało to opisane wyżej przy sterowaniu manualnym. W trakcie rozwoju programów do zdalnego sterowania mogą się pojawiać nowe opcje. Jednocześnie w komputerze PC, o ile jest podłączony moduł jeszcze do komputera przewodowo lub bezprzewodowo, możemy odczytywać kody wciskanych klawiszy na pilocie oraz sterować przez podczerwień niektórymi funkcjami w komputerze. Np zdalne wyłączanie, ściszanie głosu, uruchamianie wybranych aplikacji itp.

RS232 / Bluetooth:
Moduł posiada wyprowadzenia do komunikacji RS232 w standardzie TTL (poziomy sygnałów 0-5V). Z uwagi na umożliwienie wykorzystania komunikacji bezprzewodowej zastosowano standard wyprowadzeń zgodny z modułem bluetooth firmy Atnel o symbolu ATB-BTM-222. Ten rodzaj komunikacji umożliwia o wiele szerszy zakres możliwości niż w przypadku podczerwieni. W tym celu przygotowane zostały dwa rodzaje programów, pozwalających na pełną zdalną obsługę nie tylko playera ale także możliwość zdalnej konfiguracji a także eksploracji plików na karcie pamięci SD. Podstawowy program został napisany na komputery PC, pracujący pod systemami typu Windows. Druga aplikacja powstała na telefony komórkowe pracujące pod kontrolą systemu Android a także Symbian. Aplikacje na telefony na dzień dzisiejszy oferują jednak nieco mniejsze możliwości niż program na PC. Poniżej kilka zrzutów ekranowych z aplikacji na PC dzięki której można zdalnie nie tylko sterować modułem ale także go konfigurować lub odczytywać dane z pilota a także przechwycić programowo ekran LCD i wyświetlać na nim własne dane nawet podczas odtwarzania muzyki:
 

Program do sterowania i konfiguracji na PC


Oprogramowanie na PC wciąż się rozwija i dla wszystkich posiadaczy modułów jest gratis łącznie z aktualizacjami jakie będą się pojawiały. Podobnie rzecz się ma z aplikacją na Androida. Poniżej wygląd pierwszej testowej aplikacji. Natomiast na Symbiana jeszcze jest w trakcie opracowania. Naturalnie połączenia z telefonów komórkowych dokonywane są poprzez Bluetooth przy użyciu modułu ATB-BTM-222.
 

Aplikacja sterująca na telefony z androidem


Sterowanie za pomocą komend AT.
Z omówionych wyżej sposobów komunikacji można korzystać dzięki temu iż moduł pozwala na komunikację i sterowanie za pomocą typowych poleceń AT. Można w celach testowych wydawać je nawet ze zwykłego terminala pod dowolnym systemem operacyjnym np Windows/Linux i inn. Dzięki pełnej dokumentacji poleceń AT służących do sterowania modułem, każdy jego posiadacz może napisać własną aplikację sterującą pracą modułu wg własnych życzeń. Można dzięki temu sterować w prosty sposób moduł z innego systemu mikroprocesorowego. Możliwość korzystania z komend AT pozwala na wykorzystanie tego sposobu sterowania i komunikacji dla programistów BASCOM. Poniżej opis zaimplementowanych komend AT.

Parametry transmisji RS232: 115200, 8, n, 1

 

Komendy AT
Komenda opis
AT może służyć do sprawdzenia czy moduł działa i prawidłowo odpowiada
ATE0 wyłącz echo
ATE1 włącz echo
ATI pokaż informację n/t wersji modułu
AT+RST? wykonaj programowy restart (potrzebne m.in gdy korzystamy z bootloadera)
AT+PLAY AT+PLAY=all - ta wersja polecenia umożliwia odtworzenie kolejno wszystkich plików WAV znajdujących się w folderze głównym karty pamięci
AT+PLAY=nazwa_pliku - podając nazwę pliku po znaku = możemy odtworzyć dowolny plik dźwiękowy WAV znajdujący się na karcie pamięci w dowolnym folderze, np AT+PLAY=/FX/3.WAV
AT+PAUSE wstrzymaj odtwarzanie pliku - pauza
AT+STOP zatrzymaj odtwarzanie pliku
AT+NEXT rozpocznij odtwarzanie kolejnego pliku (jeśli wcześniej użyliśmy polecenia AT+PLAY=all)
AT+LIST pobierz listę wszystkich plików i folderów na karcie pamięci SD
AT+FDEL AT+FDEL=nazwa - w ten sposób można kasować pliki lub foldery na karcie pamięci podając prawidłową nazwę do skasowania
AT+POFF wyłącz zasilanie modułu (przetwornicy), jeśli opcja jest dostępna
AT+RATE ustaw bitrate - parametr na potrzeby nagrywania dźwięków przez mikrofon (domyślnie 9000 Hz)
AT+REC rozpocznij nagrywanie dźwięku z mikrofonu do pliku (patrz AT+GCFG)
AT+PSNG podaj nazwę aktualnie odtwarzanego pliku dźwiękowego
AT+ULCD AT+ULCD=1 - przechwyć kontrolę nad wyświetlaczem LCD, AT+ULCD=0 zwróć kontrolę LCD do modułu
AT+LGOTO AT+LGOTO=y,x - ustaw kursor w określonym miejscu na LCD
AT+LSTR AT+LSTR=text_string - wyświetl dowolny string (łańcuch tekstowy) na wyświetlaczu LCD
AT+LCLS skasuj zawartość wyświetlacza LCD
AT+GCFG za pomocą tego polecenia można odczytać aktualną konfigurację modułu AT+GCFG=? Odczytane parametry pojawią się w kolejności:
sample_rate, sample_bytes_cnt, preskaler_adc, auto_rec_filename, user_lcd , DEV_NAME
AT+ADCPR ustaw wybrany preskaler ADC, dopuszczalne wartości 2,4,8,16,32,64,128 (domyślnie 16)
AT+BITPS ustaw ilość bitów w próbce 8 lub 16 (domyślnie 8)
AT+ARECN AT+ARECN=0 lub 1 - ustaw automatyczną zmianę nazwy nagrywanego pliku (domyślnie wyłączone = 0)
  Poniżej podgląd na żywo działających komend AT podczas pracy programu w zakładce TERMINAL
  Podobny efekt można uzyskać podłączając się do modułu za pomocą zwykłego terminala i wydając ręcznie polecenia AT

 
KLAWISZE STERUJĄCE MODUŁEM - PILOT RC5
Poniżej przedstawiam obrazek, na którym widać przyporządkowane w programie w mikrokontrolerze klawisze pilota RC5, służące do podstawowej obsługi modułu:

 

Mapa klawiszy pilota podczerwieni RC5 do sterowania modułu

 



KONWERSJA PLIKÓW DŹWIĘKOWYCH DO *.WAV
Istotnym elementem w opisanej procedurze uruchamiania modułu jest konwersja plików dźwiękowych do prawidłowego formatu WAV. Można znaleźć wiele różnych programów do konwersji plików: mp3, flac, ogg, wma, aac i.in na pliki dźwiękowe WAV. Jednym z godnych polecenia jest program "Nero WAV Editor". Należy otworzyć przy jego pomocy plik dźwiękowy który chcemy skonwertować i wybrać odpowiednie parametry związane z częstotliwością próbkowania, aby zapisać go w formacie WAV. Należy przy tym pamiętać, iż moduł nie będzie w stanie odtwarzać plików dźwiękowych WAV jeśli będą to pliki z próbkami przygotowanymi do odtwarzania z prędkością samplowania 44 kHz ! (stereo). Takie pliki również należy skonwertować do prędkości samplowania 22,050 kHz. Poniżej przykładowy obrazek z ustawieniami konwersji na potrzeby modułu:
 

Konwersja WAV w programie Nero WAV Editor


Fakt iż moduł nie potrafi poradzić sobie z plikami WAV zawierającymi samplowanie 44 kHz związany jest ze zbyt niską częstotliwością taktowania mikrokontrolera, jedynie 20 MHz. Aby umożliwić odtwarzanie również tych plików (w zasadzie wszystkich typowo dostępnych na komputerach PC) należałoby zwiększyć taktowanie mikrokontrolera do 27MHz. Jeśli użytkownik dokona własnoręcznie wymiany rezonatora kwarcowego na większy, może zwrócić się do naszej formy z prośbą o wsad do mikrokontrolera przygotowany dla tej właśnie częstotliwości. Należy także pamiętać o tym, że jeśli dokonamy konwersji pliku zawierającego samplowanie 44 kHz ale zmniejszymy ilość kanałów z dwóch (stereo) do jednego (mono), oraz ilość bitów w próbce z 16 do 8, wtedy plik zostanie odtworzony nawet przy fabrycznie zamontowanym rezonatorze kwarcowym 20 MHz. Dla porównania odtwarzanie monofonicznych dźwięków przy samplowaniu 44 kHz z próbkami 16-bitowymi wymaga już, minimum, taktowania 24 MHz. W opisanych wyżej przypadkach dokonujemy oczywiście przetaktowania mikrokontrolera, jednak to nie wpływa na jego żywotność czy też możliwość uszkodzenia. Jedynym efektem ubocznym mogłoby być nieprawidłowe działanie podczas korzystania z wewnętrznej pamięci EEPROM.

 



BASCOM
Moduł może być obsługiwany za pomocą prostych i opisanych wyżej poleceń, z powodzeniem przy pomocy dowolnego mikrokontrolera czy też języka programowania, nawet Bascoma. Poniżej prezentujemy możliwość wysyłania poleceń AT do modułu za pomocą Bascoma. Sprowadza się to do prostego podania poleceń "Print" po których w cudzysłowach podajemy komendy zgodnie z opisem w tabeli wyżej. Należy pamiętać jedynie o tym aby dobrać odpowiednią częstotliwość taktowania w celu uzyskania poprawnej prędkości transmisji 115200 bps. W tym celu jak widać poniżej w kodzie, zastosowano zewnętrzny rezonator kwarcowy 11,0592 MHz i skonfigurowano prędkość 115200. Należy pamiętać także iż wyboru taktowania w postaci zewnętrznego rezonatora kwarcowego należy dokonać za pomocą ustawienia odpowiednich Fusebitów w mikrokontrolerze. W celu zapewnienia najlepszej współpracy z modułem zalecamy korzystanie z zewnętrznego rezonatora, ale wartości taktowania mogą być także inne. Warto jednakże dobrać rezonatory "przyjazne dla RS232" o wartościach np: 1,8432 MHz, 3,6864 MHz, 7,3728 MHz, 11,0592 MHz, 14,7456 MHz lub 18,432MHz

Przykładowe wykorzystanie środowiska BASCOM do sterowania modułem
 
$regfile = "m8def.dat"            ' procesor ATmega8

$crystal = 11059200               ' taktowanie zewn. kwarc 11,0592 MHz

$baud = 115200                    ' prędkość baudrate 115200 bps


Print "AT+PLAY=all"               ' odtwarzaj wszystkie utwory po kolei

Print "AT+PLAY=demo.wav"          ' odtwórz plik o nazwie demo.wav

Print "AT+NEXT"                   ' zacznij odtwarzać następny plik WAV

Print "AT+STOP"                   ' zatrzymaj odtwarzanie

Print "AT+PAUSE"                  ' wstrzymaj odtwarzanie pliku

Print "AT+ATI"                    ' pobierz informacje n/t urządzenia

 Uwaga! wgrany wsad do procesora nie jest przeznaczony do użytku komercyjnego, w związku z tym, podczas startu urządzenia z głośników wydobywa się głos wypowiadający formułkę: "www.atnel.pl". Kolejną rzeczą jest to, ży bezwzględnie umieścić w folderze głównym, dwa pliki które znajdują się poniżej w spakowanym archiwum ZIP:

POBIERZ PLIKI

ikona Strona główna ikona O nas ikona Wydawnictwo ikona Elektronika ikona Oprogramowanie ikona Kursy ikona Nowości ikona SKLEP ikona FORUM ikona Kontakt ikona Polityka Prywatności Cookie

ATNEL Nowoczesne Rozwiązania - programowanie AVR w C | pisanie programów dla AVR | pisanie programów ATmega | pisanie programów dla AVR | programowanie mikrokontrolerów |
mikrokontrolery AVR programowanie | programowanie w C mikrokontrolerów | programowanie ATmega | programy w C AVR
Realizacja: Dpl Agency - Projektowanie Stron Internetowych