1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3c.org/TR/html4/strict.dtd"> |
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
2 |
<html> |
2 |
<html> |
3 |
<head> |
3 |
<head> |
4 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
4 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
5 |
<title> MB01B </title> |
5 |
<title> MB01B </title> |
6 |
<meta name="keywords" content="stavebnice MLAB melodický zvonek"> |
6 |
<meta name="keywords" content="stavebnice MLAB melodický zvonek"> |
7 |
<meta name="description" content="Projekt MLAB, Programovatelný melodický zvonek"> |
7 |
<meta name="description" content="Projekt MLAB, Programovatelný melodický zvonek"> |
8 |
<!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --> |
8 |
<!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --> |
9 |
<link rel="StyleSheet" href="../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"> |
9 |
<link rel="StyleSheet" href="../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"> |
10 |
<link rel="shortcut icon" type="image/x-icon" href="../../../../Web/PIC/MLAB.ico"> |
10 |
<link rel="shortcut icon" type="image/x-icon" href="../../../../Web/PIC/MLAB.ico"> |
11 |
<script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script> |
11 |
<script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script> |
12 |
<!-- AUTOINCLUDE END --> |
12 |
<!-- AUTOINCLUDE END --> |
13 |
</head> |
13 |
</head> |
14 |
|
14 |
|
15 |
<body lang="cs"> |
15 |
<body lang="cs"> |
16 |
|
16 |
|
17 |
<!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> |
17 |
<!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> |
18 |
<!-- ============== HLAVICKA ============== --> |
18 |
<!-- ============== HLAVICKA ============== --> |
19 |
<div class="Header"> |
19 |
<div class="Header"> |
20 |
<script type="text/javascript"> |
20 |
<script type="text/javascript"> |
21 |
<!-- |
21 |
<!-- |
22 |
SetRelativePath("../../../../"); |
22 |
SetRelativePath("../../../../"); |
23 |
DrawHeader(); |
23 |
DrawHeader(); |
24 |
// --> |
24 |
// --> |
25 |
</script> |
25 |
</script> |
26 |
<noscript> |
26 |
<noscript> |
27 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
27 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
28 |
</noscript> |
28 |
</noscript> |
29 |
</div> |
29 |
</div> |
30 |
<!-- AUTOINCLUDE END --> |
30 |
<!-- AUTOINCLUDE END --> |
31 |
|
31 |
|
32 |
<!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> |
32 |
<!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> |
33 |
<!-- ============== MENU ============== --> |
33 |
<!-- ============== MENU ============== --> |
34 |
<div class="Menu"> |
34 |
<div class="Menu"> |
35 |
<script type="text/javascript"> |
35 |
<script type="text/javascript"> |
36 |
<!-- |
36 |
<!-- |
37 |
SetRelativePath("../../../../"); |
37 |
SetRelativePath("../../../../"); |
38 |
DrawMenu(); |
38 |
DrawMenu(); |
39 |
// --> |
39 |
// --> |
40 |
</script> |
40 |
</script> |
41 |
<noscript> |
41 |
<noscript> |
42 |
<p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> |
42 |
<p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> |
43 |
</noscript> |
43 |
</noscript> |
44 |
</div> |
44 |
</div> |
45 |
<!-- AUTOINCLUDE END --> |
45 |
<!-- AUTOINCLUDE END --> |
46 |
|
46 |
|
47 |
<!-- ============== TEXT ============== --> |
47 |
<!-- ============== TEXT ============== --> |
48 |
<div class="Text"> |
48 |
<div class="Text"> |
49 |
<p class="Title"> |
49 |
<p class="Title"> |
50 |
Melodický zvonek |
50 |
Melodický zvonek |
51 |
</p> |
51 |
</p> |
52 |
<p class=Autor> |
52 |
<p class=Autor> |
53 |
Milan Horkel |
53 |
Milan Horkel |
54 |
</p> |
54 |
</p> |
55 |
<p class="Subtitle"> |
55 |
<p class="Subtitle"> |
56 |
Melodický zvonek MB01 používá pro generování hudebních |
56 |
Melodický zvonek MB01 používá pro generování hudebních |
57 |
tónů procesor PIC16F819 a umožňuje snadné přeprogramování melodií. Zvonek je |
57 |
tónů procesor PIC16F819 a umožňuje snadné přeprogramování melodií. Zvonek je |
58 |
možno napájet z baterie, protože v klidu neodebírá prakticky žádný |
58 |
možno napájet z baterie, protože v klidu neodebírá prakticky žádný |
59 |
proud. Na výstup je možné připojit reproduktor. |
59 |
proud. Na výstup je možné připojit reproduktor. |
60 |
</p> |
60 |
</p> |
61 |
<p class="Subtitle"> |
61 |
<p class="Subtitle"> |
62 |
<img width=290 height=235 src="Pictures/image001.jpg" |
62 |
<img width=290 height=235 src="Pictures/image001.jpg" |
63 |
alt="Obrázek melodického zvonku"> |
63 |
alt="Obrázek melodického zvonku"> |
64 |
</p> |
64 |
</p> |
65 |
<p> |
65 |
<p> |
66 |
<a href="../MB01B.cs.pdf"><img class="NoBorder" |
66 |
<a href="../MB01B.cs.pdf"><img class="NoBorder" |
67 |
src="../../../../Web/PIC/FileIco_PDF.ico" |
67 |
src="../../../../Web/PIC/FileIco_PDF.ico" |
68 |
alt="Acrobat"> PDF verze</a> |
68 |
alt="Acrobat"> PDF verze</a> |
69 |
</p> |
69 |
</p> |
70 |
|
70 |
|
71 |
<h1> Technické parametry </h1> |
71 |
<h1> Technické parametry </h1> |
72 |
|
72 |
|
73 |
<table> |
73 |
<table> |
74 |
<tr> |
74 |
<tr> |
75 |
<th> Parametr </th> |
75 |
<th> Parametr </th> |
76 |
<th> Hodnota </th> |
76 |
<th> Hodnota </th> |
77 |
<th> Poznámka </th> |
77 |
<th> Poznámka </th> |
78 |
</tr> |
78 |
</tr> |
79 |
<tr> |
79 |
<tr> |
80 |
<td> Napájení </td> |
80 |
<td> Napájení </td> |
81 |
<td> 9V </td> |
81 |
<td> 9V </td> |
82 |
<td> Asi od 4V, maximum 12V </td> |
82 |
<td> Asi od 4V, maximum 12V </td> |
83 |
</tr> |
83 |
</tr> |
84 |
<tr> |
84 |
<tr> |
85 |
<td> Spotřeba v klidu </td> |
85 |
<td> Spotřeba v klidu </td> |
86 |
<td> ≈0 </td> |
86 |
<td> ≈0 </td> |
87 |
<td> Dáno zbytkovým proudem tranzistorů Q2 a Q3 </td> |
87 |
<td> Dáno zbytkovým proudem tranzistorů Q2 a Q3 </td> |
88 |
</tr> |
88 |
</tr> |
89 |
<tr> |
89 |
<tr> |
90 |
<td> Spotřeba při běhu (potichu) </td> |
90 |
<td> Spotřeba při běhu (potichu) </td> |
91 |
<td> 20mA / 30mA </td> |
91 |
<td> 20mA / 30mA </td> |
92 |
<td> Při 9V / 12V </td> |
92 |
<td> Při 9V / 12V </td> |
93 |
</tr> |
93 |
</tr> |
94 |
<tr> |
94 |
<tr> |
95 |
<td> Spotřeba maximálně (nahlas) </td> |
95 |
<td> Spotřeba maximálně (nahlas) </td> |
96 |
<td> 150mA </td> |
96 |
<td> 150mA </td> |
97 |
<td> Při 12V </td> |
97 |
<td> Při 12V </td> |
98 |
</tr> |
98 |
</tr> |
99 |
<tr> |
99 |
<tr> |
100 |
<td> Počet melodií </td> |
100 |
<td> Počet melodií </td> |
101 |
<td> Max 15 </td> |
101 |
<td> Max 15 </td> |
102 |
<td> Všechny možné kombinace 4 tlačítek </td> |
102 |
<td> Všechny možné kombinace 4 tlačítek </td> |
103 |
</tr> |
103 |
</tr> |
104 |
<tr> |
104 |
<tr> |
105 |
<td> Délka skladeb celkem </td> |
105 |
<td> Délka skladeb celkem </td> |
106 |
<td> 512 </td> |
106 |
<td> 512 </td> |
107 |
<td> Počítají se noty, mezery a změny parametrů (například tempa) </td> |
107 |
<td> Počítají se noty, mezery a změny parametrů (například tempa) </td> |
108 |
</tr> |
108 |
</tr> |
109 |
<tr> |
109 |
<tr> |
110 |
<td> Spouštění skladeb </td> |
110 |
<td> Spouštění skladeb </td> |
111 |
<td> 4 tlačítka </td> |
111 |
<td> 4 tlačítka </td> |
112 |
<td> Skladby od páté výše se spouštějí stiskem více tlačítek najednou </td> |
112 |
<td> Skladby od páté výše se spouštějí stiskem více tlačítek najednou </td> |
113 |
</tr> |
113 |
</tr> |
114 |
<tr> |
114 |
<tr> |
115 |
<td> Rozměry </td> |
115 |
<td> Rozměry </td> |
116 |
<td> 61x71x20mm </td> |
116 |
<td> 61x71x20mm </td> |
117 |
<td> Bez přečnívajícího konektoru a šroubů </td> |
117 |
<td> Bez přečnívajícího konektoru a šroubů </td> |
118 |
</tr> |
118 |
</tr> |
119 |
</table> |
119 |
</table> |
120 |
|
120 |
|
121 |
<h1> Popis konstrukce </h1> |
121 |
<h1> Popis konstrukce </h1> |
122 |
|
122 |
|
123 |
<h2> Slovo úvodem </h2> |
123 |
<h2> Slovo úvodem </h2> |
124 |
|
124 |
|
125 |
<p> |
125 |
<p> |
126 |
Cílem návrhu tohoto melodického zvonku bylo navrhnout moderní řešení, |
126 |
Cílem návrhu tohoto melodického zvonku bylo navrhnout moderní řešení, |
127 |
se kterým i méně vybavený amatér může něco dále dělat. Díky pokroku |
127 |
se kterým i méně vybavený amatér může něco dále dělat. Díky pokroku |
128 |
v technologii výroby integrovaných obvodů se v poslední době |
128 |
v technologii výroby integrovaných obvodů se v poslední době |
129 |
začínají objevovat velmi zajímavé mikrořadiče (jednočipové mikropočítače) |
129 |
začínají objevovat velmi zajímavé mikrořadiče (jednočipové mikropočítače) |
130 |
za velmi rozumnou cenu. Zde byl použit jeden z nich, jmenuje se |
130 |
za velmi rozumnou cenu. Zde byl použit jeden z nich, jmenuje se |
131 |
PIC16F819 a vyrábí jej firma MICROCHIP. |
131 |
PIC16F819 a vyrábí jej firma MICROCHIP. |
132 |
</p> |
132 |
</p> |
133 |
|
133 |
|
134 |
<p> |
134 |
<p> |
135 |
Procesor je poměrně rychlý (5 miliónů instrukcí za sekundu), má malou |
135 |
Procesor je poměrně rychlý (5 miliónů instrukcí za sekundu), má malou |
136 |
spotřebu (cca 2mA za plného běhu) a funguje v širokém rozsahu napájení |
136 |
spotřebu (cca 2mA za plného běhu) a funguje v širokém rozsahu napájení |
137 |
(od 2V do 5.5V). Je tedy velmi vhodný pro zařízení napájené z baterie. |
137 |
(od 2V do 5.5V). Je tedy velmi vhodný pro zařízení napájené z baterie. |
138 |
Kromě toho má FLASH paměť programu (2048 slov po 14 bitech), kterou je |
138 |
Kromě toho má FLASH paměť programu (2048 slov po 14 bitech), kterou je |
139 |
možné mnohokrát přeprogramovat. Procesor může tuto paměť FLASH sám |
139 |
možné mnohokrát přeprogramovat. Procesor může tuto paměť FLASH sám |
140 |
přeprogramovat. |
140 |
přeprogramovat. |
141 |
</p> |
141 |
</p> |
142 |
|
142 |
|
143 |
<p> |
143 |
<p> |
144 |
Část paměti programu je vyhrazena pro uložení melodií a je tak možné |
144 |
Část paměti programu je vyhrazena pro uložení melodií a je tak možné |
145 |
dodatečně melodie měnit. Není k tomu potřeba žádný speciální |
145 |
dodatečně melodie měnit. Není k tomu potřeba žádný speciální |
146 |
programátor, stačí připojit obyčejné PC. Nové definice skladeb se |
146 |
programátor, stačí připojit obyčejné PC. Nové definice skladeb se |
147 |
přenášejí do melodického zvonku prostřednictvím sériové linky RS232. |
147 |
přenášejí do melodického zvonku prostřednictvím sériové linky RS232. |
148 |
Aby nemohlo dojít k nechtěnému smazání programu, je část paměti |
148 |
Aby nemohlo dojít k nechtěnému smazání programu, je část paměti |
149 |
FLASH procesoru uzamčena, aby ji procesor nemohl přepsat. |
149 |
FLASH procesoru uzamčena, aby ji procesor nemohl přepsat. |
150 |
</p> |
150 |
</p> |
151 |
|
151 |
|
152 |
<h2> Zapojení melodického zvonku </h2> |
152 |
<h2> Zapojení melodického zvonku </h2> |
153 |
|
153 |
|
154 |
<p> |
154 |
<p> |
155 |
<img width=486 height=888 src="Pictures/image003.gif" |
155 |
<img width=486 height=888 src="Pictures/image003.gif" |
156 |
alt=""> |
156 |
alt=""> |
157 |
</p> |
157 |
</p> |
158 |
|
158 |
|
159 |
<h3> Procesor a obvody jeho napájení</h3> |
159 |
<h3> Procesor a obvody jeho napájení</h3> |
160 |
|
160 |
|
161 |
<p> |
161 |
<p> |
162 |
Srdcem zvonku je procesor U1. Časování je řízeno krystalem X1. Aby bylo |
162 |
Srdcem zvonku je procesor U1. Časování je řízeno krystalem X1. Aby bylo |
163 |
možno procesor naprogramovat přímo v zapojení, je zde programovací |
163 |
možno procesor naprogramovat přímo v zapojení, je zde programovací |
164 |
konektor J6, který slouží pro naprogramování programu. |
164 |
konektor J6, který slouží pro naprogramování programu. |
165 |
V běžném provozu ani při přeprogramovávání melodií již není třeba. |
165 |
V běžném provozu ani při přeprogramovávání melodií již není třeba. |
166 |
</p> |
166 |
</p> |
167 |
|
167 |
|
168 |
<p> |
168 |
<p> |
169 |
Zvonek začíná hrát po stisku některého tlačítka (nebo více najednou). |
169 |
Zvonek začíná hrát po stisku některého tlačítka (nebo více najednou). |
170 |
Při stlačení tlačítka se přes diody D3 až D6 přivede zemní potenciál |
170 |
Při stlačení tlačítka se přes diody D3 až D6 přivede zemní potenciál |
171 |
na vstupy procesoru. Vstupní nožičky procesoru jsou opatřeny ochrannými |
171 |
na vstupy procesoru. Vstupní nožičky procesoru jsou opatřeny ochrannými |
172 |
diodami (jsou uvnitř procesoru) a přes tyto diody dojde k připojení |
172 |
diodami (jsou uvnitř procesoru) a přes tyto diody dojde k připojení |
173 |
zemního potenciálu i signálu GND_PIC. Tím dojde k tomu, že procesor |
173 |
zemního potenciálu i signálu GND_PIC. Tím dojde k tomu, že procesor |
174 |
je napájen (přes odpor R1) a jeho program se rozběhne. Protože procesor |
174 |
je napájen (přes odpor R1) a jeho program se rozběhne. Protože procesor |
175 |
snese maximálně 5.5V, je velikost napájecího napětí mezi vývody GND a VDD |
175 |
snese maximálně 5.5V, je velikost napájecího napětí mezi vývody GND a VDD |
176 |
procesoru omezeno Zenerovou diodou D2 na cca 5V. |
176 |
procesoru omezeno Zenerovou diodou D2 na cca 5V. |
177 |
</p> |
177 |
</p> |
178 |
|
178 |
|
179 |
<p> |
179 |
<p> |
180 |
Po rozběhu programu se nejdříve aktivuje signál POWER_ON# (do stavu L) |
180 |
Po rozběhu programu se nejdříve aktivuje signál POWER_ON# (do stavu L) |
181 |
a přes Q1 a Q2 se připojí GND_PIC na zem. Po skončení melodie se signál |
181 |
a přes Q1 a Q2 se připojí GND_PIC na zem. Po skončení melodie se signál |
182 |
POWER_ON# deaktivuje (přejde do třetího stavu) a procesor tak sám sobě |
182 |
POWER_ON# deaktivuje (přejde do třetího stavu) a procesor tak sám sobě |
183 |
vypne napájení. Tím je zajištěna prakticky nulová klidová spotřeba. |
183 |
vypne napájení. Tím je zajištěna prakticky nulová klidová spotřeba. |
184 |
</p> |
184 |
</p> |
185 |
|
185 |
|
186 |
<p> |
186 |
<p> |
187 |
Na vývodu RB3 procesoru generuje program výstupní signál (ať už přímo |
187 |
Na vývodu RB3 procesoru generuje program výstupní signál (ať už přímo |
188 |
digitálně nebo pomocí PWM) a na vstupu RB1 očekává sériová data |
188 |
digitálně nebo pomocí PWM) a na vstupu RB1 očekává sériová data |
189 |
z počítače při přeprogramovávání melodií. Přestože RS232 signály jsou |
189 |
z počítače při přeprogramovávání melodií. Přestože RS232 signály jsou |
190 |
v rozsahu +/- 5 až +/-15V, je možné tyto signály připojit přímo |
190 |
v rozsahu +/- 5 až +/-15V, je možné tyto signály připojit přímo |
191 |
ke vstupu pouze přes omezovací odpor R7. Ochranné diody na vstupu procesoru |
191 |
ke vstupu pouze přes omezovací odpor R7. Ochranné diody na vstupu procesoru |
192 |
ochrání vstupní tranzistory před napětím nad a pod napájecím napětím |
192 |
ochrání vstupní tranzistory před napětím nad a pod napájecím napětím |
193 |
procesoru. Odpor R8 zajišťuje definovanou úroveň na vstupu, pokud není |
193 |
procesoru. Odpor R8 zajišťuje definovanou úroveň na vstupu, pokud není |
194 |
nic připojeno. |
194 |
nic připojeno. |
195 |
</p> |
195 |
</p> |
196 |
|
196 |
|
197 |
<p> |
197 |
<p> |
198 |
Propojka PGM MODE (J5) slouží k vynucenému zapnutí napájení |
198 |
Propojka PGM MODE (J5) slouží k vynucenému zapnutí napájení |
199 |
v době programování nových melodií i v době programování |
199 |
v době programování nových melodií i v době programování |
200 |
programu do procesoru přes ISP konektor (J6) . Program před vlastním |
200 |
programu do procesoru přes ISP konektor (J6) . Program před vlastním |
201 |
programováním paměti FLASH kontroluje, že je tato propojka nasunuta, |
201 |
programováním paměti FLASH kontroluje, že je tato propojka nasunuta, |
202 |
a je tak zajištěno, že ani při vybité baterii nemůže prakticky dojít |
202 |
a je tak zajištěno, že ani při vybité baterii nemůže prakticky dojít |
203 |
ke smazání melodie. Ke smazání programu nemůže dojít nikdy, protože tato |
203 |
ke smazání melodie. Ke smazání programu nemůže dojít nikdy, protože tato |
204 |
část paměti programu je chráněna nastavením ochranných bitů konfiguračního |
204 |
část paměti programu je chráněna nastavením ochranných bitů konfiguračního |
205 |
slova a procesor sám sobě tuto paměť nemůže přepsat. |
205 |
slova a procesor sám sobě tuto paměť nemůže přepsat. |
206 |
</p> |
206 |
</p> |
207 |
|
207 |
|
208 |
<h3> NF Zesilovač </h3> |
208 |
<h3> NF Zesilovač </h3> |
209 |
|
209 |
|
210 |
<p> |
210 |
<p> |
211 |
Jako koncový zesilovač byl použit obvod LM386 v klasickém zapojení. |
211 |
Jako koncový zesilovač byl použit obvod LM386 v klasickém zapojení. |
212 |
Jeho napájení je spínáno tranzistorem Q3 jen po dobu hraní melodie. |
212 |
Jeho napájení je spínáno tranzistorem Q3 jen po dobu hraní melodie. |
213 |
Tranzistor Q3 je buzen vývodem RA4 procesoru PIC. |
213 |
Tranzistor Q3 je buzen vývodem RA4 procesoru PIC. |
214 |
</p> |
214 |
</p> |
215 |
|
215 |
|
216 |
<h2> Mechanická konstrukce </h2> |
216 |
<h2> Mechanická konstrukce </h2> |
217 |
|
217 |
|
218 |
<p> |
218 |
<p> |
219 |
Melodický zvonek je sestaven na jednostranném plošném spoji se čtyřmi |
219 |
Melodický zvonek je sestaven na jednostranném plošném spoji se čtyřmi |
220 |
upevňovacími otvory v rozích. Podél kratší strany jsou 4 tlačítka |
220 |
upevňovacími otvory v rozích. Podél kratší strany jsou 4 tlačítka |
221 |
pro spouštění melodií. Ke konektoru J3 je možné připojit vnější tlačítka. |
221 |
pro spouštění melodií. Ke konektoru J3 je možné připojit vnější tlačítka. |
222 |
Místo odporového trimru P1 je možné připojit (logaritmický) potenciometr |
222 |
Místo odporového trimru P1 je možné připojit (logaritmický) potenciometr |
223 |
jako regulátor hlasitosti. |
223 |
jako regulátor hlasitosti. |
224 |
</p> |
224 |
</p> |
225 |
|
225 |
|
226 |
<h2> Osazení a oživení </h2> |
226 |
<h2> Osazení a oživení </h2> |
227 |
|
227 |
|
228 |
<h3> Osazení </h3> |
228 |
<h3> Osazení </h3> |
229 |
|
229 |
|
230 |
<p> |
230 |
<p> |
231 |
Při osazování je třeba dodržet polarity diod, tranzistorů a elektrolytických |
231 |
Při osazování je třeba dodržet polarity diod, tranzistorů a elektrolytických |
232 |
kondenzátorů. Pokud jsou použity funkční součástky a jsou správně osazeny, |
232 |
kondenzátorů. Pokud jsou použity funkční součástky a jsou správně osazeny, |
233 |
mělo by zařízení fungovat na první pokus. Podmínkou je použití naprogramovaného |
233 |
mělo by zařízení fungovat na první pokus. Podmínkou je použití naprogramovaného |
234 |
procesoru. |
234 |
procesoru. |
235 |
</p> |
235 |
</p> |
236 |
|
236 |
|
237 |
<h3> Oživení </h3> |
237 |
<h3> Oživení </h3> |
238 |
|
238 |
|
239 |
<p> |
239 |
<p> |
240 |
Nejprve zkontrolujeme polaritu ochranné diody D1 a vizuálně zkontrolujeme |
240 |
Nejprve zkontrolujeme polaritu ochranné diody D1 a vizuálně zkontrolujeme |
241 |
zejména zkraty. Procesor i zesilovač můžeme zasunout do patic. Pokud si |
241 |
zejména zkraty. Procesor i zesilovač můžeme zasunout do patic. Pokud si |
242 |
troufáme, můžeme je připájet přímo do desky. |
242 |
troufáme, můžeme je připájet přímo do desky. |
243 |
</p> |
243 |
</p> |
244 |
|
244 |
|
245 |
<p> |
245 |
<p> |
246 |
Pokud máme procesor předem naprogramovaný, je oživení snazší, protože by |
246 |
Pokud máme procesor předem naprogramovaný, je oživení snazší, protože by |
247 |
zvonek měl rovnou začít fungovat. Nejprve připojíme zdroj o napětí cca 5V |
247 |
zvonek měl rovnou začít fungovat. Nejprve připojíme zdroj o napětí cca 5V |
248 |
s omezením proudu (asi na 100mA). Ujistíme se, že <b>není</b> |
248 |
s omezením proudu (asi na 100mA). Ujistíme se, že <b>není</b> |
249 |
nasunuta propojka na J5. V klidu by zvonek neměl odebírat prakticky |
249 |
nasunuta propojka na J5. V klidu by zvonek neměl odebírat prakticky |
250 |
žádný proud. Po stisku tlačítka by měl zvonek hrát některou |
250 |
žádný proud. Po stisku tlačítka by měl zvonek hrát některou |
251 |
z předprogramovaných melodií. Pokud hraje, postupně zvyšujeme napájecí |
251 |
z předprogramovaných melodií. Pokud hraje, postupně zvyšujeme napájecí |
252 |
napětí až na cca 10V a přitom kontrolujeme, zda napájecí napětí procesoru |
252 |
napětí až na cca 10V a přitom kontrolujeme, zda napájecí napětí procesoru |
253 |
(nejsnáze se měří na Zenerově diodě D2) nepřekročí 5.5V. |
253 |
(nejsnáze se měří na Zenerově diodě D2) nepřekročí 5.5V. |
254 |
</p> |
254 |
</p> |
255 |
|
255 |
|
256 |
<p> |
256 |
<p> |
257 |
Pokud nehraje je třeba zkontrolovat toto: |
257 |
Pokud nehraje je třeba zkontrolovat toto: |
258 |
</p> |
258 |
</p> |
259 |
|
259 |
|
260 |
<ul> |
260 |
<ul> |
261 |
<li> napájení na procesoru při stisku tlačítka (dioda D2) – cca 3 až 5V, </li> |
261 |
<li> napájení na procesoru při stisku tlačítka (dioda D2) – cca 3 až 5V, </li> |
262 |
<li> zda kmitá oscilátor procesoru – logickou sondou na vývodu CLKO procesoru, </li> |
262 |
<li> zda kmitá oscilátor procesoru – logickou sondou na vývodu CLKO procesoru, </li> |
263 |
<li> zda fungují tlačítka – napětí na RB4 a RB7 klesá k nule při stisku tlačítka, </li> |
263 |
<li> zda fungují tlačítka – napětí na RB4 a RB7 klesá k nule při stisku tlačítka, </li> |
264 |
<li> zda spínají tranzistory Q1 a Q2 – při nasunuté propojce na J5, </li> |
264 |
<li> zda spínají tranzistory Q1 a Q2 – při nasunuté propojce na J5, </li> |
265 |
<li> zda procesor generuje zvuk - na RB3 telefonním sluchátkem nebo piezoelementem proti zemi, </li> |
265 |
<li> zda procesor generuje zvuk - na RB3 telefonním sluchátkem nebo piezoelementem proti zemi, </li> |
266 |
<li> zda spíná Q3 napětí pro zesilovač U2. </li> |
266 |
<li> zda spíná Q3 napětí pro zesilovač U2. </li> |
267 |
</ul> |
267 |
</ul> |
268 |
|
268 |
|
269 |
<p> |
269 |
<p> |
270 |
Po skončení skladby by se zvonek měl opět vypnout a neměl by odebírat žádný proud. |
270 |
Po skončení skladby by se zvonek měl opět vypnout a neměl by odebírat žádný proud. |
271 |
</p> |
271 |
</p> |
272 |
|
272 |
|
273 |
<p> |
273 |
<p> |
274 |
Pokud procesor nemáme nahraný, osadíme jej do zvonku, <b>nasuneme</b> |
274 |
Pokud procesor nemáme nahraný, osadíme jej do zvonku, <b>nasuneme</b> |
275 |
propojku na J5 a zkontrolujeme při postupném zvyšování napájecího napětí, |
275 |
propojku na J5 a zkontrolujeme při postupném zvyšování napájecího napětí, |
276 |
zda na procesoru (D2) je napětí cca 5V. Pokud ano, je možno ke konektoru J6 |
276 |
zda na procesoru (D2) je napětí cca 5V. Pokud ano, je možno ke konektoru J6 |
277 |
připojit programátor a nahrát do procesoru program. Propojku J5 opět vyjmeme. |
277 |
připojit programátor a nahrát do procesoru program. Propojku J5 opět vyjmeme. |
278 |
Zbytek oživování je stejný. |
278 |
Zbytek oživování je stejný. |
279 |
</p> |
279 |
</p> |
280 |
|
280 |
|
281 |
<p> |
281 |
<p> |
282 |
<img width=432 height=346 src="Pictures/image002.jpg" |
282 |
<img width=432 height=346 src="Pictures/image002.jpg" |
283 |
alt="Osazovák"> |
283 |
alt="Osazovák"> |
284 |
</p> |
284 |
</p> |
285 |
|
285 |
|
286 |
<table class="Soupiska"> |
286 |
<table class="Soupiska"> |
287 |
<tr> |
287 |
<tr> |
288 |
<th> Reference </th> |
288 |
<th> Reference </th> |
289 |
<th> Hodnota </th> |
289 |
<th> Hodnota </th> |
290 |
<th> Reference </th> |
290 |
<th> Reference </th> |
291 |
<th> Hodnota </th> |
291 |
<th> Hodnota </th> |
292 |
</tr> |
292 |
</tr> |
293 |
<tr> |
293 |
<tr> |
294 |
<th colspan="2"> Odpory </th> |
294 |
<th colspan="2"> Odpory </th> |
295 |
<th colspan="2"> Polovodiče a krystaly </th> |
295 |
<th colspan="2"> Polovodiče a krystaly </th> |
296 |
</tr> |
296 |
</tr> |
297 |
<tr> |
297 |
<tr> |
298 |
<td> R15 </td> |
298 |
<td> R15 </td> |
299 |
<td> 10 </td> |
299 |
<td> 10 </td> |
300 |
<td> D1 </td> |
300 |
<td> D1 </td> |
301 |
<td> 1N4005 </td> |
301 |
<td> 1N4005 </td> |
302 |
</tr> |
302 |
</tr> |
303 |
<tr> |
303 |
<tr> |
304 |
<td> R4,R1 </td> |
304 |
<td> R4,R1 </td> |
305 |
<td> 680 </td> |
305 |
<td> 680 </td> |
306 |
<td> D3,D4,D5,D6 </td> |
306 |
<td> D3,D4,D5,D6 </td> |
307 |
<td> 1N4148 </td> |
307 |
<td> 1N4148 </td> |
308 |
</tr> |
308 |
</tr> |
309 |
<tr> |
309 |
<tr> |
310 |
<td> R11 </td> |
310 |
<td> R11 </td> |
311 |
<td> 2k2 </td> |
311 |
<td> 2k2 </td> |
312 |
<td> D2 </td> |
312 |
<td> D2 </td> |
313 |
<td> BZX83V005.1 </td> |
313 |
<td> BZX83V005.1 </td> |
314 |
</tr> |
314 |
</tr> |
315 |
<tr> |
315 |
<tr> |
316 |
<td> R2,R3,R5,R6,R9,R10,R13,R14 </td> |
316 |
<td> R2,R3,R5,R6,R9,R10,R13,R14 </td> |
317 |
<td> 10k </td> |
317 |
<td> 10k </td> |
318 |
<td> Q1 </td> |
318 |
<td> Q1 </td> |
319 |
<td> BC327 </td> |
319 |
<td> BC327 </td> |
320 |
</tr> |
320 |
</tr> |
321 |
<tr> |
321 |
<tr> |
322 |
<td> R7,R12 </td> |
322 |
<td> R7,R12 </td> |
323 |
<td> 27k </td> |
323 |
<td> 27k </td> |
324 |
<td> Q2 </td> |
324 |
<td> Q2 </td> |
325 |
<td> BC337 </td> |
325 |
<td> BC337 </td> |
326 |
</tr> |
326 |
</tr> |
327 |
<tr> |
327 |
<tr> |
328 |
<td> R8 </td> |
328 |
<td> R8 </td> |
329 |
<td> 100k </td> |
329 |
<td> 100k </td> |
330 |
<td> Q3 </td> |
330 |
<td> Q3 </td> |
331 |
<td> BC640 </td> |
331 |
<td> BC640 </td> |
332 |
</tr> |
332 |
</tr> |
333 |
<tr> |
333 |
<tr> |
334 |
<th colspan="2"> Odporové trimry </th> |
334 |
<th colspan="2"> Odporové trimry </th> |
335 |
<td> U1 </td> |
335 |
<td> U1 </td> |
336 |
<td> PIC16F819-I/P </td> |
336 |
<td> PIC16F819-I/P </td> |
337 |
</tr> |
337 |
</tr> |
338 |
<tr> |
338 |
<tr> |
339 |
<td> P1 </td> |
339 |
<td> P1 </td> |
340 |
<td> 10k </td> |
340 |
<td> 10k </td> |
341 |
<td> U2 </td> |
341 |
<td> U2 </td> |
342 |
<td> LM386 </td> |
342 |
<td> LM386 </td> |
343 |
</tr> |
343 |
</tr> |
344 |
<tr> |
344 |
<tr> |
345 |
<th colspan="2"> Kondenzátory </th> |
345 |
<th colspan="2"> Kondenzátory </th> |
346 |
<td> X1 </td> |
346 |
<td> X1 </td> |
347 |
<td> 20MHz </td> |
347 |
<td> 20MHz </td> |
348 |
</tr> |
348 |
</tr> |
349 |
<tr> |
349 |
<tr> |
350 |
<td> C4,C5 </td> |
350 |
<td> C4,C5 </td> |
351 |
<td> 22pF </td> |
351 |
<td> 22pF </td> |
352 |
<th colspan="2"> Mechanické součásti </th> |
352 |
<th colspan="2"> Mechanické součásti </th> |
353 |
</tr> |
353 |
</tr> |
354 |
<tr> |
354 |
<tr> |
355 |
<td> C14 </td> |
355 |
<td> C14 </td> |
356 |
<td> 4n7 </td> |
356 |
<td> 4n7 </td> |
357 |
<td> SW1,SW2,SW3,SW4 </td> |
357 |
<td> SW1,SW2,SW3,SW4 </td> |
358 |
<td> P-B1720 </td> |
358 |
<td> P-B1720 </td> |
359 |
</tr> |
359 |
</tr> |
360 |
<tr> |
360 |
<tr> |
361 |
<td> C3,C6,C7,C8,C9 </td> |
361 |
<td> C3,C6,C7,C8,C9 </td> |
362 |
<td> 10nF </td> |
362 |
<td> 10nF </td> |
363 |
<td> J1,J2 </td> |
363 |
<td> J1,J2 </td> |
364 |
<td> JUMP3 </td> |
364 |
<td> JUMP3 </td> |
365 |
</tr> |
365 |
</tr> |
366 |
<tr> |
366 |
<tr> |
367 |
<td> C15,C16 </td> |
367 |
<td> C15,C16 </td> |
368 |
<td> 33nF </td> |
368 |
<td> 33nF </td> |
369 |
<td> J3 </td> |
369 |
<td> J3 </td> |
370 |
<td> JUMP5 </td> |
370 |
<td> JUMP5 </td> |
371 |
</tr> |
371 |
</tr> |
372 |
<tr> |
372 |
<tr> |
373 |
<td> C1,C2,C10 </td> |
373 |
<td> C1,C2,C10 </td> |
374 |
<td> 100nF </td> |
374 |
<td> 100nF </td> |
375 |
<td> J5 </td> |
375 |
<td> J5 </td> |
376 |
<td> JUMP2 </td> |
376 |
<td> JUMP2 </td> |
377 |
</tr> |
377 |
</tr> |
378 |
<tr> |
378 |
<tr> |
379 |
<td> C13 </td> |
379 |
<td> C13 </td> |
380 |
<td> 1M/63V </td> |
380 |
<td> 1M/63V </td> |
381 |
<td> J6 </td> |
381 |
<td> J6 </td> |
382 |
<td> PIC_ISP </td> |
382 |
<td> PIC_ISP </td> |
383 |
</tr> |
383 |
</tr> |
384 |
<tr> |
384 |
<tr> |
385 |
<td> C12 </td> |
385 |
<td> C12 </td> |
386 |
<td> 47uF/16V </td> |
386 |
<td> 47uF/16V </td> |
387 |
<td> J4 </td> |
387 |
<td> J4 </td> |
388 |
<td> DB9M_90 </td> |
388 |
<td> DB9M_90 </td> |
389 |
</tr> |
389 |
</tr> |
390 |
<tr> |
390 |
<tr> |
391 |
<td> C11,C17 </td> |
391 |
<td> C11,C17 </td> |
392 |
<td> 330uF/16V </td> |
392 |
<td> 330uF/16V </td> |
393 |
<td> </td> |
393 |
<td> </td> |
394 |
<td> </td> |
394 |
<td> </td> |
395 |
</tr> |
395 |
</tr> |
396 |
</table> |
396 |
</table> |
397 |
|
397 |
|
398 |
<h1> Trocha hudební teorie </h1> |
398 |
<h1> Trocha hudební teorie </h1> |
399 |
|
399 |
|
400 |
<p> |
400 |
<p> |
401 |
Aby hudba zněla libozvučně (příjemně), je třeba, aby používané tóny |
401 |
Aby hudba zněla libozvučně (příjemně), je třeba, aby používané tóny |
402 |
ve stupnicích splňovaly podmínku, že jejich frekvence mají (malý) |
402 |
ve stupnicích splňovaly podmínku, že jejich frekvence mají (malý) |
403 |
společný násobek. Například dvojnásobek jednoho tónu aby byl |
403 |
společný násobek. Například dvojnásobek jednoho tónu aby byl |
404 |
trojnásobkem jiného tónu. Takových stupnic lze skonstruovat mnoho. |
404 |
trojnásobkem jiného tónu. Takových stupnic lze skonstruovat mnoho. |
405 |
Aby bylo možné na klavír (nebo podobný nástroj, který umí vyrábět |
405 |
Aby bylo možné na klavír (nebo podobný nástroj, který umí vyrábět |
406 |
jen určité konkrétní tóny) hrát skladby komponované v různých |
406 |
jen určité konkrétní tóny) hrát skladby komponované v různých |
407 |
stupnicích bez přelaďování nástroje, používá se tzv. temperované ladění. |
407 |
stupnicích bez přelaďování nástroje, používá se tzv. temperované ladění. |
408 |
Temperované ladění není ideální, jedná se o kompromis hřešící na to, |
408 |
Temperované ladění není ideální, jedná se o kompromis hřešící na to, |
409 |
že lidský sluch není dokonalý. |
409 |
že lidský sluch není dokonalý. |
410 |
</p> |
410 |
</p> |
411 |
|
411 |
|
412 |
<p> |
412 |
<p> |
413 |
Temperované ladění spočívá v tom, že se oktáva rozdělí na 12 stejných |
413 |
Temperované ladění spočívá v tom, že se oktáva rozdělí na 12 stejných |
414 |
dílů, které mají geometrický odstup frekvencí tónů. Oktáva zahrnuje frekvence |
414 |
dílů, které mají geometrický odstup frekvencí tónů. Oktáva zahrnuje frekvence |
415 |
v rozsahu 1:2 a je v ní celkem 7 tónů a 5 půltónů. |
415 |
v rozsahu 1:2 a je v ní celkem 7 tónů a 5 půltónů. |
416 |
Z toho vyplývá, že poměr sousedních tónů a půltónů je vždy stejný a je |
416 |
Z toho vyplývá, že poměr sousedních tónů a půltónů je vždy stejný a je |
417 |
roven 2<sup>1/12</sup>, tedy přibližně 1:1.06 . |
417 |
roven 2<sup>1/12</sup>, tedy přibližně 1:1.06 . |
418 |
</p> |
418 |
</p> |
419 |
|
419 |
|
420 |
<p> |
420 |
<p> |
421 |
Následující tabulka uvádí pro jednotlivé tóny jejich frekvence. |
421 |
Následující tabulka uvádí pro jednotlivé tóny jejich frekvence. |
422 |
Vychází se z frekvence komorního A, která je 440Hz. Tóny o |
422 |
Vychází se z frekvence komorního A, která je 440Hz. Tóny o |
423 |
oktávu výš mají frekvence dvakrát vyšší, a naopak tóny o oktávu níž mají |
423 |
oktávu výš mají frekvence dvakrát vyšší, a naopak tóny o oktávu níž mají |
424 |
frekvence poloviční. |
424 |
frekvence poloviční. |
425 |
</p> |
425 |
</p> |
426 |
|
426 |
|
427 |
<table> |
427 |
<table> |
428 |
<tr> |
428 |
<tr> |
429 |
<th> ↓ Tón </th> |
429 |
<th> ↓ Tón </th> |
430 |
<th colspan="8" class="Center"> Frekvence [Hz]</th> |
430 |
<th colspan="8" class="Center"> Frekvence [Hz]</th> |
431 |
</tr> |
431 |
</tr> |
432 |
<tr> |
432 |
<tr> |
433 |
<th> Oktáva →</th> |
433 |
<th> Oktáva →</th> |
434 |
<th class="Center"> 0 </th> |
434 |
<th class="Center"> 0 </th> |
435 |
<th class="Center"> 1 </th> |
435 |
<th class="Center"> 1 </th> |
436 |
<th class="Center"> 2 </th> |
436 |
<th class="Center"> 2 </th> |
437 |
<th class="Center"> 3 </th> |
437 |
<th class="Center"> 3 </th> |
438 |
<th class="Center"> 4 </th> |
438 |
<th class="Center"> 4 </th> |
439 |
<th class="Center"> 5 </th> |
439 |
<th class="Center"> 5 </th> |
440 |
<th class="Center"> 6 </th> |
440 |
<th class="Center"> 6 </th> |
441 |
<th class="Center"> 7 </th> |
441 |
<th class="Center"> 7 </th> |
442 |
</tr> |
442 |
</tr> |
443 |
<tr> |
443 |
<tr> |
444 |
<th> C </th> |
444 |
<th> C </th> |
445 |
<td> 32,70 </td> |
445 |
<td> 32,70 </td> |
446 |
<td> 65,41 </td> |
446 |
<td> 65,41 </td> |
447 |
<td> 130,8 </td> |
447 |
<td> 130,8 </td> |
448 |
<td> 261,6 </td> |
448 |
<td> 261,6 </td> |
449 |
<td> 523,3 </td> |
449 |
<td> 523,3 </td> |
450 |
<td> 1046,5 </td> |
450 |
<td> 1046,5 </td> |
451 |
<td> 2093,0 </td> |
451 |
<td> 2093,0 </td> |
452 |
<td> 4186,0 </td> |
452 |
<td> 4186,0 </td> |
453 |
</tr> |
453 |
</tr> |
454 |
<tr> |
454 |
<tr> |
455 |
<th> Cis </th> |
455 |
<th> Cis </th> |
456 |
<td> 34,65 </td> |
456 |
<td> 34,65 </td> |
457 |
<td> 69,30 </td> |
457 |
<td> 69,30 </td> |
458 |
<td> 138,6 </td> |
458 |
<td> 138,6 </td> |
459 |
<td> 277,2 </td> |
459 |
<td> 277,2 </td> |
460 |
<td> 554,4 </td> |
460 |
<td> 554,4 </td> |
461 |
<td> 1108,7 </td> |
461 |
<td> 1108,7 </td> |
462 |
<td> 2217,5 </td> |
462 |
<td> 2217,5 </td> |
463 |
<td> 4434,9 </td> |
463 |
<td> 4434,9 </td> |
464 |
</tr> |
464 |
</tr> |
465 |
<tr> |
465 |
<tr> |
466 |
<th> D </th> |
466 |
<th> D </th> |
467 |
<td> 36,71 </td> |
467 |
<td> 36,71 </td> |
468 |
<td> 73,42 </td> |
468 |
<td> 73,42 </td> |
469 |
<td> 146,8 </td> |
469 |
<td> 146,8 </td> |
470 |
<td> 293,7 </td> |
470 |
<td> 293,7 </td> |
471 |
<td> 587,3 </td> |
471 |
<td> 587,3 </td> |
472 |
<td> 1174,7 </td> |
472 |
<td> 1174,7 </td> |
473 |
<td> 2349,3 </td> |
473 |
<td> 2349,3 </td> |
474 |
<td> 4698,6 </td> |
474 |
<td> 4698,6 </td> |
475 |
</tr> |
475 |
</tr> |
476 |
<tr> |
476 |
<tr> |
477 |
<th> Dis </th> |
477 |
<th> Dis </th> |
478 |
<td> 38,89 </td> |
478 |
<td> 38,89 </td> |
479 |
<td> 77,78 </td> |
479 |
<td> 77,78 </td> |
480 |
<td> 155,6 </td> |
480 |
<td> 155,6 </td> |
481 |
<td> 311,1 </td> |
481 |
<td> 311,1 </td> |
482 |
<td> 622,3 </td> |
482 |
<td> 622,3 </td> |
483 |
<td> 1244,5 </td> |
483 |
<td> 1244,5 </td> |
484 |
<td> 2489,0 </td> |
484 |
<td> 2489,0 </td> |
485 |
<td> 4978,0 </td> |
485 |
<td> 4978,0 </td> |
486 |
</tr> |
486 |
</tr> |
487 |
<tr> |
487 |
<tr> |
488 |
<th> E </th> |
488 |
<th> E </th> |
489 |
<td> 41,20 </td> |
489 |
<td> 41,20 </td> |
490 |
<td> 82,41 </td> |
490 |
<td> 82,41 </td> |
491 |
<td> 164,8 </td> |
491 |
<td> 164,8 </td> |
492 |
<td> 329,6 </td> |
492 |
<td> 329,6 </td> |
493 |
<td> 659,3 </td> |
493 |
<td> 659,3 </td> |
494 |
<td> 1318,5 </td> |
494 |
<td> 1318,5 </td> |
495 |
<td> 2637,0 </td> |
495 |
<td> 2637,0 </td> |
496 |
<td> 5274,0 </td> |
496 |
<td> 5274,0 </td> |
497 |
</tr> |
497 |
</tr> |
498 |
<tr> |
498 |
<tr> |
499 |
<th> F </th> |
499 |
<th> F </th> |
500 |
<td> 43,65 </td> |
500 |
<td> 43,65 </td> |
501 |
<td> 87,31 </td> |
501 |
<td> 87,31 </td> |
502 |
<td> 174,6 </td> |
502 |
<td> 174,6 </td> |
503 |
<td> 349,2 </td> |
503 |
<td> 349,2 </td> |
504 |
<td> 698,5 </td> |
504 |
<td> 698,5 </td> |
505 |
<td> 1396,9 </td> |
505 |
<td> 1396,9 </td> |
506 |
<td> 2793,8 </td> |
506 |
<td> 2793,8 </td> |
507 |
<td> 5587,7 </td> |
507 |
<td> 5587,7 </td> |
508 |
</tr> |
508 |
</tr> |
509 |
<tr> |
509 |
<tr> |
510 |
<th> Fis </th> |
510 |
<th> Fis </th> |
511 |
<td> 46,25 </td> |
511 |
<td> 46,25 </td> |
512 |
<td> 92,50 </td> |
512 |
<td> 92,50 </td> |
513 |
<td> 185,0 </td> |
513 |
<td> 185,0 </td> |
514 |
<td> 370,0 </td> |
514 |
<td> 370,0 </td> |
515 |
<td> 740,0 </td> |
515 |
<td> 740,0 </td> |
516 |
<td> 1480,0 </td> |
516 |
<td> 1480,0 </td> |
517 |
<td> 2960,0 </td> |
517 |
<td> 2960,0 </td> |
518 |
<td> 5919,9 </td> |
518 |
<td> 5919,9 </td> |
519 |
</tr> |
519 |
</tr> |
520 |
<tr> |
520 |
<tr> |
521 |
<th> G </th> |
521 |
<th> G </th> |
522 |
<td> 49,00 </td> |
522 |
<td> 49,00 </td> |
523 |
<td> 98,00 </td> |
523 |
<td> 98,00 </td> |
524 |
<td> 196,0 </td> |
524 |
<td> 196,0 </td> |
525 |
<td> 392,0 </td> |
525 |
<td> 392,0 </td> |
526 |
<td> 784,0 </td> |
526 |
<td> 784,0 </td> |
527 |
<td> 1568,0 </td> |
527 |
<td> 1568,0 </td> |
528 |
<td> 3136,0 </td> |
528 |
<td> 3136,0 </td> |
529 |
<td> 6271,9 </td> |
529 |
<td> 6271,9 </td> |
530 |
</tr> |
530 |
</tr> |
531 |
<tr> |
531 |
<tr> |
532 |
<th> Gis </th> |
532 |
<th> Gis </th> |
533 |
<td> 51,91 </td> |
533 |
<td> 51,91 </td> |
534 |
<td> 103,83 </td> |
534 |
<td> 103,83 </td> |
535 |
<td> 207,7 </td> |
535 |
<td> 207,7 </td> |
536 |
<td> 415,3 </td> |
536 |
<td> 415,3 </td> |
537 |
<td> 830,6 </td> |
537 |
<td> 830,6 </td> |
538 |
<td> 1661,2 </td> |
538 |
<td> 1661,2 </td> |
539 |
<td> 3322,4 </td> |
539 |
<td> 3322,4 </td> |
540 |
<td> 6644,9 </td> |
540 |
<td> 6644,9 </td> |
541 |
</tr> |
541 |
</tr> |
542 |
<tr> |
542 |
<tr> |
543 |
<th> A </th> |
543 |
<th> A </th> |
544 |
<td> 55 </td> |
544 |
<td> 55 </td> |
545 |
<td> 110 </td> |
545 |
<td> 110 </td> |
546 |
<td> 220 </td> |
546 |
<td> 220 </td> |
547 |
<td> <b>440</b> </td> |
547 |
<td> <b>440</b> </td> |
548 |
<td> 880 </td> |
548 |
<td> 880 </td> |
549 |
<td> 1760 </td> |
549 |
<td> 1760 </td> |
550 |
<td> 3520 </td> |
550 |
<td> 3520 </td> |
551 |
<td> 7040 </td> |
551 |
<td> 7040 </td> |
552 |
</tr> |
552 |
</tr> |
553 |
<tr> |
553 |
<tr> |
554 |
<th> Ais </th> |
554 |
<th> Ais </th> |
555 |
<td> 58,27 </td> |
555 |
<td> 58,27 </td> |
556 |
<td> 116,54 </td> |
556 |
<td> 116,54 </td> |
557 |
<td> 233,1 </td> |
557 |
<td> 233,1 </td> |
558 |
<td> 466,2 </td> |
558 |
<td> 466,2 </td> |
559 |
<td> 932,3 </td> |
559 |
<td> 932,3 </td> |
560 |
<td> 1864,7 </td> |
560 |
<td> 1864,7 </td> |
561 |
<td> 3729,3 </td> |
561 |
<td> 3729,3 </td> |
562 |
<td> 7458,6 </td> |
562 |
<td> 7458,6 </td> |
563 |
</tr> |
563 |
</tr> |
564 |
<tr> |
564 |
<tr> |
565 |
<th> H </th> |
565 |
<th> H </th> |
566 |
<td> 61,74 </td> |
566 |
<td> 61,74 </td> |
567 |
<td> 123,47 </td> |
567 |
<td> 123,47 </td> |
568 |
<td> 246,9 </td> |
568 |
<td> 246,9 </td> |
569 |
<td> 493,9 </td> |
569 |
<td> 493,9 </td> |
570 |
<td> 987,8 </td> |
570 |
<td> 987,8 </td> |
571 |
<td> 1975,5 </td> |
571 |
<td> 1975,5 </td> |
572 |
<td> 3951,1 </td> |
572 |
<td> 3951,1 </td> |
573 |
<td> 7902,1 </td> |
573 |
<td> 7902,1 </td> |
574 |
</tr> |
574 |
</tr> |
575 |
<tr style='color:gray'> |
575 |
<tr style='color:gray'> |
576 |
<th> ( C ) </th> |
576 |
<th> ( C ) </th> |
577 |
<td> 65,41 </td> |
577 |
<td> 65,41 </td> |
578 |
<td> 130,81 </td> |
578 |
<td> 130,81 </td> |
579 |
<td> 261,6 </td> |
579 |
<td> 261,6 </td> |
580 |
<td> 523,3 </td> |
580 |
<td> 523,3 </td> |
581 |
<td> 1046,5 </td> |
581 |
<td> 1046,5 </td> |
582 |
<td> 2093,0 </td> |
582 |
<td> 2093,0 </td> |
583 |
<td> 4186,0 </td> |
583 |
<td> 4186,0 </td> |
584 |
<td> 8372,0 </td> |
584 |
<td> 8372,0 </td> |
585 |
</tr> |
585 |
</tr> |
586 |
</table> |
586 |
</table> |
587 |
|
587 |
|
588 |
<h1> Programové vybavení </h1> |
588 |
<h1> Programové vybavení </h1> |
589 |
|
589 |
|
590 |
<h2> Uživatelský návod </h2> |
590 |
<h2> Uživatelský návod </h2> |
591 |
|
591 |
|
592 |
<h3> Přehrávání skladeb </h3> |
592 |
<h3> Přehrávání skladeb </h3> |
593 |
|
593 |
|
594 |
<p> |
594 |
<p> |
595 |
Při přehrávání není na J5 propojka. Hlasitost se nastavuje trimrem P1. |
595 |
Při přehrávání není na J5 propojka. Hlasitost se nastavuje trimrem P1. |
596 |
</p> |
596 |
</p> |
597 |
|
597 |
|
598 |
<p> |
598 |
<p> |
599 |
Melodický zvonek začne hrát stiskem libovolného tlačítka (tlačítek). |
599 |
Melodický zvonek začne hrát stiskem libovolného tlačítka (tlačítek). |
600 |
Přestože jsou na desce jen 4 tlačítka, je možné do zvonku naprogramovat |
600 |
Přestože jsou na desce jen 4 tlačítka, je možné do zvonku naprogramovat |
601 |
až 15 skladeb. První čtyři jsou spuštěny přímo při stlačení jednoho |
601 |
až 15 skladeb. První čtyři jsou spuštěny přímo při stlačení jednoho |
602 |
ze čtyř tlačítek, pro aktivaci dalších skladeb je nutné stisknout |
602 |
ze čtyř tlačítek, pro aktivaci dalších skladeb je nutné stisknout |
603 |
několik tlačítek najednou dle následující tabulky. |
603 |
několik tlačítek najednou dle následující tabulky. |
604 |
</p> |
604 |
</p> |
605 |
|
605 |
|
606 |
<table> |
606 |
<table> |
607 |
<tr> |
607 |
<tr> |
608 |
<th> Číslo skladby </th> |
608 |
<th> Číslo skladby </th> |
609 |
<th> Kombinace tlačítek </th> |
609 |
<th> Kombinace tlačítek </th> |
610 |
<th> Číslo skladby </th> |
610 |
<th> Číslo skladby </th> |
611 |
<th> Kombinace tlačítek </th> |
611 |
<th> Kombinace tlačítek </th> |
612 |
</tr> |
612 |
</tr> |
613 |
<tr> |
613 |
<tr> |
614 |
<td> 1 </td> |
614 |
<td> 1 </td> |
615 |
<td> • o o o </td> |
615 |
<td> • o o o </td> |
616 |
<td> 9 </td> |
616 |
<td> 9 </td> |
617 |
<td> o • o • </td> |
617 |
<td> o • o • </td> |
618 |
</tr> |
618 |
</tr> |
619 |
<tr> |
619 |
<tr> |
620 |
<td> 2 </td> |
620 |
<td> 2 </td> |
621 |
<td> o • o o </td> |
621 |
<td> o • o o </td> |
622 |
<td> 10 </td> |
622 |
<td> 10 </td> |
623 |
<td> o o • • </td> |
623 |
<td> o o • • </td> |
624 |
</tr> |
624 |
</tr> |
625 |
<tr> |
625 |
<tr> |
626 |
<td> 3 </td> |
626 |
<td> 3 </td> |
627 |
<td> o o • o </td> |
627 |
<td> o o • o </td> |
628 |
<td> 11 </td> |
628 |
<td> 11 </td> |
629 |
<td> • • • o </td> |
629 |
<td> • • • o </td> |
630 |
</tr> |
630 |
</tr> |
631 |
<tr> |
631 |
<tr> |
632 |
<td> 4 </td> |
632 |
<td> 4 </td> |
633 |
<td> o o o • </td> |
633 |
<td> o o o • </td> |
634 |
<td> 12 </td> |
634 |
<td> 12 </td> |
635 |
<td> • • o • </td> |
635 |
<td> • • o • </td> |
636 |
</tr> |
636 |
</tr> |
637 |
<tr> |
637 |
<tr> |
638 |
<td> 5 </td> |
638 |
<td> 5 </td> |
639 |
<td> • • o o </td> |
639 |
<td> • • o o </td> |
640 |
<td> 13 </td> |
640 |
<td> 13 </td> |
641 |
<td> • o • • </td> |
641 |
<td> • o • • </td> |
642 |
</tr> |
642 |
</tr> |
643 |
<tr> |
643 |
<tr> |
644 |
<td> 6 </td> |
644 |
<td> 6 </td> |
645 |
<td> • o • o </td> |
645 |
<td> • o • o </td> |
646 |
<td> 14 </td> |
646 |
<td> 14 </td> |
647 |
<td> o • • • </td> |
647 |
<td> o • • • </td> |
648 |
</tr> |
648 |
</tr> |
649 |
<tr> |
649 |
<tr> |
650 |
<td> 7 </td> |
650 |
<td> 7 </td> |
651 |
<td> • o o • </td> |
651 |
<td> • o o • </td> |
652 |
<td> 15 </td> |
652 |
<td> 15 </td> |
653 |
<td> • • • • </td> |
653 |
<td> • • • • </td> |
654 |
</tr> |
654 |
</tr> |
655 |
<tr> |
655 |
<tr> |
656 |
<td> 8 </td> |
656 |
<td> 8 </td> |
657 |
<td> o • • o </td> |
657 |
<td> o • • o </td> |
658 |
<td colspan="2"> • znamená stisknuto, o znamená v klidu </td> |
658 |
<td colspan="2"> • znamená stisknuto, o znamená v klidu </td> |
659 |
</tr> |
659 |
</tr> |
660 |
</table> |
660 |
</table> |
661 |
|
661 |
|
662 |
<h3> Programování skladeb </h3> |
662 |
<h3> Programování skladeb </h3> |
663 |
|
663 |
|
664 |
<p> |
664 |
<p> |
665 |
Při programování se používá propojka na J5 a definice skladeb se přivádí |
665 |
Při programování se používá propojka na J5 a definice skladeb se přivádí |
666 |
z počítače ze sériové linky na konektor J4. Při rozběhu otestuje |
666 |
z počítače ze sériové linky na konektor J4. Při rozběhu otestuje |
667 |
program, zda je na J5 propojka a zda je připojen počítač ke konektoru J4. |
667 |
program, zda je na J5 propojka a zda je připojen počítač ke konektoru J4. |
668 |
Pokud ano, přejde do režimu programování. To se projeví zacvrdlikáním. Aby |
668 |
Pokud ano, přejde do režimu programování. To se projeví zacvrdlikáním. Aby |
669 |
se program správně spustil při připojení napájení, musí být napájení |
669 |
se program správně spustil při připojení napájení, musí být napájení |
670 |
odpojené alespoň 10 sekund. Pokud je nasazena propojka na J5 a nedojde |
670 |
odpojené alespoň 10 sekund. Pokud je nasazena propojka na J5 a nedojde |
671 |
ke správnému zresetování procesoru, může dojít k poškození obsahu |
671 |
ke správnému zresetování procesoru, může dojít k poškození obsahu |
672 |
paměti skladeb a skladby bude třeba znovu nahrát. |
672 |
paměti skladeb a skladby bude třeba znovu nahrát. |
673 |
</p> |
673 |
</p> |
674 |
|
674 |
|
675 |
<p> |
675 |
<p> |
676 |
Postup pro přechod do programovacího režimu: |
676 |
Postup pro přechod do programovacího režimu: |
677 |
</p> |
677 |
</p> |
678 |
|
678 |
|
679 |
<ul> |
679 |
<ul> |
680 |
<li> Odpojíme baterii a počkáme alespoň 10 sekund </li> |
680 |
<li> Odpojíme baterii a počkáme alespoň 10 sekund </li> |
681 |
<li> Připojíme kabel RS232 k počítači </li> |
681 |
<li> Připojíme kabel RS232 k počítači </li> |
682 |
<li> Připojíme baterii </li> |
682 |
<li> Připojíme baterii </li> |
683 |
<li> Nasadíme propojku J5 </li> |
683 |
<li> Nasadíme propojku J5 </li> |
684 |
<li> Stiskneme některé tlačítko a mělo by se ozvat zacvrdlikání</li> |
684 |
<li> Stiskneme některé tlačítko a mělo by se ozvat zacvrdlikání</li> |
685 |
</ul> |
685 |
</ul> |
686 |
|
686 |
|
687 |
<p> |
687 |
<p> |
688 |
Pro přenos dat do zvonku je možné použít téměř libovolný terminálový program. |
688 |
Pro přenos dat do zvonku je možné použít téměř libovolný terminálový program. |
689 |
Parametry přenosu dat do zvonku jsou 9600Bd, 8bitů, 1stopbit, žádná parita. |
689 |
Parametry přenosu dat do zvonku jsou 9600Bd, 8bitů, 1stopbit, žádná parita. |
690 |
Řízení přenosu se nepoužívá. Protože data procesor zapisuje do své paměti |
690 |
Řízení přenosu se nepoužívá. Protože data procesor zapisuje do své paměti |
691 |
programu, nemůže číst další data, než dokončí zápis předchozích. Proto |
691 |
programu, nemůže číst další data, než dokončí zápis předchozích. Proto |
692 |
je nutné nastavit časovou prodlevu mezi řádky na cca 100ms. |
692 |
je nutné nastavit časovou prodlevu mezi řádky na cca 100ms. |
693 |
Přenos je jen jednosměrný, zvonek neumí odesílat žádné informace sériovou |
693 |
Přenos je jen jednosměrný, zvonek neumí odesílat žádné informace sériovou |
694 |
linkou směrem k počítači. Má pouze propojené signály RX a TX tak, aby |
694 |
linkou směrem k počítači. Má pouze propojené signály RX a TX tak, aby |
695 |
znaky odesílané do zvonku byly zobrazované na displeji terminálu. |
695 |
znaky odesílané do zvonku byly zobrazované na displeji terminálu. |
696 |
</p> |
696 |
</p> |
697 |
|
697 |
|
698 |
<p> |
698 |
<p> |
699 |
Pro propojení s počítačem se používá nulmodemový kabel (tedy křížený, |
699 |
Pro propojení s počítačem se používá nulmodemový kabel (tedy křížený, |
700 |
spojení RX-TX, TX-RX). |
700 |
spojení RX-TX, TX-RX). |
701 |
</p> |
701 |
</p> |
702 |
|
702 |
|
703 |
<p> |
703 |
<p> |
704 |
V prostředí Windows 98 je k dispozici program Hyperterminál |
704 |
V prostředí Windows 98 je k dispozici program Hyperterminál |
705 |
(Start/Programy/Příslušenství/Komunikace/Hyperterminál). Pokud není, |
705 |
(Start/Programy/Příslušenství/Komunikace/Hyperterminál). Pokud není, |
706 |
znamená to, že nebyl nainstalován, a je možné nainstalovat jej dodatečně |
706 |
znamená to, že nebyl nainstalován, a je možné nainstalovat jej dodatečně |
707 |
nebo použít nějaký jiný terminálový program. Hyperterminál nás na úvod |
707 |
nebo použít nějaký jiný terminálový program. Hyperterminál nás na úvod |
708 |
vyzve k nastavení základních komunikačních parametrů (9600Bd, 8, |
708 |
vyzve k nastavení základních komunikačních parametrů (9600Bd, 8, |
709 |
žádná, 1, žádné). Dále je třeba nastavit |
709 |
žádná, 1, žádné). Dále je třeba nastavit |
710 |
(Soubor/Vlastnosti/Nastavení/Nastavení ASCII) |
710 |
(Soubor/Vlastnosti/Nastavení/Nastavení ASCII) |
711 |
zpoždění řádků 100ms. |
711 |
zpoždění řádků 100ms. |
712 |
</p> |
712 |
</p> |
713 |
|
713 |
|
714 |
<p> |
714 |
<p> |
715 |
V této chvíli bychom měli vidět znaky psané na klávesnici v okně |
715 |
V této chvíli bychom měli vidět znaky psané na klávesnici v okně |
716 |
terminálu. Pokud je zvonek v režimu programování, měl by krátce pípnout |
716 |
terminálu. Pokud je zvonek v režimu programování, měl by krátce pípnout |
717 |
při každém stisku odřádkování. Znamená to, že reaguje na posílaná data. |
717 |
při každém stisku odřádkování. Znamená to, že reaguje na posílaná data. |
718 |
Nyní již nic nebrání ručnímu ovládání. |
718 |
Nyní již nic nebrání ručnímu ovládání. |
719 |
</p> |
719 |
</p> |
720 |
|
720 |
|
721 |
<p> |
721 |
<p> |
722 |
Větší množství dat (například celou melodii) je vhodné připravit |
722 |
Větší množství dat (například celou melodii) je vhodné připravit |
723 |
do samostatného souboru a ten pak přes schránku vložit do terminálu |
723 |
do samostatného souboru a ten pak přes schránku vložit do terminálu |
724 |
(u Hyperterminálu pravé tlačítko, funkce Vložit k hostiteli). Většina |
724 |
(u Hyperterminálu pravé tlačítko, funkce Vložit k hostiteli). Většina |
725 |
terminálových programů umí i přímo odeslat textový soubor protistraně, ale |
725 |
terminálových programů umí i přímo odeslat textový soubor protistraně, ale |
726 |
Hyperterminál to neumí. |
726 |
Hyperterminál to neumí. |
727 |
</p> |
727 |
</p> |
728 |
|
728 |
|
729 |
<h3> Příkazy a formát dat pro programování skladeb </h3> |
729 |
<h3> Příkazy a formát dat pro programování skladeb </h3> |
730 |
|
730 |
|
731 |
<p> |
731 |
<p> |
732 |
Procesor vždy nejprve převezme celou řádku a poté se ji snaží zpracovat. |
732 |
Procesor vždy nejprve převezme celou řádku a poté se ji snaží zpracovat. |
733 |
Pokud řádce nerozumí, pípne odlišně. Z řádky se uvažuje jen prvních 40 znaků. |
733 |
Pokud řádce nerozumí, pípne odlišně. Z řádky se uvažuje jen prvních 40 znaků. |
734 |
Text za „//“ je komentář. Komentář může být libovolně dlouhý. |
734 |
Text za „//“ je komentář. Komentář může být libovolně dlouhý. |
735 |
</p> |
735 |
</p> |
736 |
|
736 |
|
737 |
<p> |
737 |
<p> |
738 |
Klíčová slova a jejich význam je v následující tabulce. Parametry jsou |
738 |
Klíčová slova a jejich význam je v následující tabulce. Parametry jsou |
739 |
malá přirozená čísla v uvedeném rozsahu. Pokud je zadáno číslo větší, |
739 |
malá přirozená čísla v uvedeném rozsahu. Pokud je zadáno číslo větší, |
740 |
zvonek použije jen odpovídající spodní bity čísla. |
740 |
zvonek použije jen odpovídající spodní bity čísla. |
741 |
</p> |
741 |
</p> |
742 |
|
742 |
|
743 |
<table> |
743 |
<table> |
744 |
<tr> |
744 |
<tr> |
745 |
<th> Klíčová slova a parametry </th> |
745 |
<th> Klíčová slova a parametry </th> |
746 |
<th> Meze </th> |
746 |
<th> Meze </th> |
747 |
<th> Význam </th> |
747 |
<th> Význam </th> |
748 |
</tr> |
748 |
</tr> |
749 |
<tr> |
749 |
<tr> |
750 |
<td> <code>PLAY <b>n</b></code> </td> |
750 |
<td> <code>PLAY <b>n</b></code> </td> |
751 |
<td> <code><b>n</b>: 1 .. 15</code> </td> |
751 |
<td> <code><b>n</b>: 1 .. 15</code> </td> |
752 |
<td> Zahraj skladbu <code><b>n</b></code> </td> |
752 |
<td> Zahraj skladbu <code><b>n</b></code> </td> |
753 |
</tr> |
753 |
</tr> |
754 |
<tr> |
754 |
<tr> |
755 |
<td> <code>ERASE</code> </td> |
755 |
<td> <code>ERASE</code> </td> |
756 |
<td> </td> |
756 |
<td> </td> |
757 |
<td> Smaž všechny skladby </td> |
757 |
<td> Smaž všechny skladby </td> |
758 |
</tr> |
758 |
</tr> |
759 |
<tr> |
759 |
<tr> |
760 |
<td> <code>BEGIN <b>n</b></code> </td> |
760 |
<td> <code>BEGIN <b>n</b></code> </td> |
761 |
<td> <code><b>n</b>: 0 .. 7</code> </td> |
761 |
<td> <code><b>n</b>: 0 .. 7</code> </td> |
762 |
<td> Začátek definice skladby; číslo udává posunutí skladby o udaný počet |
762 |
<td> Začátek definice skladby; číslo udává posunutí skladby o udaný počet |
763 |
oktáv nahoru </td> |
763 |
oktáv nahoru </td> |
764 |
</tr> |
764 |
</tr> |
765 |
<tr> |
765 |
<tr> |
766 |
<td> <code>TEST <b>n</b></code> </td> |
766 |
<td> <code>TEST <b>n</b></code> </td> |
767 |
<td> <code><b>n</b>: 0 .. 7</code> </td> |
767 |
<td> <code><b>n</b>: 0 .. 7</code> </td> |
768 |
<td> Jako <code>BEGIN</code>, ale následující noty nejsou programovány |
768 |
<td> Jako <code>BEGIN</code>, ale následující noty nejsou programovány |
769 |
do paměti, ale přehrávány </td> |
769 |
do paměti, ale přehrávány </td> |
770 |
</tr> |
770 |
</tr> |
771 |
<tr> |
771 |
<tr> |
772 |
<td> <code>TEMPO <b>n</b></code> </td> |
772 |
<td> <code>TEMPO <b>n</b></code> </td> |
773 |
<td> <code><b>n</b>: 1 .. 2047</code> </td> |
773 |
<td> <code><b>n</b>: 1 .. 2047</code> </td> |
774 |
<td> Délka nejkratší noty v ms; není-li použito, je nastaveno na 100ms; |
774 |
<td> Délka nejkratší noty v ms; není-li použito, je nastaveno na 100ms; |
775 |
může se použít vícekrát v jedné skladbě </td> |
775 |
může se použít vícekrát v jedné skladbě </td> |
776 |
</tr> |
776 |
</tr> |
777 |
<tr> |
777 |
<tr> |
778 |
<td> <code>PAUSE <b>n</b></code> </td> |
778 |
<td> <code>PAUSE <b>n</b></code> </td> |
779 |
<td> <code><b>n</b>: 1 .. 2047</code> </td> |
779 |
<td> <code><b>n</b>: 1 .. 2047</code> </td> |
780 |
<td> Délka prodlevy mezi notami; není-li použito, je nastaveno na 100ms; |
780 |
<td> Délka prodlevy mezi notami; není-li použito, je nastaveno na 100ms; |
781 |
může se použít vícekrát v jedné skladbě </td> |
781 |
může se použít vícekrát v jedné skladbě </td> |
782 |
</tr> |
782 |
</tr> |
783 |
<tr> |
783 |
<tr> |
784 |
<td> <code>[<b>a</b>]<b> C</b> [<b>b</b>]</code> </td> |
784 |
<td> <code>[<b>a</b>]<b> C</b> [<b>b</b>]</code> </td> |
785 |
<td> <code><b>a</b>: 0 .. 7<br></code> |
785 |
<td> <code><b>a</b>: 0 .. 7<br></code> |
786 |
<code><b>C</b>: C, Cis, D, Dis, E, F, Fis, <br></code> |
786 |
<code><b>C</b>: C, Cis, D, Dis, E, F, Fis, <br></code> |
787 |
<code> G, Gis, A, Ais, H, Space<br></code> |
787 |
<code> G, Gis, A, Ais, H, Space<br></code> |
788 |
<code><b>b</b>: 1 .. 63</code> </td> |
788 |
<code><b>b</b>: 1 .. 63</code> </td> |
789 |
<td> Číslo oktávy (sečítá se s parametrem u <code>BEGIN</code>); není-li |
789 |
<td> Číslo oktávy (sečítá se s parametrem u <code>BEGIN</code>); není-li |
790 |
uvedeno, použije se poslední hodnota<br> |
790 |
uvedeno, použije se poslední hodnota<br> |
791 |
Nota <code><b>C</b></code> v oktávě <code><b>a</b></code> o délce |
791 |
Nota <code><b>C</b></code> v oktávě <code><b>a</b></code> o délce |
792 |
<code><b>b</b></code>; Space je němá nota (mezera)<br> |
792 |
<code><b>b</b></code>; Space je němá nota (mezera)<br> |
793 |
Délka je v násobcích parametru <code>TEMPO</code>, není-li uvedena, je 1 </td> |
793 |
Délka je v násobcích parametru <code>TEMPO</code>, není-li uvedena, je 1 </td> |
794 |
</tr> |
794 |
</tr> |
795 |
<tr> |
795 |
<tr> |
796 |
<td> <code>END</code> </td> |
796 |
<td> <code>END</code> </td> |
797 |
<td> </td> |
797 |
<td> </td> |
798 |
<td> Konec skladby, další noty již budou pouze přehrávány </td> |
798 |
<td> Konec skladby, další noty již budou pouze přehrávány </td> |
799 |
</tr> |
799 |
</tr> |
800 |
<tr> |
800 |
<tr> |
801 |
<td> / text </td> |
801 |
<td> / text </td> |
802 |
<td> </td> |
802 |
<td> </td> |
803 |
<td> Komentář; vše za znakem / do konce řádky se ignoruje </td> |
803 |
<td> Komentář; vše za znakem / do konce řádky se ignoruje </td> |
804 |
</tr> |
804 |
</tr> |
805 |
<tr> |
805 |
<tr> |
806 |
<td colspan=3> <i>Znaky <code>[</code> a <code>]</code> znamenají volitelný parametr</i> </td> |
806 |
<td colspan=3> <i>Znaky <code>[</code> a <code>]</code> znamenají volitelný parametr</i> </td> |
807 |
</tr> |
807 |
</tr> |
808 |
</table> |
808 |
</table> |
809 |
|
809 |
|
810 |
<h2> Program </h2> |
810 |
<h2> Program </h2> |
811 |
|
811 |
|
812 |
<p> |
812 |
<p> |
813 |
Program melodického zvonku je napsaný v jazyce C firmy CCS. |
813 |
Program melodického zvonku je napsaný v jazyce C firmy CCS. |
814 |
Demoverze překladače je možné stáhnout z webu na adresa |
814 |
Demoverze překladače je možné stáhnout z webu na adresa |
815 |
<a href="http://www.ccsinfo.com/">http://www.ccsinfo.com</a>. |
815 |
<a href="http://www.ccsinfo.com/">http://www.ccsinfo.com</a>. |
816 |
Demoverze podporuje jen vybrané procesory (obvykle několik typů) |
816 |
Demoverze podporuje jen vybrané procesory (obvykle několik typů) |
817 |
a umožňuje napsat program v omezeném rozsahu (do 2048 slov). |
817 |
a umožňuje napsat program v omezeném rozsahu (do 2048 slov). |
818 |
</p> |
818 |
</p> |
819 |
|
819 |
|
820 |
<p> |
820 |
<p> |
821 |
Program je bohatě komentovaný a dostupný, je tedy snadné se s ním seznámit. |
821 |
Program je bohatě komentovaný a dostupný, je tedy snadné se s ním seznámit. |
822 |
Vzhledem k omezeným zdrojům použitého procesoru používá program v hojné |
822 |
Vzhledem k omezeným zdrojům použitého procesoru používá program v hojné |
823 |
míře globálních proměnných, protože to vede na kód kratší asi o 10%. |
823 |
míře globálních proměnných, protože to vede na kód kratší asi o 10%. |
824 |
Některé programové konstrukce také vypadají na první pohled nelogicky, |
824 |
Některé programové konstrukce také vypadají na první pohled nelogicky, |
825 |
ale jsou voleny s ohledem na dosažení minimální délky výsledného |
825 |
ale jsou voleny s ohledem na dosažení minimální délky výsledného |
826 |
kódu. Je třeba si uvědomit, že použitý překladač jazyka C patří k těm |
826 |
kódu. Je třeba si uvědomit, že použitý překladač jazyka C patří k těm |
827 |
nejlevnějším, a proto neumí generovat příliš optimalizovaný kód. |
827 |
nejlevnějším, a proto neumí generovat příliš optimalizovaný kód. |
828 |
</p> |
828 |
</p> |
829 |
|
829 |
|
830 |
<h3> Hlavní program a základní procedury </h3> |
830 |
<h3> Hlavní program a základní procedury </h3> |
831 |
|
831 |
|
832 |
<h4>main()</h4> |
832 |
<h4>main()</h4> |
833 |
|
833 |
|
834 |
<p> |
834 |
<p> |
835 |
Na začátku se hlavní program rozhoduje podle přítomnosti propojky na J5 |
835 |
Na začátku se hlavní program rozhoduje podle přítomnosti propojky na J5 |
836 |
a podle přítomnosti klidového signálu na RS232, zda má přejít do režimu |
836 |
a podle přítomnosti klidového signálu na RS232, zda má přejít do režimu |
837 |
programování skladeb. Pokud ano, spustí se procedura Download(). |
837 |
programování skladeb. Pokud ano, spustí se procedura Download(). |
838 |
</p> |
838 |
</p> |
839 |
|
839 |
|
840 |
<p> |
840 |
<p> |
841 |
Pokud není v programovacím režimu, zapíná procesor napájení sobě a zesilovači |
841 |
Pokud není v programovacím režimu, zapíná procesor napájení sobě a zesilovači |
842 |
LM386 a po krátké prodlevě načítá stav tlačítek. Pak volá proceduru <code>Play()</code>, |
842 |
LM386 a po krátké prodlevě načítá stav tlačítek. Pak volá proceduru <code>Play()</code>, |
843 |
která na základě čísla skladby v proměnné <code>CisloSkladby</code> |
843 |
která na základě čísla skladby v proměnné <code>CisloSkladby</code> |
844 |
přehraje požadovanou skladbu. |
844 |
přehraje požadovanou skladbu. |
845 |
</p> |
845 |
</p> |
846 |
|
846 |
|
847 |
<p> |
847 |
<p> |
848 |
Následuje přechod do vypnutého stavu. |
848 |
Následuje přechod do vypnutého stavu. |
849 |
</p> |
849 |
</p> |
850 |
|
850 |
|
851 |
<h4>Download()</h4> |
851 |
<h4>Download()</h4> |
852 |
|
852 |
|
853 |
<p> |
853 |
<p> |
854 |
Tato procedura načítá nejprve celou řádku z RS232. Znaky mezera, čárka |
854 |
Tato procedura načítá nejprve celou řádku z RS232. Znaky mezera, čárka |
855 |
a všechny řídící znaky kromě <code>CR</code> (odřádkování) a <code>BS</code> |
855 |
a všechny řídící znaky kromě <code>CR</code> (odřádkování) a <code>BS</code> |
856 |
(znak zpět) se chápou jako oddělovač (mezera). Znak <code>BS</code> umožňuje |
856 |
(znak zpět) se chápou jako oddělovač (mezera). Znak <code>BS</code> umožňuje |
857 |
návrat o 1 znak zpět. Znaky za znakem lomeno se ignorují stejně, jako |
857 |
návrat o 1 znak zpět. Znaky za znakem lomeno se ignorují stejně, jako |
858 |
znaky za maximální délkou řádky. |
858 |
znaky za maximální délkou řádky. |
859 |
</p> |
859 |
</p> |
860 |
|
860 |
|
861 |
<p> |
861 |
<p> |
862 |
Po stisku <code>CR</code> se postupně zpracuje celá řádka. Hledají se |
862 |
Po stisku <code>CR</code> se postupně zpracuje celá řádka. Hledají se |
863 |
v ní klíčová slova (procedura <code>Word()</code>) a číselné parametry |
863 |
v ní klíčová slova (procedura <code>Word()</code>) a číselné parametry |
864 |
(procedura <code>Number()</code>). Vyskytne-li se chybné slovo, dojde |
864 |
(procedura <code>Number()</code>). Vyskytne-li se chybné slovo, dojde |
865 |
k nastavení příznaku <code>Error</code> a na konci řádky místo krátkého |
865 |
k nastavení příznaku <code>Error</code> a na konci řádky místo krátkého |
866 |
pípnutí dojde k chybovému pípnutí. |
866 |
pípnutí dojde k chybovému pípnutí. |
867 |
</p> |
867 |
</p> |
868 |
|
868 |
|
869 |
<p> |
869 |
<p> |
870 |
Klíčová slova, tak jak jsou na řádce, se ihned vykonávají. Tedy noty hrají, |
870 |
Klíčová slova, tak jak jsou na řádce, se ihned vykonávají. Tedy noty hrají, |
871 |
slova <code>TEMPO</code>, <code>PAUSE</code>, <code>PLAY</code>, <code>ERASE</code> |
871 |
slova <code>TEMPO</code>, <code>PAUSE</code>, <code>PLAY</code>, <code>ERASE</code> |
872 |
a <code>TEST</code> dělají přímo to, co dělat mají. Tato vlastnost |
872 |
a <code>TEST</code> dělají přímo to, co dělat mají. Tato vlastnost |
873 |
slouží k testování melodií či jejich úryvků aniž by se musely zapisovat |
873 |
slouží k testování melodií či jejich úryvků aniž by se musely zapisovat |
874 |
do paměti FLASH. |
874 |
do paměti FLASH. |
875 |
</p> |
875 |
</p> |
876 |
|
876 |
|
877 |
<p> |
877 |
<p> |
878 |
Po slovu <code>BEGIN</code> se přejde do režimu záznamu do paměti a od |
878 |
Po slovu <code>BEGIN</code> se přejde do režimu záznamu do paměti a od |
879 |
tohoto okamžiku se vše zaznamenává do paměti. Tento režim končí slovem <code>END</code> |
879 |
tohoto okamžiku se vše zaznamenává do paměti. Tento režim končí slovem <code>END</code> |
880 |
(ale také slovy <code>ERASE</code>, <code>TEST</code> nebo <code>PLAY</code>). |
880 |
(ale také slovy <code>ERASE</code>, <code>TEST</code> nebo <code>PLAY</code>). |
881 |
</p> |
881 |
</p> |
882 |
|
882 |
|
883 |
<p> |
883 |
<p> |
884 |
Pokud se během zpracování řádky odehrála alespoň jedna nota, nedojde na konci |
884 |
Pokud se během zpracování řádky odehrála alespoň jedna nota, nedojde na konci |
885 |
řádky k pípnutí (pokud ovšem nebyla někde na řádce chyba). |
885 |
řádky k pípnutí (pokud ovšem nebyla někde na řádce chyba). |
886 |
</p> |
886 |
</p> |
887 |
|
887 |
|
888 |
<h4> Play(), PlayData(), Find()</h4> |
888 |
<h4> Play(), PlayData(), Find()</h4> |
889 |
|
889 |
|
890 |
<p> |
890 |
<p> |
891 |
Tyto procedury slouží k přehrání celé skladby, jedné noty a k nalezení |
891 |
Tyto procedury slouží k přehrání celé skladby, jedné noty a k nalezení |
892 |
začátku zadaného čísla skladby. |
892 |
začátku zadaného čísla skladby. |
893 |
</p> |
893 |
</p> |
894 |
|
894 |
|
895 |
<h4> WriteDataInc(), WriteData, ReadData(), Erase() </h4> |
895 |
<h4> WriteDataInc(), WriteData, ReadData(), Erase() </h4> |
896 |
|
896 |
|
897 |
<p> |
897 |
<p> |
898 |
Tyto procedury slouží k zápisu, čtení a k mazání paměti skladeb. |
898 |
Tyto procedury slouží k zápisu, čtení a k mazání paměti skladeb. |
899 |
K zápisu nebo ke smazání může dojít jen pokud je nasazena propojka na J5. |
899 |
K zápisu nebo ke smazání může dojít jen pokud je nasazena propojka na J5. |
900 |
</p> |
900 |
</p> |
901 |
|
901 |
|
902 |
<h4> SpecBeep()</h4> |
902 |
<h4> SpecBeep()</h4> |
903 |
|
903 |
|
904 |
<p> |
904 |
<p> |
905 |
Tato procedura slouží k pípnutí dle parametru v proměnných |
905 |
Tato procedura slouží k pípnutí dle parametru v proměnných |
906 |
<code>Beep</code> a <code>Error</code>. |
906 |
<code>Beep</code> a <code>Error</code>. |
907 |
</p> |
907 |
</p> |
908 |
|
908 |
|
909 |
<h3> Knihovna pro generování zvuků <code>Sound_t1.c</code> </h3> |
909 |
<h3> Knihovna pro generování zvuků <code>Sound_t1.c</code> </h3> |
910 |
|
910 |
|
911 |
<p> |
911 |
<p> |
912 |
Tato knihovna používá časovač T1 spolu s jednotkou CCP1 ke generování |
912 |
Tato knihovna používá časovač T1 spolu s jednotkou CCP1 ke generování |
913 |
přerušení dle požadované půlperiody hraného tónu. V přerušovací rutině |
913 |
přerušení dle požadované půlperiody hraného tónu. V přerušovací rutině |
914 |
<code>IntCCP1()</code> se pak ovládá výstupní port. |
914 |
<code>IntCCP1()</code> se pak ovládá výstupní port. |
915 |
</p> |
915 |
</p> |
916 |
|
916 |
|
917 |
<p> |
917 |
<p> |
918 |
Délka tónu se odměřuje pomocí přetečení časovače T0. Přetečení se zjišťuje |
918 |
Délka tónu se odměřuje pomocí přetečení časovače T0. Přetečení se zjišťuje |
919 |
čtením příznaku T0IF, přerušení se zde nepoužívá. |
919 |
čtením příznaku T0IF, přerušení se zde nepoužívá. |
920 |
</p> |
920 |
</p> |
921 |
|
921 |
|
922 |
<h3> Definice skladeb <code>Data.c</code> </h3> |
922 |
<h3> Definice skladeb <code>Data.c</code> </h3> |
923 |
|
923 |
|
924 |
<p> |
924 |
<p> |
925 |
Skladby se ukládají v poslední čtvrtině paměti FLASH a kódují se dle |
925 |
Skladby se ukládají v poslední čtvrtině paměti FLASH a kódují se dle |
926 |
následující tabulky. |
926 |
následující tabulky. |
927 |
</p> |
927 |
</p> |
928 |
|
928 |
|
929 |
<table> |
929 |
<table> |
930 |
<tr> |
930 |
<tr> |
931 |
<th> Slovo </th> |
931 |
<th> Slovo </th> |
932 |
<th> Kód </th> |
932 |
<th> Kód </th> |
933 |
<th> Poznámka </th> |
933 |
<th> Poznámka </th> |
934 |
</tr> |
934 |
</tr> |
935 |
<tr> |
935 |
<tr> |
936 |
<td> <code>BEGIN n</code> </td> |
936 |
<td> <code>BEGIN n</code> </td> |
937 |
<td> <code>1 0 0 n n n n n n n n n n n</code> </td> |
937 |
<td> <code>1 0 0 n n n n n n n n n n n</code> </td> |
938 |
<td> Začátek skladby a posunutí oktávy not skladby o <code><b>n</b></code> </td> |
938 |
<td> Začátek skladby a posunutí oktávy not skladby o <code><b>n</b></code> </td> |
939 |
</tr> |
939 |
</tr> |
940 |
<tr> |
940 |
<tr> |
941 |
<td> <code>TEMPO n</code> </td> |
941 |
<td> <code>TEMPO n</code> </td> |
942 |
<td> <code>1 0 1 n n n n n n n n n n n</code> </td> |
942 |
<td> <code>1 0 1 n n n n n n n n n n n</code> </td> |
943 |
<td> Změna tempa na <code><b>n</b></code> milisekund </td> |
943 |
<td> Změna tempa na <code><b>n</b></code> milisekund </td> |
944 |
</tr> |
944 |
</tr> |
945 |
<tr> |
945 |
<tr> |
946 |
<td> <code>PAUSE n</code> </td> |
946 |
<td> <code>PAUSE n</code> </td> |
947 |
<td> <code>1 1 0 n n n n n n n n n n n</code> </td> |
947 |
<td> <code>1 1 0 n n n n n n n n n n n</code> </td> |
948 |
<td> Změna mezery mezi notami na <code><b>n</b></code> milisekund </td> |
948 |
<td> Změna mezery mezi notami na <code><b>n</b></code> milisekund </td> |
949 |
</tr> |
949 |
</tr> |
950 |
<tr> |
950 |
<tr> |
951 |
<td> <code>o n d</code> </td> |
951 |
<td> <code>o n d</code> </td> |
952 |
<td> <code>0 d d d d d d o o o n n n n</code> </td> |
952 |
<td> <code>0 d d d d d d o o o n n n n</code> </td> |
953 |
<td> Nota <code><b>n</b></code> v oktávě <code><b>o</b></code> délky <code><b>d</b></code> </td> |
953 |
<td> Nota <code><b>n</b></code> v oktávě <code><b>o</b></code> délky <code><b>d</b></code> </td> |
954 |
</tr> |
954 |
</tr> |
955 |
<tr> |
955 |
<tr> |
956 |
<td> <code>END</code> </td> |
956 |
<td> <code>END</code> </td> |
957 |
<td> <code>1 1 1 1 1 1 1 1 1 1 1 1 1 1</code> </td> |
957 |
<td> <code>1 1 1 1 1 1 1 1 1 1 1 1 1 1</code> </td> |
958 |
<td> Konec skladeb, prázdná paměť </td> |
958 |
<td> Konec skladeb, prázdná paměť </td> |
959 |
</tr> |
959 |
</tr> |
960 |
</table> |
960 |
</table> |
961 |
|
961 |
|
962 |
<p> |
962 |
<p> |
963 |
Aby se dalo použít stejného souboru s definicí skladby jak pro začlenění |
963 |
Aby se dalo použít stejného souboru s definicí skladby jak pro začlenění |
964 |
skladby do firmwaru tak i pro programování přes RS232, jsou v souboru |
964 |
skladby do firmwaru tak i pro programování přes RS232, jsou v souboru |
965 |
<code>Data.c</code> nadefinována makra, která toto umožňují. Definice |
965 |
<code>Data.c</code> nadefinována makra, která toto umožňují. Definice |
966 |
skladby, která má být začleněna do firmwaru musí, používat čárky jako |
966 |
skladby, která má být začleněna do firmwaru musí, používat čárky jako |
967 |
oddělovače jednotlivých položek a číselné parametry není možné vynechávat. |
967 |
oddělovače jednotlivých položek a číselné parametry není možné vynechávat. |
968 |
Příklady skladeb napoví vše. |
968 |
Příklady skladeb napoví vše. |
969 |
</p> |
969 |
</p> |
970 |
|
970 |
|
971 |
</div> |
971 |
</div> |
972 |
|
972 |
|
973 |
<!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> |
973 |
<!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> |
974 |
<!-- ============== PATIČKA ============== --> |
974 |
<!-- ============== PATIČKA ============== --> |
975 |
<div class="Footer"> |
975 |
<div class="Footer"> |
976 |
<script type="text/javascript"> |
976 |
<script type="text/javascript"> |
977 |
<!-- |
977 |
<!-- |
978 |
SetRelativePath("../../../../"); |
978 |
SetRelativePath("../../../../"); |
979 |
DrawFooter(); |
979 |
DrawFooter(); |
980 |
// --> |
980 |
// --> |
981 |
</script> |
981 |
</script> |
982 |
<noscript> |
982 |
<noscript> |
983 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
983 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
984 |
</noscript> |
984 |
</noscript> |
985 |
</div> |
985 |
</div> |
986 |
<!-- AUTOINCLUDE END --> |
986 |
<!-- AUTOINCLUDE END --> |
987 |
|
987 |
|
988 |
</body> |
988 |
</body> |
989 |
</html> |
989 |
</html> |