18
Elektronika dla Wszystkich
Do czego to służy?
W literaturze dla elektroników można znaleźć
wiele schematów pozytywek, zarówno
z wbudowaną na stałe melodią, jak i progra-
mowanych. Wadą tych pierwszych jest brak
możliwości skomponowania własnej melodii,
wadą drugich – najczęściej bardzo proste „po-
piskujące” brzmienie, jak np. w większości
telefonów komórkowych, lub trudne urucha-
mianie wymagające strojenia, co sprawia spo-
ry problem osobom, którym przysłowiowy
słoń nadepnął na ucho. Ostatnio prawie we
wszystkich rozwiązaniach wykorzystuje się
układy UM66TL lub któryś z układów firmy
Holtek. Te pierwsze brzmią nieciekawie, po-
nadto pomimo bogatej oferty melodii „zaszy-
tych” w różnych wersjach tych kostek najczę-
ściej jesteśmy w sklepie skazani na zakup tej,
która „przyszła z hurtowni”. Układy Holteka
brzmią lepiej, ale też mają ograniczony wy-
bór melodyjek, a ponadto pojawia się ten sam
problem z dostępnością. Często wykorzystu-
je się też układy firmy ISD. Tu jednak poja-
wia się problem ograniczonego czasu zapisu
okupionego dodatkowo stratą jakości przy
zakupie kostek o dłuższym czasie nagrania.
Wyobraźmy sobie jednak pozytywkę z wła-
snym systemem operacyjnym, którą można
w prosty sposób zaprogramować, korzystając
z dowolnego terminala ze złączem RS-232C,
z własnym bankiem brzmień, które możemy
sami dowolnie przygotować, dodatkowo pa-
miętającą melodię po zaniku zasilania. Układ
taki może być wykorzystany np. jako efek-
towny sygnalizator. Po minimalnych zmia-
nach otrzymujemy „bajerancki” dzwonek do
drzwi lub uniwersalny moduł dźwiękowy
współpracujący np. z mikroprocesorową cen-
tralką alarmową. Zaletą takiego modułu jest
wykorzystywanie do komunikacji z głów-
nym mikroprocesorem tylko dwóch linii por-
tu szeregowego. Jeśli moduł nie musi odpo-
wiadać procesorowi sterującemu – wystarczy
tylko jedna linia! Zmiany te opisano w dal-
szej części artykułu. Te założenia spełnia pre-
zentowany przeze mnie układ.
Jak to działa?
Schemat urządzenia przedstawiono na rysun-
ku 1. Jego sercem jest mikrokontroler
89C2051 (U3) zaprogramowany za pomocą
nieśmiertelnego BASCOM-a. Do linii TxD
i RxD tego układu dołączono pracujący w ty-
powej aplikacji układ MAX232 (U1), zapew-
niający dopasowanie poziomów napięć dla
interfejsu szeregowego RS-232C. Linie P3.2
i P3.3 wykorzystano jako interfejs I
2
C do
współpracy z zewnętrzną pamięcią EEPROM
P
P
o
o
z
z
y
y
t
t
y
y
w
w
k
k
a
a
s
s
t
t
e
e
r
r
o
o
w
w
a
a
n
n
a
a
p
p
r
r
z
z
e
e
z
z
R
R
S
S
-
-
2
2
3
3
2
2
C
C
U
U
n
n
i
i
w
w
e
e
r
r
s
s
a
a
l
l
n
n
y
y
m
m
o
o
d
d
u
u
ł
ł
d
d
ź
ź
w
w
i
i
ę
ę
k
k
o
o
w
w
y
y
µ
µ
P
P
3
3
0
0
2
2
0
0
Rys. 1 Schemat ideowy
(U2) przechowującą melodię. Jest to układ
typu 24C02. Pojemność tego układu wynosi
256 bajtów i umożliwia zapisanie ok. 100
dźwięków, co jest wartością w zupełności
wystarczającą. Wybór tego układu był po-
dyktowany najprostszym adresowaniem.
W przypadku układów o większej pojemno-
ści (np. 24C04) adresowanie komórek pa-
mięci nieco się komplikuje i wymaga zmian
w programie mikrokontrolera. Ponieważ pro-
gram w układzie modelowym zajmuje pra-
wie równe 2kB, konieczne stałoby się użycie
układu 89C4051, który wprawdzie nie wy-
maga żadnych przeróbek płytki drukowanej,
jednak ze względu na to, że darmowo rozpro-
wadzany BASCOM ma ograniczenie kodu
wynikowego do 2kB, takie rozwiązanie unie-
możliwiłoby wykonanie układu osobom po-
siadającym tylko tę wersję. Po szczegóły do-
tyczące współpracy mikrokontrolera z szere-
gowymi pamięciami EEPROM odsyłam do
katalogu lub kursu BASCOM College. Wej-
ścia adresowe pamięci dołączono do masy,
jako że jest to jedyne urządzenie I
2
C na ma-
gistrali. Do linii P3.4 i P3.5 za pośrednic-
twem tranzystorów T1 i T2 dołączono dwu-
kolorową diodę LED sygnalizującą stan pra-
cy układu (w układzie wykorzystuje się 3
możliwe kolory świecenia – kolor żółty uzy-
skuje się przez jednoczesne zaświecenie obu
diod). Do linii P3.7 dołączono przycisk uru-
chamiający i zatrzymujący odtwarzanie me-
lodii. Jako bank sampli wykorzystano wielo-
krotnie już w EdW prezentowany układ
ISD2560 (U4). Wybór tego układu był po-
dyktowany prostotą współpracy z mikrokon-
trolerem oraz najwyższą spośród układów
ISD jakością odtwarzania (układ ISD2545
jest trudno dostępny). Kostka pracuje w try-
bie adresowym (linie A7 i A8 dołączone do
masy). Dwa najmłodsze bity adresowe dołą-
czono do masy (sample rozmieszczone są
w pamięci „co cztery” komórki). Pozostałe
linie adresowe (A2-A6) dołączono do portu
P1 mikrokontrolera, pamiętając o niezbęd-
nym podciąganiu linii P1.0 i P1.1 (rezystory
R9 i R10). Daje to razem maksymalnie 2
5
=64
próbki, co wystarcza aż nadto do przechowa-
nia pięciu oktaw sampli, co umożliwi ode-
granie przez nasz układ nawet najwymyśl-
niejszych melodyjek. Do linii P1.6 i P1.7 mi-
krokontrolera dołączono odpowiednio linie
CE i EOM układu ISD. Za pomocą pierwszej
procesor uruchamia odtwarzanie próbki, za
pomocą drugiej jest informowany o zakoń-
czeniu jej odtwarzania i możliwości przejścia
dalej. Pozostałe wyprowadzenia ISD-eka do-
łączono w typowy, zalecany w katalogu spo-
sób. Ze względu na bardzo małą moc
wzmacniacza wbudowanego w U4 i możli-
wość jego łatwego uszkodzenia zdecydowa-
no się na zastosowanie zewnętrznego
wzmacniacza mocy (U5). Jest to popularny
i tani układ typu LM386 wymagający mini-
malnej liczby elementów zewnętrznych.
Układ pracuje w typowej katalogowej aplika-
cji. Do mikrokontrolera dołączono także ty-
powy układ resetu (C6,R1) zapewniający je-
go poprawny „start” po włączeniu zasilania
oraz kwarc 11.0592MHz (X1), umożliwiają-
cy uzyskanie typowych prędkości transmisji
szeregowej. Całość zasilana jest napięciem
stabilizowanym +5V uzyskiwanym ze stabi-
lizatora typu 7805 (U6). Tyle o stronie sprzę-
towej.
Niemniej ważnym elementem urządzenia
jest program sterujący mikrokontrolerem, na-
pisany w języku MCS BASIC. Program
można ściągnąć ze strony internetowej EdW:
http://www.edw.com.pl/library/pliki/pozyt-
soft.zip. Pierwszą rzeczą rzucającą się
w oczy jest dyrektywa $baud=300 ustalająca
prędkość transmisji na 300 bodów. Tak mała
prędkość była podyktowana tym, że układ
przy programowaniu melodii przepisuje zna-
ki odbierane z portu szeregowego do stosun-
kowo wolnej pamięci EEPROM. Przy du-
żych prędkościach transmisji pamięć nie na-
dążałaby z zapisem danych. Zastosowanie
tak małej prędkości gwarantuje niezbędny
odstęp czasu pomiędzy kolejnymi zapisami
do pamięci. Po włączeniu zasilania program
oczekuje w pętli na naciśnięcie przycisku
P lub odbiór znaku z portu szeregowego.
Dioda LED jest w tym czasie zaświecona na
żółto. Po naciśnięciu przycisku dioda się na
zielono, a układ przechodzi do podprogramu
Play realizującego odtwarzanie. Polega ono
na pobraniu z pamięci znaków opisujących
dźwięk do odtworzenia podprogramem Ee-
prom_read_byte (po informacje dotyczące
cyklu odczytu odsyłam do katalogu), przeli-
czeniu ich na adres w pamięci ISD-ka i sko-
ku do podprogramu Play_sample, który wy-
stawia obliczony adres na linie P1.0-P1.5,
generuje krótki impuls ujemny na wejściu
CE układu ISD, a następnie czeka w pętli na
pojawienie się impulsu ujemnego na wyjściu
EOM sygnalizującego zakończenie odtwa-
rzania próbki po napotkaniu przez U4 znacz-
nika końca nagrania EOM. Taka realizacja,
jest możliwa, ponieważ częstotliwość, z jaką
mikrokontroler testuje wyprowadzenie
EOM, jest dużo większa niż czas trwania te-
go sygnału – nie istnieje więc możliwość
„przeoczenia” tego impulsu przez procesor.
Jeśli chodzi o format opisu dźwięku – jest on
intuicyjny – składa się z nazwy dźwięku pi-
sanej dużą literą, cyfry oznaczającej numer
oktawy i ewentualnego krzyżyka podnoszą-
cego wysokość dźwięku o pół tonu. Jeśli
z pamięci odczytany zostanie znak P ozna-
czający pauzę – mikrokontroler odczekuje
100ms. Nie ma możliwości (podobnie jak
w większości „komórek”) regulacji czasu
trwania dźwięku – różne wartości rytmiczne
uzyskuje się poprzez wstawienie większej
lub mniejszej ilości pauz – daje to efekt gry
staccato. Analizę podprogramu Play wyli-
czającego na podstawie znaków ASCII opi-
sujących dźwięk adres próbki pozostawiam
dociekliwym Czytelnikom. Spacje i znaki
ENTER są ignorowane. Taki format opisu
melodii jest powszechnie stosowany w tele-
fonach komórkowych, co pozwala użyć „ko-
mórkowych” melodyjek do zaprogramowa-
nia naszego urządzenia. Odebranie znaku
niezgodnego z formatem zapisu wobec umie-
szczenia na końcu podprogramu Play opera-
cji modulo pomiędzy adresem i całkowitą
liczbą próbek nie skutkuje niczym złym, po-
za tym, że pozytywka będzie „nieco” fałszo-
wać. Całkowita liczba próbek przechowywa-
na jest w stałej Number_of_samples –
w przypadku pięciu oktaw wynosi ona
5*12=60 próbek. Odtwarzanie jest kontynuo-
wane do momentu napotkania znaku 0 ozna-
czającego koniec zapisu lub wykrycia naci-
śnięcia przycisku P. Wtedy program wraca
do głównej pętli. W przypadku odebrania
znaku z portu szeregowego układ sprawdza
znak – jeśli jest to „l” – zapala diodę na czer-
wono i czeka na dalsze znaki, które razem
mają utworzyć słowo „login”. Takie rozwią-
zanie zapobiega zgłaszaniu się systemu po-
zytywki przypadkowo. Gdy sekwencja się
nie zgadza – układ wraca do stanu oczekiwa-
nia. Gdy jest ona prawidłowa – zgłasza się za
pomocą terminala system operacyjny pozy-
tywki – podprogram Music_box_os (w czasie
pracy z systemem przycisk P jest nieaktyw-
ny!). Umożliwia on wybór następujących
opcji: opcja 0 – ponowne wyświetlenie menu
(podprogram Print_menu), opcja 1 – odtwo-
rzenie melodii (ten sam podprogram Play co
poprzednio – do rozróżnienia, czy wywołano
go z poziomu systemu pozytywki czy za po-
mocą przycisku służy zmienna bitowa In_sy-
stem) – można je zatrzymać klawiszem ESC,
opcja 2 – odczyt pamięci (podprogram Ee-
prom_read – powoduje wyświetlenie zawar-
tości pamięci melodii na ekranie terminala –
umożliwia to późniejsze skopiowanie jej do
pliku lub wydrukowanie w celu późniejszego
wykorzystania (zawartość pamięci jest wy-
świetlana bez znaków spacji, gdyż są one po-
mijane przy programowaniu). Odczyt kończy
się po napotkaniu znaku 0, opcja 3 – zapis
pamięci (podprogram Eeprom_write) – po
wybraniu tej opcji można się jeszcze wyco-
fać klawiszem ESC. Z chwilą wysłania
pierwszego znaku jest on umieszczany w pa-
mięci. Znaki można wprowadzać z klawiatu-
ry lub wysłać w postaci tekstu z pliku (taką
możliwość oferuje np. HyperTerminal do-
stępny w systemie Windows). Dzięki wspo-
mnianej już prędkości 300 bodów układ na
pewno nie zgubi żadnego znaku. W czasie
trwania zapisu układ wyświetla na ekranie
znaki #. Zapis kończy się z chwilą napotka-
nia znaku 0 lub zapełnienia pierwszych 252
bajtów pamięci – wtedy wpisywane są do
ostatnich czterech komórek zera – daje to
pewność, że procedura odtwarzająca na pew-
no się zakończy. Jeśli po znaku 0 wysyłane są
19
Elektronika dla Wszystkich
jeszcze jakieś znaki – są one ignorowane, a na
ekranie terminala wyświetlane są gwiazdki. Do
zapisu bajtu do pamięci wykorzystuje się pod-
program Eeprom_write_byte. No i wreszcie
opcja 4 umożliwiająca opuszczenie systemu
pozytywki. Po jej wybraniu układ wraca do
stanu oczekiwania. Tyle opisu jak to działa.
Teraz czas na...
Montaż i uruchomienie
Układ modelowy zmontowano na jednostron-
nej płytce drukowanej przedstawionej na ry-
sunku we wkładce. Montaż przeprowadza-
my w typowy sposób, rozpoczynając od wlu-
towania w płytkę kilku zworek. Jedynym od-
stępstwem jest montaż rezystorów R9 i R10,
które należy przylutować od strony druku
zgodnie ze schematem ideowym. Na rezysto-
ry należy nasunąć kawałki koszulki izolacyj-
nej, aby uniknąć zwarć. Na początku należy
wykonać dwie czynności - zaprogramować
mikrokontroler oraz przygotować i umieścić
próbki w układzie ISD. Pierwsza czynność
nie wymaga komentarza – używamy do tego
celu dobrze znanego BASCOM-a, pamiętając
o odpowiednim skonfigurowaniu jego opcji.
Druga wymaga nieco więcej uwagi. Musimy
przygotować 60 (może być więcej lub mniej
– należy wtedy zmodyfikować stałą Num-
ber_of_samples) próbek umieszczonych pod
adresami mającymi na dwóch najmłodszych
bitach wartość 00. Jako źródło sygnału moż-
na wykorzystać kartę dźwiękową komputera
i dowolny programowy sekwencer MIDI lub,
jeśli ktoś ma dostęp – elektroniczny instru-
ment klawiszowy. Idealnie do nagrywania
nadaje się płytka testowa do BASCOM Col-
lege w połączeniu z układem ISDofonu opi-
sywanym w jednym z wcześniejszych nume-
rów EdW. Taki zestaw wykorzystano przy na-
grywaniu próbek w układzie modelowym,
przy czym jako źródło sygnału wykorzystano
kartę dźwiękową. Wejście analogowe (nie
mikrofonowe – należy je odłączyć) ISDofonu
dołączono do wyjścia karty dźwiękowej. Li-
nie adresowe układu ISD dołączono do płytki
testowej identycznie jak na schemacie pozy-
tywki. Mikroswitche ISDofonu ustawiono
wszystkie w pozycji OFF (jedynka logiczna)
z wyjątkiem tych dołączonych do linii A0
i A1 układu ISD, które ustawiono na ON (ze-
ro logiczne). Również linie A7 i A8 ustawio-
no na zero (adresowy tryb pracy). Wejście za-
pisu ustawiono w stanie RECORD. Rezysto-
ry na płytce tego układu załatwiają sprawę
podciągania P1.0 i P1.1, więc nie musimy już
tego robić. Następnie napisano, krótki pro-
gram na ’51 wystawiający kolejne adresy na
port P1 po naciśnięciu przycisku do niej dołą-
czonego. W programie sekwencerowym
stworzono krótką sekwencję polegającą na
zagraniu kolejno wszystkich dźwięków
z wszystkich pięciu oktaw wybraną barwą
(w układzie modelowym były to organy).
Rozpoczęto powolne odtwarzanie i w miarę
pojawiania się kolejnych dźwięków wysyłano
do ’51 sygnał wystawienia kolejnego adresu
i zwierano wyprowadzenie CE do masy na
płytce ISDofonu (w czasie całego zapisu mu-
si ono być aktywne). Przy odpowiednio wol-
nym odtwarzaniu (ok. 4 s. na dźwięk) ze
wszystkim spokojnie można zdążyć. Można
próbować ten proces zautomatyzować, ale są-
dzę, że więcej problemu sprawi zgranie wszy-
stkich urządzeń w czasie niż nagrywanie
w opisany przeze mnie sposób. Przy nagry-
waniu wg opisu (ręczne sterowanie sygnałem
CE) na pewno każda próbka zajmie więcej
niż 4 komórki pamięci, co spowoduje nadpi-
sanie znacznika EOM poprzedniej próbki
próbką następną. Tu znów z pomocą przyj-
dzie nam BASCOM. Tym razem należy odłą-
czyć wejście ISD-ka od źródła dźwięku i na-
pisać program na mikrokontroler, który po
wystawieniu kolejnych adresów uaktywni na
chwilę (tak jak w podprogramie Play_sample
sterującym pozytywką) wejście CE układu
ISD (które należy tym razem podłączyć do
mikrokontrolera), a przed jego uruchomie-
niem ustawić na wejściach A1 i A0 wartość
10. Spowoduje to dogranie zaraz za naszą
próbką kolejnej „próbki” zajmującej jedną
komórkę pamięci, zawierającej ciszę, co
w połączeniu z naszą próbką da próbkę za-
kończoną znacznikiem EOM. Taki może
w pierwszej chwili nieco skomplikowany
proces nagrywania daje gwarancję uzyskania
w pamięci ISD wszystkich próbek o jednako-
wym czasie trwania i zaczynających się rów-
no tzn. bez przesunięć czasowych, co jest wa-
runkiem poprawnego odtwarzania zaprogra-
mowanej melodii (jak już powiedziano wcze-
śniej, układ nie ma możliwości zmiany czasu
trwania dźwięku, więc wszystkie próbki mu-
szą trwać tyle samo). Układ aplikacyjny ISD
można również zmontować w pająku, na pod-
stawce pod układ scalony, ale ze względu na
koszt układu ISD nie zachęcam do takich
„prowizorek”. Również samo nagrywanie
można zrealizować w inny sposób. Ważne,
aby pod kolejnymi adresami mającymi 00 na
dwóch najmłodszych bitach znalazły się
próbki OBOWIĄZKOWO zakończone
znacznikiem EOM. Przed nagrywaniem
wszystkich próbek warto wcześniej wykonać
próby polegające na optymalnym doborze po-
ziomu sygnału, zapewniającym jak najlepszą
dynamikę bez przesterowania. Zmontowany
układ należy zasilić napięciem stałym niesta-
bilizowanym (ale filtrowanym, ze względu na
małą pojemność kondensatora przed stabili-
zatorem w układzie) o wartości ok. 12V (ze
względu na straty mocy w stabilizatorze). Za-
silacz w układzie modelowym składał się
z transformatora TS2/15, mostka 1A i dwóch
kondensatorów – 4700µF i 100nF. Z takim
zasilaczem stabilizator pracował bez radiato-
ra.
Cały układ umieszczono w typowej obudo-
wie plastikowej, w której zamontowano diodę
LED, przycisk, głośnik, a na tylnej ściance
gniazdo 220V i gniazdo złącza szeregowego.
Do połączenia układu z komputerem należy
zastosować dowolny kabel modemu zerowe-
go (null-modem). Po połączeniu układu
z komputerem i włączeniu zasilania dioda
LED powinna świecić się na żółto. Urucha-
miamy program terminalowy (np. HyperTer-
minal), ustawiamy parametry transmisji na
300 8N1 (300 bodów, 8 bitów danych, 1 bit
stopu, brak kontroli poprawności przesyła-
nych danych) i po wybraniu opcji połącz,
wprowadzamy z klawiatury słowo „login”.
Jeśli zgłosi się system operacyjny pozytywki,
a dioda zaświeci na czerwono, można zapro-
gramować melodię opcją 3 – format melodii
opisano w części „Jak to działa”. Na począ-
tek najlepiej wykorzystać do tego celu test,
który odtworzy wszystkie próbki, aby spraw-
dzić, czy są one przygotowane poprawnie.
Można też wykorzystać jedną z melodii
przedstawionych niżej.
Po zaprogramowaniu pamięci można od-
tworzyć melodię z menu opcją 1 lub po wyj-
ściu z systemu – przyciskiem. Jeśli wszystko
działa jak opisano – urządzenie można uznać
za uruchomione.
20
Elektronika dla Wszystkich
Wykaz elementów
RReezzyyssttoorryy
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8,2kΩ
R2 R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4,7kΩ
R4 R5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330Ω
R6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1,5kΩ
R7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22Ω
R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470kΩ
R9,R10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1kΩ
KKoonnddeennssaattoorryy
C1,C4,C5,C9,C12 . . . . . . . . . . . . . . . . . . . . . . . . .470nF
C6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10µF/16V
C7,C8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33pF
C10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470µF/16V
C11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47nF
C13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4,7µF/16V
C14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF/25V
C15,C17,C19 . . . . . . . . . . . . . . . . . . . .100nF ceramiczny
C16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF/16V
C18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4700µF/35V
PPóółłpprrzzeewwooddnniikkii
BR1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .mostek 1A
LED . . . . . . . . . . . . . . . . . . . . . . . . . . . .dioda LED 2-kol.
T1 T2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .BC556
U1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MAX232
U2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24C02
U3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89C2051
U4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ISD2560
U5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LM386
U6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7805
PPoozzoossttaałłee
P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .włącznik
SPK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .głośnik 1W/8
X1 . . . . . . . . . . . . . . . . . . . . . . . . . . .kwarc 11.0592MHz
TR1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .TS2/15
PPłłyyttkkaa ddrruukkoowwaannaa jjeesstt ddoossttęęppnnaa ww ssiieeccii
hhaannddlloowweejj AAVVTT jjaakkoo kkiitt sszzkkoollnnyy AAVVTT-33002200
21
Elektronika dla Wszystkich
Możliwości zmian
Układ może być wykorzystany jako dzwonek
do drzwi – zajdzie wtedy zapewne potrzeba
dołączenia go do istniejących przewodów
dzwonka, na które podawane jest napięcie
sieci 220V po naciśnięciu przycisku przed
drzwiami. W takim przypadku układ musi
być zasilany cały czas, natomiast w miejsce
przycisku P dołączamy transoptor zapewnia-
jący separację galwaniczną wejścia proceso-
ra od napięcia sieciowego i zwierający jego
wejście do masy po naciśnięciu przycisku
dzwonka. Ponieważ jest to przeróbka wyma-
gająca prac z obwodami sieci 220V, nie po-
daję szczegółów – począt-
kujący nie powinni się za
nią zabierać, a bardziej zaa-
wansowani z łatwością do-
biorą potrzebne elementy.
Należy też zmienić nieco
program sterujący mikro-
kontrolerem tak, aby odtwa-
rzanie melodii było wyko-
nywane tylko podczas trzy-
mania wciśniętego przyci-
sku (tak jak to jest w każ-
dym dzwonku drzwiowym),
bowiem w wersji oryginal-
nej pierwsze naciśnięcie
przycisku rozpoczyna od-
twarzanie, a kolejne zatrzy-
muje.
Inną możliwością wyko-
rzystania układu, wspo-
mnianą na początku artykułu, jest realizacja
uniwersalnego modułu dźwiękowego np. do
centrali alarmowej. W tym przypadku
w miejsce sampli instrumentów należy oczy-
wiście nagrać stosowne komunikaty słowne
i zmodyfikować odpowiednio do potrzeb
program sterujący mikrokontrolerem. Za-
pewne pomocny okaże się program pozytyw-
ki. Jeśli moduł miałby współpracować np.
z innym mikrokontrolerem 8051, to można
nie montować układu MAX232 i połączyć
bezpośrednio linie procesorów. W takim za-
stosowaniu zbędna okaże się też zapewne pa-
mięć EEPROM. Może też być konieczne za-
stosowanie zewnętrznego wzmacniacza
o większej mocy. Można wtedy nie monto-
wać układu U5, a wejście wzmacniacza mo-
cy dołączyć do wyjścia układu ISD. Zaletą
takiego modułu (wspomnianą już na począt-
ku), w stosunku do zastosowania np. ISDofo-
nu, jest fakt wykorzystania do sterowania
modułem tylko jednej lub dwóch linii, a co za
tym idzie oszczędność wyprowadzeń proce-
sora głównego, które wykorzystywane są np.
do podpinania czujników.
Łukasz Jarczyk
Test (dla pięciu oktaw):
C1C1#D1D1#E1F1F1#G1G1#A1A1#H1C2C2#D2D2#E2F2F2#G2G2#A2A2#
H2C3C3#D3D3#E3F3F3#G3G3#A3A3#H3C4C4#D4D4#E4F4F4#G4G4#A4A
4#H4C5C5#D5D5#E5F5F5#G5G5#A5A5#H5
0
Melodia przykładowa 1 (La Cucaracha):
C3 P C3 F3 F3 A3 A3 C4 P A3 PP
C4 P C4 D4 C4 A3# A3 A3# P G3 PP
C3 P C3 E3 E3 G3 G3 A3# P G3 PP
C4 P D4 C4 A3# A3 G3 F3 PP
C3 C3 C3 F3 P A3 P C3 C3 C3 F3 P A3 P
F3 P F3 E3 E3 D3 D3 C3 PP
C3 C3 C3 E3 P G3 P C3 C3 C3 E3 P G3 P
C4 D4 C4 A3# A3 G3 F3 PP
0
Melodia przykładowa 2 (fragment fugi d-moll J.S.Bacha):
A2 G2 A2 F2 A2 E2 A2 D2 A2 C2# A2 D2 A2 E2 A2 F2
A2 A1 A2 H1 A2 C2# A2 D2 A2 C2# A2 D2 A2 E2 A2 F2
D3 C3 D3 A2# D3 A2 D3 G2 D3 F2# D3 G2 D3 A2 D3 A2#
D3 D2 D3 E2 D3 F2# D3 G2 D3 F2# D3 G2 D3 A2 D3 A2#
0