Elektroniczna kostka do gry.pdf

(358 KB) Pobierz
Elektroniczna kostka do gry - AVT-1110
M I N I P R O J E K T Y
Wspóln¹ cech¹ uk³adów opisywanych w dziale "Miniprojekty" jest ³atwoæ ich praktycznej
realizacji. Na zmontowanie i uruchomienie uk³adu w typowym przypadku wystarcza kwadrans.
Mog¹ to byæ uk³ady stosunkowo skomplikowane funkcjonalnie, niemniej proste w monta¿u i uru-
chomieniu, gdy¿ ich z³o¿onoæ i inteligencja jest zwykle zawarta w uk³adach scalonych.
Wszystkie projekty opisywane w tej rubryce s¹ praktycznie wykonane w laboratorium AVT.
Wiêkszoæ z nich wchodzi do oferty kitów AVT jako wyodrêbniona seria Miniprojekty o nume-
racji zaczynaj¹cej siê na 1000.
Elektroniczna kostka do gry
Ka¿dy z nas lubi³
w m³odoci gry planszowe.
Najczêciej u¿ywano do
nich szeciennych kostek,
które wprowadza³y do gry
element losowy. Teraz
proponujemy elektroniczny
odpowiednik kostki
tradycyjnej.
Niew¹tpliw¹ wad¹ (zale-
t¹?) kostki szeciennej jest
³atwoæ oszukiwania w cza-
sie rzutu. Umiejêtne jej wy-
rzucenie, szczególnie z nie-
wielk¹ si³¹ powoduje, ¿e kos-
tka potoczy siê o zadan¹ licz-
bê cianek i zatrzyma siê np.
na szóstce. Gra staje siê przez
to mniej pasjonuj¹ca.
Kostka elektroniczna jest
pozbawiona tej wady. Jej za-
sada dzia³ania opiera siê na
wyborze jednej sporód setek
tysiêcy liczb generowanych
przez uk³ad. W uk³ad zosta³
wbudowany prosty generator
losowy, który generuje liczby
od 1 do 6. Zadaniem gracza
jest tylko uruchomienie ge-
neratora mikrowy³¹cznikiem
SW1. Ca³y proces mo¿emy
uznaæ za losowy, poniewa¿
gracz zachowuje siê dok³ad-
nie tak samo, jakby wyci¹ga³
kartkê z liczb¹ z olbrzymiej
urny wype³nionej setkami ty-
siêcy jednakowych kartek
z liczbami. Metoda ta elimi-
nuje wy¿ej wspomnian¹ wa-
dê kostki tradycyjnej.
czym uk³adem scalonym jest
mikrokontroler PIC16C54.
Pe³ni on rolê sterownika ca-
³ego urz¹dzenia. Pracuje z ze-
garem typu RC o czêstotli-
woci oko³o 4MHz. Mikrowy-
³¹cznik SW1 s³u¿y do uru-
chamiania procesu generacji
liczby oczek. Uk³ad U2,
ULN2803 jest wzmacniaczem
pr¹du diod LED i piszczyka.
Rezystory R6..R10 ograni-
czaj¹ pr¹d diod wiec¹cych.
Ca³y uk³ad mo¿e byæ za-
silany z niestabilizowanego
ród³a napiêcia 3-5.5V. Ze
wzglêdu na jego przeznacze-
nie i potrzebê mobilnoci
Opis uk³adu
Na rys. 1  pokazano sche-
mat elektryczny uk³adu elek-
tronicznej kostki. Zasadni-
Rys. 1.
Elektronika Praktyczna 1/97
69
30445073.016.png 30445073.017.png 30445073.018.png 30445073.019.png 30445073.001.png
M I N I P R O J E K T Y
Rys. 2.
pracuje niezale¿nie
od zegara systemo-
wego. Podstawo-
wym zastosowa-
niemuk³aduwatch-
doga jest wyprowa-
dzanie programu,
który utkn¹³ gdzie
w chaszczach op-
rogramowania, po
wykonaniu wskutek
zak³óceñ b³êdnie
odczytanego rozka-
zu. Technicznie jest
to licznik o okrelo-
nej d³ugoci, który
po zape³nieniu siê
wystawia sygna³ ze-
rowania. W progra-
mie, co pewien ci¹g
instrukcji, szczegól-
nie w pêtlach pro-
gramowych, nale¿y
u¿ywaæ rozkazu ze-
rowania uk³adu
watchdoga. Wêd-
rówka wykonania
programu w stronê
obszarów, gdzie ta-
kiego rozkazu nie
ma albo zagubienie
cie¿ki logicznej
programu powodu-
je, ¿e licznik watchdoga prze-
pe³ni siê. My wykorzystamy
uk³ad watchdoga do cyklicz-
nego zerowania procesora
w celu ustalenia stanu SW1.
Watchdog bez w³¹czonego
preskalera wystawia sygna³
zerowania procesora co ok.
18ms, przy czym ów czas jest
silnie zale¿ny od temperatu-
ry otoczenia procesora. W ten
sposób dekrementacja zmien-
nej STAN zapewnia, ¿e nigdy
nie jest wiadomo, jaka liczba
bêdzie w tej zmiennej zapisa-
na.
warto przewidzieæ zasilanie
bateryjne. Baterie paluszko-
we R6 wystarcz¹ do zasile-
nia uk³adu elektronicznej
kostki.
ep na naciniêcie mikrowy-
³¹cznika;
- generacja sekwencji liczb
z prêdkoci¹ ok. 100000 na
sekundê (gdy mikrowy³¹cz-
nik jest naciniêty);
- symulacja toczenia siê kos-
tki wed³ug jednego z omiu
wariantów;
-wywietlenie w³aciwej
liczby oczek i wygaszenie
po ok. 3 sekundach.
Algorytm programu
przedstawiono na rys. 2 . Po
restarcie nastêpuje ustawie-
nie wstêpnych parametrów
mikrokontrolera. Wszystkie
linie portów s¹ ustawione ja-
ko wejcia, czyli diody LED
nie wiec¹ siê. Procesor cyk-
licznie sprawdza stan wejcia
RA0 oczekuj¹c na nim stanu
niskiego. Jeli na wejciu
RA0 procesora jest stan wy-
soki, co odpowiada zwolnio-
nemu przyciskowi mikrowy-
³¹cznika, zmienna STAN jest
dekrementowana modulo 6.
Zmienna STAN mo¿e przy-
jmowaæ wartoci od 1 do 6.
Gdy w czasie dekrementacji
zmienna STAN przyjmie war-
toæ 0, zmieniana jest wtedy
na 6. Po zakoñczeniu dekre-
mentacji procesor przechodzi
w stan SLEEP.
Opuszczenie stanu SLEEP
jest mo¿liwe tylko poprzez
zerowanie procesora od uk³a-
du watchdoga. Uk³ad watch-
doga w tej chwili nie u¿ywa
preskalera, posiada w³asny
generator zegarowy, który
Rys. 3.
Ró¿ni¹ siê one miêdzy sob¹
uk³adem liczby wywietla-
nych oczek. Za ka¿dym ra-
zem, po wywietleniu okre-
lonej liczby oczek, na krótko
odzywa siê piszczyk. Po za-
koñczeniu symulacji toczenia
siê kostki zostanie wywiet-
lona taka liczba oczek, jaka
wynika z zawartoci zmien-
nej STAN.
W tej czêci programu
watchdog wspó³pracuje
z preskalerem, który wstêp-
nie dzieli sygna³ zegara wat-
chdoga przez 128, tyle¿ samo
razy spowalniaj¹c wystawie-
nie sygna³u restartu proceso-
ra. 128 pomno¿one przez
18ms daje ok. 2,3s. Przez taki
czas wynik losowania jest
uwidoczniony na diodach
LED.
Po wywietleniu liczby
oczek program wchodzi
w martw¹ pêtlê w oczekiwa-
niu na sygna³ zerowania od
watchdoga. Na rys. 2 przej-
cie do zerowania zaznaczo-
no lini¹ przerywan¹.
Oprogramowanie
Jak widaæ, zestaw elemen-
tów uk³adu elektronicznej
kostki zosta³ sprowadzony do
niezbêdnego minimum.
Wszystkie funkcje kostki s¹
zapisane w programie mikro-
kontrolera. Funkcje te s¹ na-
stêpuj¹ce:
- wyczekiwanie w trybie sle-
WYKAZ ELEMENTÓW
Rezystory
R1, R3: 4,7k
W
(4,7..5,6k
W
)
Z chwil¹ naciniêcia
przycisku SW1 zapalaj¹ siê
wszystkie diody, nastêpuje
dekrementacja modulo
6 zmiennejSTANz prêdko-
ci¹ok.100000razynasekun-
dê. Program stoi w tej pêtli
tak d³ugo, jak jest naciniêty
mikrowy³¹cznik SW1.
Po wykryciu zwolnienia
SW1, dekrementacja zmien-
nej STAN zostaje zatrzyma-
na, za inna zmienna - WA-
RIANT - jest inkrementowa-
na. Zmienna WARIANT de-
cyduje o wyborze wariantu
symulacji toczenia siê kostki.
Pamiêæ procesora pozwoli³a
na zapisanie omiu takich
wariantów. W ramach proce-
dury symulacji toczenia siê
kostki zmienna WARIANT
jest maskowana liczb¹ 7, za-
tem nigdy nie zdarzy siê, ¿e
zmienna WARIANT wyjdzie
poza dopuszczalny zakres.
R2: 47k
W
(43..51k
W
)
W
Kondensatory
C1: 20pF (20pF - 33pF)
C2, C4: 100nF
C3: 100
m
F/10V (47
m
F..220
m
F/
10V..25V)
Pó³przewodniki
D1: 1N4148
D2, D3, D4, D5, D6,
D7, D8: diody LED
f
5mm,
Monta¿
i uruchomienie
Na rys. 3  przedstawiono
rozmieszczenie podzespo³ów
na p³ytce drukowanej. Diody
LED zosta³y ustawione w ta-
kim samym uk³adzie, jak ma
to miejsce na kostce tradycyj-
nej. Zaszycie ca³ej inteli-
gencji uk³adu w jednej ma³ej
kostce procesora spowodowa-
kolor dowolny
U1: PIC16C54-RC/P -
zaprogramowany
U2: ULN2803
Ró¿ne
SW1: mikrowy³¹cznik
SP1: piszczyk z wbudowanym
generatorem na napiêcie 3-
12V
70
Elektronika Praktyczna 1/97
R4, R5, R6, R7, R8,
R9, R10: 100
30445073.002.png 30445073.003.png 30445073.004.png 30445073.005.png 30445073.006.png 30445073.007.png 30445073.008.png 30445073.009.png 30445073.010.png 30445073.011.png 30445073.012.png 30445073.013.png 30445073.014.png
 
