gadajaca kostka id 185603 Nieznany

background image

Do czego to s³u¿y?

Jest to elektroniczna kostka do gry. S³u¿y do-
k³adnie do tego, do czego s³u¿y zwyk³a kost-
ka szeœcioœcienna, tylko, ¿e... gada. Nie doœæ,
¿e gada to jeszcze odtwarza dŸwiêki miesza-
nia oraz rzutu kostk¹. Wszystkie te dŸwiêki
nale¿y nagraæ samemu i gdy tylko siê znudz¹
mo¿na je zmieniæ.

Kostka ta mo¿e siê przydaæ w ró¿nych sy-

tuacjach. WyobraŸmy sobie taki przyk³ad:
znajdujemy siê w Egipcie, w piramidzie. Na-
gle gaœnie latarka i zapadaj¹ egipskie ciem-
noœci, a my akurat teraz mamy wielk¹ ocho-
tê zagraæ w jak¹œ grê planszow¹. Wszystko
jest OK, ale nie widaæ kostki! W takiej sytu-
acji uratuje nas kostka, któr¹ s³ychaæ.

Jak to dzia³a?

Schemat ideowy przedstawiony zosta³ na rysun-
ku 1
. Uk³ad nie nale¿y do skomplikowanych.
Jest to typowa aplikacja magnetofonu
cyfrowego ISD1420 (ewentualnie
ISD1416) pracuj¹cego w trybie opera-
cyjnym. Magnetofonem steruje mikro-
kontroler AVR AT90S2313. Element
ten wybrano z kilku powodów:
- umo¿liwia on wyjœcie z trybu uœpie-
nia dziêki przerwaniu zewnêtrznemu,
- znikomy pobór mocy przez proce-
sor oraz ISD w uœpieniu (dziêki temu
mo¿na zrezygnowaæ z wy³¹cznika
zasilania),
- wewnêtrzny uk³ad Power On Reset
pozwala na rezygnacje z kilku ele-
mentów (zmniejszenie uk³adu),
- bardzo wa¿na sprawa: pakiet BA-
SCOM AVR niewiele ró¿ni siê od
BASCOM 8051, wiêc nie ma wiêk-
szych problemów z napisaniem pro-
gramu.

Uk³ad wykorzystuje dziewiêæ ak-

tywnych wyprowadzeñ mikrokontro-
lera. Piêæ z nich steruje procesorem

dŸwiêku. Do jego sterowania wykorzystano
nastêpuj¹ce sygna³y: PLAYE – zbocze opada-
j¹ce na tym wyprowadzeniu inicjuje odtwa-
rzanie; REC – stan niski jest warunkiem na-
grywania komunikatu; A0 – gdy na tej koñ-
cówce znajduje siê stan H dzia³anie uk³adu
ISD jest przyspieszone oko³o 800 razy,
umo¿liwia to szybkie znalezienie odpowie-
dniego komunikatu, jeœli znamy tylko kolej-
noœæ w jakiej wszystkie komunikaty s¹ u³o-
¿one; A4 – gdy H - ka¿de odtwarzanie zaczy-
na siê w miejscu gdzie zakoñczy³o siê po-
przednie; w przeciwnym razie odtwarzanie
zaczyna siê na pocz¹tku pamiêci; LED – to
wyjœcie ma podwójn¹ funkcjê: w trybie od-
twarzania pojawiaj¹ siê tutaj ujemne impulsy
za ka¿dym razem, gdy dojdziemy do koñca
aktualnie odtwarzanego komunikatu; w try-
bie odtwarzania wystêpuje tutaj stan niski,

a pojawienie siê stanu wysokiego œwiadczy
o przepe³nieniu pamiêci.

Na schemacie znajduj¹ siê jeszcze dwa

przyciski: Losuj – w trybie losowania przy-
cisk ten budzi procesor z trybu uœpienia i ini-
cjuje losowanie. Po jego naciœniêciu odtwa-
rzany jest dŸwiêk losowania. Po puszczeniu
koñczy siê losowanie, odtwarzany jest jeden
z dŸwiêków tocz¹cej siê kostki a na koñcu
s³owo okreœlaj¹ce iloœæ oczek. W trybie na-
grywania jego krótkie naciœniêcie odtwarza
aktualnie obrabian¹ próbkê dŸwiêku. Jego
przytrzymanie d³u¿ej ni¿ sekundê powoduje
zatwierdzenie dŸwiêku i przejœcie do nastêp-
nej próbki, co jest sygnalizowane migniê-
ciem diody. Przycisk Prog – ma znaczenie
tylko w trybie programowania. Jest dostêpny

19

Elektronika dla Wszystkich

