Arduino - zložitejšia melódia
Revision as of 16:42, 4 August 2018 by 95.105.230.221 (talk)
V tomto projekte naprogramujeme jednoduché zadávanie zložitejšej (akejkoľvek) melódie, ktorú potom Arduino dokáže zahrať.
Najskôr si navrhneme spôsob kódovania melódie:
oktáva \ nota | c | c# | d | d# | e | f | f# | g | g# | a | a# | h |
veľká | 0 | 1 | 2 | 3 | 4 | 5 | 6 | |||||
malá | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
1. | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
2. | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |
3. | 43 | 44 | 45 | 46 | 47 | 48 | ||||||
pomlčka | 49 |
šestnástinové | ( +0) |
osminové | ( +50) |
štvrťové | (+100) |
pólové | (+150) |
celé | (+200) |
iná nota: | 251 f1 f2 d1 d2 | frekvencia = f1 * 256 + f2, dĺžka noty: d1/d2 |
nastavenie rytmu: | 252 d | dĺžka trvania celej noty = d * 20 [ms] |
prepnutie oktávy: | 253 o | bez oktávy o=0, subkontra: o=1, kontra: o=2, veľká: o=3, malá: o=4, prvá: o=4, atď. Po prepnutí oktávy platia čísla nôt 0-49. |
Napríklad:
1 uint16_t dlzka_kohutik = 24;
2 uint8_t kohutik_jarabi[] = { 119, 121, 173, 174, 124, 124, 124, 123, 171, 173, 123, 123, 123, 121, 169, 171, 121, 121, 121, 123, 171, 169, 119, 119 };
3
4 uint16_t dlzka_cancan = 279;
5 uint8_t cancan[] = {
6 251,1,184,1,32,126,149,251,1,184,1,32,125,149,251,1,184,1,32,126,251,1,184,1,32,126,251,1,184,1,32,126,251,1,184,1,32,126,
7 64,71,71,73,71,69,69,73,74,78,81,78,78,76,251,1,184,1,32,126,78,68,68,78,76,69,69,73,73,71,73,71,85,83,85,83,
8 64,71,71,73,71,69,69,73,74,78,81,78,78,76,251,1,184,1,32,126,78,68,68,78,76,69,69,73,73,71,73,71,71,69,119,
9 135,131,128,126,75,76,78,80,81,76,80,76,81,76,80,76,81,76,80,76,81,76,80,76,
10 251,2,11,3,16,19,251,1,4,3,16,19,
11 251,1,4,3,16,19,251,1,4,3,16,19,
12 251,1,4,3,16,19,251,1,4,3,16,19,
13 251,1,4,3,16,19,251,1,4,3,16,19,
14 174,88,91,90,88,193,193,93,95,90,91,138,138,88,91,90,88,86,86,85,83,81,79,78,76,
15 174,88,91,90,88,193,193,93,95,90,91,138,138,88,91,90,88,86,93,89,90,136,
16 64,71,71,73,71,69,69,73,74,78,81,78,78,76,251,1,184,1,32,126,
17 78,76,126,78,76,126,78,76,126,78,76,126,78,76,126,78,76,126,
18 78,76,78,76,78,76,78,76,
19 131,119,119,119,169 };