M I N I P R O J E K T Y
³o, ¿e monta¿ p³ytki jest ba-
nalny dla wprawnego elekt-
ronika-hobbisty. Monta¿ roz-
poczynamy od elementów
najni¿szych do najwy¿szych,
jakimi s¹ diody LED.
Autor pisz¹c ten akapit
ma trochê ¿alu, ¿e uk³ad nie
sprawi³ mu najmniejszych
k³opotów z uruchomieniem,
dlatego nie mo¿e podzieliæ
siê z Czytelnikami swoimi
dowiadczeniami. Jedynym
k³opotem mo¿e byæ przypad-
kowa zmiana biegunowoci
zasilania, co oczywicie za-
owocuje uszkodzeniem mik-
rokontrolera. Chocia¿ autoro-
wi podczas testowania oprog-
ramowania zdarzy³o siê w³o-
¿yæ kostkê procesora odwrot-
nie ni¿ nale¿y i procesor ja-
ko nie ucierpia³, to jednak
odradzamy wiadome wyko-
nywanie takich eksperymen-
tów. Trzeba bowiem wie-
dzieæ, ¿e nó¿ki zasilaj¹ce s¹
ustawione symetrycznie
wzglêdem osi obrotu obudo-
wy i zmiana biegunowoci
zasilania mikrokontrolera jest
mo¿liwa.
Po zmontowaniu i spraw-
dzeniu poprawnoci monta-
¿u uk³ad zasilamy z trzech
baterii R6. Po naciniêciu
przycisku SW1 powinien
odezwaæ siê piszczyk i po sy-
mulacji toczenia siê kostki
zostanie wywietlona ta licz-
ba, na jakiej zatrzyma³ siê ge-
nerator. Po kilku sekundach
diody LED zgasn¹ i uk³ad bê-
dzie oczekiwa³ na kolejne na-
ciniêcie przycisku SW1.
Przyjemnej zabawy!
Miros³aw Lach, AVT
Kompletny uk³ad i p³ytki
drukowane s¹ dostêpne
w ofercie AVT pod oznacze-
niem AVT-1110.
Elektronika Praktyczna 1/97
71
30445073.015.png
Zgłoś jeśli naruszono regulamin