GG

GG

aa

aa

dd

dd

aa

aa

jj

jj

¹¹

¹¹

cc

cc

aa

aa

kk

kk

oo

oo

ss

ss

tt

tt

kk

kk

aa

aa

Rys. 1 Schemat ideowy

★★

★★

★★

3

3

0

0

1

1

1

1

background image

dopiero po otwarciu obudowy. Jego naciœniê-
cie powoduje rozpoczêcie nagrywania
dŸwiêku na aktualnej pozycji. Nagrywanie
jest sygnalizowane œwieceniem diody.

Zwora „Prog.” normalnie powinna byæ

zwarta. W³¹czenie zasilania przy rozwartej
zworce powoduje wejœcie w tryb programo-
wania, o czym poinformuje nas trzykrotne
miganie diody LED.

To tyle czêœci sprzêtowej. Ca³a reszta kry-

je siê w oprogramowaniu. W dalszej czêœci
artyku³u nie bêdzie prezentowania kodu
Ÿród³owego. Z grubsza opisano tylko zasadê
dzia³ania programu.

Po starcie i po inicjacji zmiennych, które

tego wymagaj¹, sprawdzany jest stan zworki
i podejmowana jest decyzja w jakim trybie
uruchomiæ kostkê. Tryb programowania jest
wzglêdnie ³atwy do analizy. Tryb losowania
natomiast jest trudniejszy ze wzglêdu na wy-
korzystanie kilku przerwañ, bez których nie-
które czêœci kodu nie maj¹ sensu. Poni¿ej
wyjaœniono tylko czêœæ kodu, pracuj¹c¹ pod-
czas losowania.

Na pocz¹tku aktywowane jest przerwanie

Int0 i ustawiane jest do reagowania na po-
ziom niski. Po tej czynnoœci procesor jest
usypiany. Z uœpienia, wed³ug dokumentacji,
mo¿na go wybudziæ poprzez: przerwanie
watchdoga, przerwanie zewnêtrzne ustawio-
ne na wyzwalanie poziomem lub poprzez re-
set
. Uk³ad watchdog jest wy³¹czany ju¿ na
starcie programu, wejœcie reset nie jest
w ogóle pod³¹czone. Wykorzystujemy wiêc
drug¹ mo¿liwoœæ – do wejœcia Int0 pod³¹czo-
ny jest przycisk Losuj. Jego naciœniêcie spo-
woduje przejœcie do obs³ugi przerwania,
gdzie w tym momencie nic siê nie dzieje.
Program od razu opuszcza podprogram, a ca-
³a „akcja” spoczywa na pêtli g³ównej. Teraz
ustawiona zostaje zmienna bit_losowanie, Ti-
mer0
zostaje uruchomiony – dziêki niemu
odbywa siê losowanie, Int0 przestawione zo-
staje tak, aby nastêpna reakcja nast¹pi³a przy
puszczeniu przycisku – zdarzenie to zostanie
obs³u¿one w procedurze przerwania dziêki
ustawionej zmiennej bit_losowanie. Po od-
tworzeniu dŸwiêku mieszania program ocze-
kuje na zwolnienie przycisku, przy czym je-
œli sta³o siê to wczeœniej natychmiast odtwa-
rzany jest jeden z dŸwiêków upadaj¹cej kost-
ki a nastêpnie s³owo okreœlaj¹ce iloœæ oczek,
która „wypad³a”.

Komentarza wymaga jeszcze zakres lo-

sowanej liczby, który wynosi 0 – 23. Naj-
m³odszy bit decyduje o tym, który dŸwiêk
stukania bêdzie odtwarzany. Po podzieleniu
przez dwa otrzymujemy numer odtwarzane-
go komunikatu. Oznacza to, ¿e komunika-
tów jest 12. Dlaczego? ¯eby by³o ciekawiej:
du¿o t³umaczy tabela 1, w której przedsta-
wione jest to, co powinno znajdowaæ siê
w pamiêci ISD. Powtarzaj¹ce siê numery
oczek powoduj¹, ¿e raz us³yszymy na przy-
k³ad „dwa oczka’, kiedy indziej „dwa”.

tabela1

0

„jeden“

1

„jedynka“

2

„dwa oczka“

3

„dwójka“

4

„trójka“

5

„trzy oczka“

6

„czwóreczka“

7

„cztery“

8

„piêæ“

9

„pi¹tka“

10

„szeœæ oczek“

11

„szucha“

12

Mieszanie

13

Stuk 1

14

Stuk 2

W tabeli 1 w¹tpliwoœæ mo¿e wzbudziæ

