2002 12 2 w 1, czyli elektroniczna ruletka i kostka do gry


µP3019
µ
P
3
0
1
9
µP3019
µ
P
3
0
1
9
 2 w 1 ,

2
w
1

,
 2 w 1 ,

2
w
1

,
czyli elektroniczna ruletka
c
z
y
l
i
e
l
e
k
t
r
o
n
i
c
z
n
a
r
u
l
e
t
k
a
czyli elektroniczna ruletka
c
z
y
l
i
e
l
e
k
t
r
o
n
i
c
z
n
a
r
u
l
e
t
k
a
i kostka do gry
i
k
o
s
t
k
a
d
o
g
r
y
i kostka do gry
i
k
o
s
t
k
a
d
o
g
r
y
Do czego to służy? Number Drawning, czyli generacja liczb lo- tości zdekodowanego kodu, program wyko-
Opisany moduł przeznaczony jest dla szero- sowych. Funkcja ta jest niewątpliwie rewela- nuje odpowiednią procedurę. Naciśnięcie
kiej rzeszy miłośników różnego rodzaju za- cją w Bascomie, bo nie musimy wymyślać klawisza o kodzie 1 lub Przycisku_1 (S1)
baw i gier, a w szczególności mających żyłkę żadnej procedury pozwalającej generować spowoduje wywołanie procedury Kostka  li-
hazardzisty. Jak sama nazwa wskazuje  2 w 1 liczby losowe, tylko po prostu wpisujemy sting 2. Na początku procedury umieściłem
jest to połączenie dwóch różnych projektów Rnd i w nawiasie górną wartość przedziału, w pętli powtórzeń  symulację losowania,
w jednym. Sięgając po wcześniejsze numery z którego mają być generowane liczby.
EdW, możemy odnalezć kilka projektów do- Druga funkcja Getrc5 odpowiedzialna
Listing 1
tyczących elektronicznej kostki i ruletki. Są jest za dekodowanie kodów pochodzą-
Do
także gotowe kity do samodzielnego monta- cych z pilota, który pracuje oczywiście
Liczba_generowana = Rnd(6)
Waitms 100
żu, ale nie było jeszcze projektu łączącego te w standardzie RC5. Trzecia funkcja
Getrc5(address , Kod) 'dekodowanie kodów
dwie różne  zabawki . Patrząc na fotografię Debounce umożliwia podłączenie prze-
If Address = 0 Or Address = 10 Then
Kod = Kod And &B10111111
modelu, ułożenie diod na płytce nie odzwier- łącznika bezpośrednio do linii portu
End If
ciedla oczek na kostce, ale jeśli zmontujecie oraz eliminuje efekt drgania jego sty- If Kod = 1 Then
Call Kostka
sobie taki właśnie układ, zobaczycie, że łatwo ków. Zadaniem czwartej funkcji Wa-
End If
się w tym połapać. Mianowicie, liczba zapa- itms jest spowolnienie pracy trzech
If Kod = 2 Then
lonych diod będzie oznaczać liczbę oczek na wcześniejszych. Oprócz pętli głównej
Call Ruletka
kostce. Z ruletką nie powinno być najmniej- w programie znajdują się dwie proce- End If
szych problemów, jest klasyczna. A co po- dury: Kostka i Ruletka. W zależności
Debounce Przycisk_1 , 0 , Kostka , Sub
wiecie, aby sterować tą zabawką pilotem na od zmiennej Kod, która przyjmuje war- Debounce Przycisk_2 , 0 , Ruletka , Sub
podczerwień? Myślę, że wszystkim znudziły
Loop
się przyciski umieszczone bezpośrednio na Rys. 1 Schemat ideowy
płytce, a sterowanie bezprzewodowe jest te-
raz na topie. Do wykonania układu zachęcam
wszystkich, którzy lubią się bawić!
Jak to działa?
Schemat ideowy układu pokazany jest na ry-
sunku 1. Połączenie kostki i ruletki nie było-
by możliwe, gdyby nie mikrokontroler z ro-
dziny AVR. Mowa oczywiście o AT90S2313,
który jest bardzo popularny ostatnimi czasy
w µProjektach 3000. Program znajdujÄ…cy siÄ™
w jego wnętrzu został napisany w Bascomie
AVR ver.1.11.6.4. Jak widać, układ jest bar-
dzo prościutki, zawiera dosłownie kilka ele-
mentów, tak więc nie powinien sprawić Wam
żadnych problemów. Zajmijmy się teraz
oprogramowaniem. Opuścimy deklarację
zmiennych i konfigurację portów, a przej-
dziemy od razu do pętli głównej  listing 1.
Jak widać, jest ona bardzo króciutka, zawie-
ra cztery funkcje. Pierwsza funkcja Rnd
oznacza skrót z języka angielskiego Random
Elektronika dla Wszystkich
56 Grudzień 2002
polegającą na miganiu sześciu diod z towa- A, którą będę obracał
rzyszącym im dzwiękiem. Następnie w za- o jedno miejsce w lewo.
leżności od wygenerowanej w pętli głównej Rolowaniu będzie towa-
liczby ustawić port w stan odzwierciedlający rzyszył dzwięk. Zastoso-
tę liczbę. Zastosowałem do tej operacji funk- wanie jednej pętli w dru-
cję Select Case. Wynik w postaci zapalonych giej pozwoliło na stopnio-
diod widoczny jest przez 5 sekund, a po upły- we zmniejszanie prędko-
wie tego czas diody gasną. ści obracania bitu. Aby
 kulka nie zatrzymywała