rozmieszczenie komunikatów – na koñcu
umieszczone s¹ dŸwiêki odtwarzane na po-
cz¹tku. Powoduje to nieco zak³óceñ przez
przed³u¿enie czasu przewijania. Zwiêksza
jednak wygodê programowania. Po s³owach,
raczej standardowej d³ugoœci, mo¿emy eks-
perymentowaæ z ró¿nymi wersjami dŸwiê-
ków mieszania oraz tocz¹cych siê kostek.

Monta¿ i uruchomienie

P³ytka drukowana jest widoczna na rysunku 3.
Zosta³a ona przystosowana do obudowy KM-
22. Obudowa KM-22 sk³ada siê z dwóch
identycznych czêœci. Jedn¹ z nich potraktuje-
my jako „czêœæ górn¹”, drug¹ jako „doln¹”.
Z górnej czêœci nale¿y usun¹æ bolce podtrzy-
muj¹ce p³ytkê oraz miejsca na œruby. Nastêp-
nie wykonujemy otwory pod przycisk Loso-
wania
i pod diodê. Mo¿na w tym celu pos³u-
¿yæ siê p³ytk¹ drukowan¹ jako wzorem.

Monta¿ p³ytki drukowanej nie jest typo-

wy. Na p³ytce zamontowano niektóre z ele-
mentów miêdzy nó¿kami scalaków. Pod-
stawki pod uk³ady scalone bêd¹ konieczne,
trzeba jednak je odpowiednio przygotowaæ –
polega to na usuniêciu wewnêtrznego
wzmocnienia. Mo¿na te¿ zamiast podstawek
DIP u¿yæ z³¹czy SIP (taka jednorzêdowa

precyzyjna podstawka). Monta¿ nale¿y roz-
pocz¹æ od dwóch zworek. Nastêpnie montu-
jemy przygotowane podstawki i prawie do
koñca dzia³amy standardowo – montuj¹c
elementy o coraz to wiêkszych gabarytach.
Koñczymy na po³¹czeniu kabelkami punk-
tów A z A’ i B z B’. P³ytkê mamy gotow¹.

Gotowa p³ytka bêdzie zbyt wysoka, aby

da³a siê zamkn¹æ w obudowie. Bolce oraz
wypustki na œruby w czêœci dolnej nale¿y
spi³owaæ lub przyci¹æ o oko³o 2-3mm. Do-
brze jest na tym etapie sprawdziæ czy wszy-
stko ju¿ pasuje. Gdy obudowa daje siê ju¿ za-
mkn¹æ, p³ytkê przykrêcamy dwoma blacho-
wkrêtami. Z boku nale¿y wypi³owaæ niewiel-
ki rowek, przez który „przejdzie” kabelek do
g³oœnika. G³oœnik przyklejamy na zewn¹trz
obudowy. Œwietnie do tego nadaje siê klej na
ciep³o z pistoletu.

Uk³ad zasilany jest z trzech baterii R03 -

inaczej AAA. Wymaga to jednak samodziel-
nego stworzenia uchwytów pod baterie, co
przedstawia rysunek 2. Rysunek a) pokazuje
ogóln¹ idee zamocowania jednej baterii; b)
widok z boku na ustawienie baterii wzglê-
dem uk³adu; c) widok z góry razem z uk³a-
dem po³¹czeñ. S¹ to po prostu blaszki przy-
klejone do obudowy mocnym klejem. Nie-
wielka iloϾ miejsca zmusza do umieszczenia
jednej baterii wy¿ej od pozosta³ych.

Nauka mówienia

Jeœli zasilanie jest w³¹czone - wy³¹czamy je.
Czekamy a¿ kondensatory roz³aduj¹ siê
(mo¿e to potrwaæ kilka sekund). Usuwamy
zworkê Prog i ponownie za³¹czamy uk³ad.

20

Elektronika dla Wszystkich

Rys. 2 Mocowanie baterii

Rys. 3 Schemat monta¿owy

background image

Wejœcie w tryb programowania zostanie za-
sygnalizowane trzykrotnym migniêciem dio-
dy. Teraz pos³uguj¹c siê wczeœniej wspo-
mnian¹ tabel¹ 1 tworzymy kolejne dŸwiêki.
Interfejs jest w miarê prosty. Przycisk Prog
nagrywanie, Losuj – (krótkie naciœniêcie) od-
twarzanie aktualnego dŸwiêku, (przytrzyma-
nie a¿ do migniêcia diody LED) zatwierdze-
nie i przejœcie do nastêpnej pozycji, Zworka
Prog – zerowanie licznika pozycji. Jeœli LED
zgaœnie podczas nagrywania, znaczy to
o przepe³nieniu pamiêci. Jeœli podczas próby
zatwierdzenia mignie cztery razy oznacza to,
¿e nastêpna próbka jest 15 – a taka nie istnie-
je, w zwi¹zku z czym nie mo¿na jej obrabiaæ.