Listing 2
siÄ™ w jednym miejscu, po-
wtórzyłem drugi raz tę
Sub Kostka:
For L = 1 To 15
samą pętlę, tylko liczbę
Diody = &B11000000
Sound Bzyczek , 500 , 50 powtórzeń zależy od
Diody = &B11111111
zmiennej Liczba_gene-
Waitms 150
Set Bzyczek rowana, czyli wygenero-
Next L
wanej w pętli głównej
Select Case Liczba_generowana
Case 0 : Diody = &B11111110
liczby. Tak jak w przypad-
Case 1 : Diody = &B11111100
ku Kostki wynik widoczny
Case 2 : Diody = &B11111000
Case 3 : Diody = &B11110000
jest przez pewien czas.
Case 4 : Diody = &B11100000
Oprogramowanie mamy
Case 5 : Diody = &B11000000
End Select
za sobÄ…, w razie niejasno-
Wait 5
ści polecam analizę kodu
Diody = &B11111111
End Sub Kostka
zródłowego dostępnego na
stronie internetowej EdW.
Zasadę działania elektronicznej Kostki mamy
Montaż
już za sobą, przejdziemy więc do wyjaśnie- Rys. 2 Schemat montażowy
nia, na czym będzie polegać działanie Rulet- i uruchomienie
ki  listing 3. Wejście do tej procedury moż- Cały układ można zmontować na płytce dru-
Wykaz elementów
liwe jest po naciśnięciu klawisza o kodzie 2 kowanej pokazanej na rysunku 2. Z własne-
lub Przycisku_2 (S2). Jak na pewno zauwa- go doświadczenia polecam rozpoczęcie mon-
Rezystory
żyliście, jest tu pełno, chętnie przeze mnie tażu od zamontowania stabilizatora i spraw-
R1-R8 . . . . . . . . . . . . . . . . . . . . . . . . . .320&!
R
1
R
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
2
0
&!
stosowanych, pętli powtórzeń  wzbogaco- dzenia poprawności jego działania.  Zaszy-
R9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220&!
R
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
0
&!
nych o funkcję Rotate. Na początku proce- cie całej inteligencji układu we wnętrzu mi-
dury zakładam początkową wartość zmiennej kroprocesora spowodowało, że montaż płytki
Kondensatory
jest banalny, więc przeprowadzamy go
C
1
,
C
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
p
F
w sposób typowy, od elementów najniższych C1,C2 . . . . . . . . . . . . . . . . . . . . . . . . . . .22pF
Listing 3
do najwyższych. Diody LED montujemy na
C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF
C
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
0
0
µ
F
Sub Ruletka:
przemian raz koloru czerwonego, raz koloru
Rolowana_liczba = &B11111110
For L = 1 To 25
zielonego. Dwa kolory mają odzwierciedlać
Zwloka = Zwloka + 5 Półprzewodniki
klasyczną ruletkę. Niestety nie ma diod świe-
Rotate Rolowana_liczba , Left , 1
D1-D4 . . . . . . . . . . . . . . . . . . .LED5 czerwone
D
1
D
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
L
E
D
5
c
z
e
r
w
o
n
e
Diody = Rolowana_liczba
cących na czarno, dlatego użyłem koloru zie-
Sound Bzyczek , 800 , 10
D5-D8 . . . . . . . . . . . . . . . . . . . .LED5 zielone
D
5
D
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
L
E
D
5
z
i
e
l
o
n
e
lonego. Po wlutowaniu podstawki i umie-
Set Bzyczek
For I = 1 To Zwloka
IC1 . . . . . . . . . . . . . . . . . . . . . . . .AT90S2313
I
C
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A
T
9
0
S
2
3
1
3
szczeniu w niej zaprogramowanego mikro-
Waitms 2
I
C
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
8
0
5
Next I procesora możemy zaczynać zabawę. IC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7805
Next L
OP1 . . . . . . . . . . . . . . . . . . . . . . . . . .SFH506
O
P
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
S
F
H
5
0
6
For L = 1 To Liczba_generowana
Zwloka = Zwloka + 5 Obsługa układu
Rotate Rolowana_liczba , Left
Przy okazji omawiania programu wspomina-
, 1
Inne
Diody = Rolowana_liczba
łem już o obsłudze naszej  zabawki , ale chcę
Q
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
M
H
z
Sound Bzyczek , 800 , 10 Q1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8MHz
tę informacje zebrać osobno. Obsługa jest ba-
Set Bzyczek
SG1 . . . . . . . . . . . . . . . . . . . . . . .Buzzer piezo
S
G
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
B
u
z
z
e
r
p
i
e
z
o
For I = 1 To Zwloka
nalnie prosta: naciskajÄ…c klawisz 1 lub przy-
Waitms 2
ARK 2
A
R
K
2
cisk_1 (S1)  rzucamy kostkÄ… , naciskajÄ…c
Next I
Next L
klawisz 2 lub Przycisk_2 (S2)  puszczamy
Zwloka = 0
kuleczkę . Życzę wszystkim miłej zabawy!!!
Wait 5
Komplet podzespołów z płytką jest dostępny
Diody = &B11111111
End Sub Ruletka
w sieci handlowej AVT jako kit szkolny AVT-3019
Aukasz Hrapek
Elektronika dla Wszystkich
Grudzień 2002
57


Wyszukiwarka

Podobne podstrony:
1998 12 WÅ‚Ä…cznik elektryczny
ustawa 12 2010 zm ustawy o stos P do KK
284?1203 monter elektrycz przyrz pomiarowych
Elektrotechnika (materiały pomocnicze do ćwiczeń)
Hurtownie danych czyli jak zapewnic dostep do wiedzy tkwiacej w danych
Wprowadzenie do gry na Gieldzie Walutowej Forex
Wprowadzenie do gry na Gieldzie Walutowej Forex
KChQ01Q02Q03 Dwufazowa kostka do wc wyd 2 08
Warunki techniczne zmiana 2002 12 16 Dz U 2003 33 270
A New?ginning Odrodzenie poradnik do gry ep3
18 Wheels of Steel Haulin poradnik do gry ema

więcej podobnych podstron