Rada: nie œpiesz siê! 20 sekund to du¿o

jak na 14 komunikatów. Du¿o lepiej brzmi¹
s³owa wypowiadane wyraŸnie i w miarê po-
woli ni¿ szybkie.

Przyjêty sposób programowania umo¿li-

wia zmianê próbek od wybranego momentu.
Na przyk³ad, jeœli bêdziemy chcieli zmieniæ
dŸwiêki losowania i stukania nie musimy
w tym celu zmieniaæ dŸwiêków okreœlaj¹-
cych iloϾ oczek. Wystarczy wszystkie je
„zatwierdziæ”.

Uwaga: Odtworzenie komunikatu, który

nie koñczy siê znacznikiem EOM (mo¿e siê to
zdarzyæ na przyk³ad jeœli nagrywanie zakoñ-

czy³o siê z powodu przepe³nienia pamiêci), lub
próba przewiniêcia (zatwierdzenia) takiego ko-
munikatu spowoduje zawieszenie siê progra-
mu, poniewa¿ bêdzie on oczekiwaæ na ujemny
impuls na wyjœciu LED U1, który nigdy nie
nadejdzie. Jedynym wyjœciem z tej sytuacji jest
wy³¹czenie i ponowne w³¹czenie zasilania.

Parê uwag koñcowych

(niekoniecznie) na serio

W modelu pojawi³ siê pewien problem: gdy
zasilanie „padnie” podczas odtwarzania uk³ad
mo¿e nagraæ jakieœ bzdury do ISD. Jest to
prawdopodobnie spowodowane tym, ¿e zasto-
sowany mikrokontroler AT90S2313-10 pracu-
je poprawnie przy napiêciu 4-6V, a resetuje siê
przy 2,2V. Aby tego unikn¹æ mo¿na u¿yæ
uk³adu AT90S2313-4. Bêdzie to wymaga³o
zmiany kwarcu na 4MHz, lecz nie powinno to
mieæ wiêkszego wp³ywu na dzia³anie uk³adu
(nie trzeba bêdzie zmieniaæ programu).

Mo¿na spróbowaæ tak¿e podj¹æ siê skon-

struowania gadaj¹cej planszy do gry, gadaj¹-
cych pionków oraz gadaj¹cej latarki, która
poinformuje nas, ¿e zgas³a i przynajmniej bê-
dziemy mieli w tej sprawie jasnoϾ.

Chêtnie poznam posiadacza s³uchaj¹cej

kostki.

Rados³aw Koppel

Uwaga! Plik Ÿród³owy programu i pro-

gram wynikowy (bas i bin) mo¿na œci¹gn¹æ
ze strony internetowej www.edw.com.pl/
library/pliki/gadkosrk.zip

21

Elektronika dla Wszystkich

Wykaz elementów

R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100k

R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10k

R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2,2k

R4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5,6k

C1,C4 . . . . . . . . . . . . . . . . . . . . . . . . . . . .10µF/16V
C2,C3,C5 . . . . . . . . . . . . . . . . . . . . . . . . . . . .220nF
C6 . . . . . . . . . . . . . . . . . . . . . . . .100nF ceramiczny
C7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220µF/16V
C8,C9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33pF
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .dioda LED
U1 . . . . . . . . . . . . . . . . . . . .ISD1420 (ew. ISD1416)
U2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .AT90S2313
X1 . . . . . . .niskoprofilowy rezonator kwarcowy 6MHz
S1 . . . . . . . . . . . . .miniaturowy przycisk z klawiszem
S2 . . . . . . . . . . . . . . . . . . . . . . . . . . .µSwitch 1mm
Z2 . . . . . . . . . . . . . . . . . . . .2x Goldpin z jumperem

Komplet podzespo³ów z p³ytk¹ jest

dostêpny w sieci handlowej AVT jako

kit szkolny AVT-3011


Wyszukiwarka

Podobne podstrony:
gadajaca kostka Nieznany
87 Nw 05 Kostka ukladanka id 47 Nieznany (2)
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany
Probiotyki antybiotyki id 66316 Nieznany
miedziowanie cz 2 id 113259 Nieznany
LTC1729 id 273494 Nieznany
D11B7AOver0400 id 130434 Nieznany
analiza ryzyka bio id 61320 Nieznany
pedagogika ogolna id 353595 Nieznany
Misc3 id 302777 Nieznany

więcej podobnych podstron