Tabellen zur genauen Erzeugung von Tonhöhen mit den Timern 0, 1 oder 3 des Arduino Micro
(EN google-translate)
(PL google-translate)
Tonhöhen mit Timer 1 und 3
| midi | N | OCR | f soll [Hz] | f ist [Hz] | Fehler [cent] | 
|---|---|---|---|---|---|
| 0 | 8 | 61155 | 8.175798915643707 | 8.175812675779973 | -0.0029137209248050995 | 
| 1 | 8 | 57723 | 8.661957218027254 | 8.66190839165685 | 0.009758777497125948 | 
| 2 | 8 | 54483 | 9.177023997418987 | 9.177006093532047 | 0.0033775490754521797 | 
| 3 | 8 | 51425 | 9.722718241315029 | 9.722708357640105 | 0.001759895003431211 | 
| 4 | 8 | 48539 | 10.300861153527185 | 10.300782859497321 | 0.01315868677772869 | 
| 5 | 8 | 45814 | 10.913382232281373 | 10.913456291607552 | -0.011748291168373726 | 
| 6 | 8 | 43243 | 11.562325709738577 | 11.562297659790953 | 0.004199940783905731 | 
| 7 | 8 | 40816 | 12.249857374429666 | 12.249797878335007 | 0.00840841748981802 | 
| 8 | 8 | 38525 | 12.978271799373287 | 12.978248455588433 | 0.0031139424526145376 | 
| 9 | 8 | 36363 | 13.75 | 13.749862501374986 | 0.01731225392950364 | 
| 10 | 8 | 34322 | 14.56761754744031 | 14.567491186667832 | 0.015016938757980824 | 
| 11 | 8 | 32395 | 15.433853164253879 | 15.434004198049141 | -0.016941561304520292 | 
| 12 | 8 | 30577 | 16.351597831287414 | 16.351625351559946 | -0.002913720924880181 | 
| 13 | 8 | 28861 | 17.32391443605451 | 17.3238167833137 | 0.009758777496926996 | 
| 14 | 8 | 27241 | 18.354047994837973 | 18.354012187064093 | 0.003377549075821662 | 
| 15 | 8 | 25712 | 19.445436482630058 | 19.44541671528021 | 0.0017598950037154282 | 
| 16 | 8 | 24269 | 20.60172230705437 | 20.601565718994642 | 0.013158686777615003 | 
| 17 | 8 | 22907 | 21.826764464562746 | 21.82643617950061 | 0.02603879069533832 | 
| 18 | 8 | 21621 | 23.124651419477154 | 23.124595319581907 | 0.004199940784019418 | 
| 19 | 8 | 20407 | 24.499714748859333 | 24.500196001568014 | -0.034006636450385486 | 
| 20 | 8 | 19262 | 25.956543598746574 | 25.956496911176867 | 0.0031139424527282245 | 
| 21 | 8 | 18181 | 27.5 | 27.499725002749972 | 0.01731225392950364 | 
| 22 | 8 | 17160 | 29.13523509488062 | 29.13583124526543 | -0.03542326953720476 | 
| 23 | 8 | 16197 | 30.867706328507758 | 30.868008396098283 | -0.016941561304065544 | 
| 24 | 8 | 15288 | 32.70319566257483 | 32.70325070311989 | -0.002913720924880181 | 
| 25 | 8 | 14430 | 34.64782887210902 | 34.6476335666274 | 0.009758777497609117 | 
| 26 | 8 | 13620 | 36.70809598967594 | 36.708024374128186 | 0.0033775490755942883 | 
| 27 | 8 | 12855 | 38.890872965260115 | 38.89234598630989 | -0.06557054930453887 | 
| 28 | 8 | 12134 | 41.20344461410874 | 41.203131437989285 | 0.013158686777842377 | 
| 29 | 8 | 11453 | 43.65352892912548 | 43.65287235900122 | 0.0260387906946562 | 
| 30 | 8 | 10810 | 46.24930283895431 | 46.249190639163814 | 0.004199940784019418 | 
| 31 | 8 | 10203 | 48.99942949771867 | 49.00039200313603 | -0.03400663645061286 | 
| 32 | 8 | 9630 | 51.91308719749315 | 51.915688921191986 | -0.0867619329246736 | 
| 33 | 8 | 9090 | 55.0 | 54.999450005499945 | 0.01731225392950364 | 
| 34 | 8 | 8580 | 58.27047018976125 | 58.26826710173639 | 0.06545567750072223 | 
| 35 | 1 | 64792 | 61.735412657015516 | 61.73506397296004 | 0.009778106081284932 | 
| 36 | 1 | 61155 | 65.40639132514966 | 65.40650140623978 | -0.002913720924880181 | 
| 37 | 1 | 57723 | 69.29565774421803 | 69.2952671332548 | 0.009758777496699622 | 
| 38 | 1 | 54483 | 73.41619197935188 | 73.41604874825637 | 0.0033775490755942883 | 
| 39 | 1 | 51425 | 77.78174593052023 | 77.78166686112084 | 0.0017598950039428018 | 
| 40 | 1 | 48539 | 82.40688922821748 | 82.40626287597857 | 0.013158686778751871 | 
| 41 | 1 | 45814 | 87.30705785825096 | 87.30765033286042 | -0.011748291168260039 | 
| 42 | 1 | 43243 | 92.49860567790861 | 92.49838127832763 | 0.004199940783109923 | 
| 43 | 1 | 40816 | 97.99885899543735 | 97.99838302668006 | 0.008408417489590647 | 
| 44 | 1 | 38525 | 103.8261743949863 | 103.82598764470747 | 0.0031139424527282245 | 
| 45 | 1 | 36363 | 110.0 | 109.99890001099989 | 0.017312253929048893 | 
| 46 | 1 | 34322 | 116.5409403795225 | 116.53992949334265 | 0.01501693875707133 | 
| 47 | 1 | 32395 | 123.47082531403103 | 123.47203358439313 | -0.016941561304520292 | 
| 48 | 1 | 30577 | 130.8127826502993 | 130.81300281247957 | -0.002913720924880181 | 
| 49 | 1 | 28861 | 138.59131548843604 | 138.5905342665096 | 0.009758777496244875 | 
| 50 | 1 | 27241 | 146.83238395870382 | 146.83209749651274 | 0.0033775490755942883 | 
| 51 | 1 | 25712 | 155.56349186104046 | 155.56333372224168 | 0.0017598950034880545 | 
| 52 | 1 | 24269 | 164.81377845643496 | 164.81252575195714 | 0.01315868677738763 | 
| 53 | 1 | 22907 | 174.614115716502 | 174.6114894360049 | 0.026038790695565694 | 
| 54 | 1 | 21621 | 184.99721135581723 | 184.99676255665526 | 0.004199940783109923 | 
| 55 | 1 | 20407 | 195.9977179908746 | 196.0015680125441 | -0.03400663645061286 | 
| 56 | 1 | 19262 | 207.65234878997262 | 207.65197528941493 | 0.003113942453637719 | 
| 57 | 1 | 18181 | 220.0 | 219.99780002199978 | 0.017312253929958388 | 
| 58 | 1 | 17160 | 233.0818807590449 | 233.08664996212343 | -0.035423269538114255 | 
| 59 | 1 | 16197 | 246.9416506280621 | 246.94406716878626 | -0.016941561304520292 | 
| 60 | 1 | 15288 | 261.6255653005986 | 261.62600562495913 | -0.0029137209239706863 | 
| 61 | 1 | 14430 | 277.1826309768721 | 277.1810685330192 | 0.009758777496244875 | 
| 62 | 1 | 13620 | 293.66476791740763 | 293.6641949930255 | 0.003377549076503783 | 
| 63 | 1 | 12855 | 311.1269837220809 | 311.13876789047913 | -0.06557054930453887 | 
| 64 | 1 | 12134 | 329.6275569128699 | 329.6250515039143 | 0.013158686778297124 | 
| 65 | 1 | 11453 | 349.228231433004 | 349.2229788720098 | 0.026038790695565694 | 
| 66 | 1 | 10810 | 369.99442271163446 | 369.9935251133105 | 0.004199940783109923 | 
| 67 | 1 | 10203 | 391.9954359817492 | 392.0031360250882 | -0.03400663645061286 | 
| 68 | 1 | 9630 | 415.30469757994524 | 415.3255113695359 | -0.08676193292285461 | 
| 69 | 1 | 9090 | 440.0 | 439.99560004399956 | 0.017312253929048893 | 
| 70 | 1 | 8580 | 466.1637615180898 | 466.14613681389113 | 0.06545567749890324 | 
| 71 | 1 | 8098 | 493.8833012561242 | 493.8881343375725 | -0.016941561303610797 | 
| 72 | 1 | 7644 | 523.2511306011972 | 523.2177894048398 | 0.11031653838290367 | 
| 73 | 1 | 7214 | 554.3652619537442 | 554.4005544005544 | -0.11021170514504774 | 
| 74 | 1 | 6809 | 587.3295358348153 | 587.3715124816447 | -0.12372748009784118 | 
| 75 | 1 | 6427 | 622.2539674441618 | 622.2775357809583 | -0.06557054930453887 | 
| 76 | 1 | 6066 | 659.2551138257398 | 659.3044338223175 | -0.12951171991608135 | 
| 77 | 1 | 5726 | 698.456462866008 | 698.4459577440196 | 0.0260387906946562 | 
| 78 | 1 | 5404 | 739.9888454232689 | 740.0555041628122 | -0.1559438130025228 | 
| 79 | 1 | 5101 | 783.9908719634984 | 784.0062720501764 | -0.03400663645243185 | 
| 80 | 1 | 4815 | 830.6093951598905 | 830.5647840531561 | 0.09298515222599235 | 
| 81 | 1 | 4544 | 880.0 | 880.0880088008801 | -0.17313206165272277 | 
| 82 | 1 | 4289 | 932.3275230361796 | 932.4009324009324 | -0.13630809512869746 | 
| 83 | 1 | 4049 | 987.7666025122484 | 987.6543209876543 | 0.19680423180216167 | 
| 84 | 1 | 3821 | 1046.5022612023945 | 1046.5724751439036 | -0.11615138646993728 | 
| 85 | 1 | 3607 | 1108.7305239074883 | 1108.6474501108648 | 0.12972094703764014 | 
| 86 | 1 | 3404 | 1174.6590716696305 | 1174.7430249632894 | -0.12372748009875068 | 
| 87 | 1 | 3213 | 1244.5079348883237 | 1244.5550715619165 | -0.06557054930635786 | 
| 88 | 1 | 3033 | 1318.5102276514797 | 1318.3915622940012 | 0.15581733702128986 | 
| 89 | 1 | 2862 | 1396.912925732016 | 1397.1358714634998 | -0.27628096019179793 | 
| 90 | 1 | 2702 | 1479.9776908465378 | 1479.8372179060304 | 0.16432888221606845 | 
| 91 | 1 | 2550 | 1567.9817439269968 | 1568.012544100353 | -0.034006636451522354 | 
| 92 | 1 | 2407 | 1661.218790319781 | 1661.1295681063123 | 0.09298515222326387 | 
| 93 | 1 | 2272 | 1760.0 | 1759.7888253409592 | 0.20773562200338347 | 
| 94 | 1 | 2144 | 1864.6550460723593 | 1864.801864801865 | -0.13630809512869746 | 
| 95 | 1 | 2024 | 1975.5332050244967 | 1975.3086419753085 | 0.19680423180398066 | 
| 96 | 1 | 1910 | 2093.004522404789 | 2093.144950287807 | -0.11615138646993728 | 
| 97 | 1 | 1803 | 2217.461047814978 | 2217.2949002217297 | 0.12972094703945913 | 
| 98 | 1 | 1702 | 2349.3181433392597 | 2348.796241926013 | 0.38463665483141085 | 
| 99 | 1 | 1606 | 2489.0158697766474 | 2489.110143123833 | -0.06557054930271988 | 
| 100 | 1 | 1516 | 2637.0204553029603 | 2636.7831245880025 | 0.15581733702492784 | 
| 101 | 1 | 1431 | 2793.82585146403 | 2793.2960893854747 | 0.3283057576900319 | 
| 102 | 1 | 1350 | 2959.9553816930757 | 2960.7698001480385 | -0.47627576859486 | 
| 103 | 1 | 1275 | 3135.963487853996 | 3134.796238244514 | 0.6445095584258524 | 
| 104 | 1 | 1203 | 3322.43758063956 | 3322.2591362126245 | 0.09298515222508286 | 
| 105 | 1 | 1135 | 3520.0 | 3521.1267605633802 | -0.5540835537995008 | 
| 106 | 1 | 1072 | 3729.3100921447212 | 3727.865796831314 | 0.6706059484076832 | 
| 107 | 1 | 1011 | 3951.066410048991 | 3952.5691699604745 | -0.6583373262456007 | 
| 108 | 1 | 955 | 4186.009044809578 | 4184.100418410042 | 0.7895426174818567 | 
| 109 | 1 | 901 | 4434.922095629956 | 4434.589800443459 | 0.12972094703945913 | 
| 110 | 1 | 850 | 4698.636286678519 | 4700.352526439483 | -0.632240936261951 | 
| 111 | 1 | 803 | 4978.031739553295 | 4975.124378109453 | 1.0114024552967749 | 
| 112 | 1 | 757 | 5274.0409106059205 | 5277.0448548812665 | -0.9857811541060073 | 
| 113 | 1 | 715 | 5587.65170292806 | 5586.592178770949 | 0.3283057576900319 | 
| 114 | 1 | 675 | 5919.910763386151 | 5917.15976331361 | 0.8046965792036644 | 
| 115 | 1 | 637 | 6271.926975707992 | 6269.592476489028 | 0.6445095584258524 | 
| 116 | 1 | 601 | 6644.87516127912 | 6644.518272425249 | 0.09298515222326387 | 
| 117 | 1 | 567 | 7040.0 | 7042.2535211267605 | -0.5540835537976818 | 
| 118 | 1 | 535 | 7458.6201842894425 | 7462.686567164179 | -0.9435984100891801 | 
| 119 | 1 | 505 | 7902.132820097982 | 7905.138339920949 | -0.6583373262474197 | 
| 120 | 1 | 477 | 8372.018089619156 | 8368.200836820084 | 0.7895426174818567 | 
| 121 | 1 | 450 | 8869.844191259912 | 8869.179600886919 | 0.12972094704127812 | 
| 122 | 1 | 425 | 9397.272573357039 | 9389.671361502347 | 1.4009173115864542 | 
| 123 | 1 | 401 | 9956.06347910659 | 9950.248756218905 | 1.0114024552949559 | 
| 124 | 1 | 378 | 10548.081821211841 | 10554.089709762533 | -0.9857811541060073 | 
| 125 | 1 | 357 | 11175.30340585612 | 11173.184357541899 | 0.3283057576882129 | 
| 126 | 1 | 337 | 11839.821526772303 | 11834.31952662722 | 0.8046965792018455 | 
| 127 | 1 | 318 | 12543.853951415984 | 12539.184952978056 | 0.6445095584258524 | 
Tabelle 0-1: Umsetzung der Miditonhöhen mit Timer 1 oder 3 auf dem Arduino Micro
Tonhöhen mit Timer 0
| midi | N | OCR | f soll [Hz] | f ist [Hz] | Fehler [cent] | 
|---|---|---|---|---|---|
| 0 | 1024 | 477 | 8.175798915643707 | 8.172071129707113 | 0.7895426174806236 | 
| 1 | 1024 | 450 | 8.661957218027254 | 8.661308203991132 | 0.1297209470395586 | 
| 2 | 1024 | 425 | 9.177023997418987 | 9.169600938967136 | 1.4009173115884437 | 
| 3 | 1024 | 401 | 9.722718241315029 | 9.717039800995025 | 1.0114024552968317 | 
| 4 | 1024 | 378 | 10.300861153527185 | 10.306728232189974 | -0.9857811541073147 | 
| 5 | 1024 | 357 | 10.913382232281373 | 10.91131284916201 | 0.3283057576903161 | 
| 6 | 1024 | 337 | 11.562325709738577 | 11.556952662721894 | 0.8046965792036644 | 
| 7 | 1024 | 318 | 12.249857374429666 | 12.245297805642632 | 0.6445095584260798 | 
| 8 | 1024 | 300 | 12.978271799373287 | 12.977574750830565 | 0.09298515222542392 | 
| 9 | 1024 | 283 | 13.75 | 13.754401408450704 | -0.5540835537989324 | 
| 10 | 1024 | 267 | 14.56761754744031 | 14.575559701492537 | -0.9435984100902033 | 
| 11 | 256 | 1011 | 15.433853164253879 | 15.439723320158103 | -0.6583373262453733 | 
| 12 | 256 | 955 | 16.351597831287414 | 16.344142259414227 | 0.7895426174804925 | 
| 13 | 256 | 901 | 17.32391443605451 | 17.322616407982263 | 0.12972094703945913 | 
| 14 | 256 | 850 | 18.354047994837973 | 18.36075205640423 | -0.6322409362617236 | 
| 15 | 256 | 803 | 19.445436482630058 | 19.43407960199005 | 1.0114024552970022 | 
| 16 | 256 | 757 | 20.60172230705437 | 20.613456464379947 | -0.9857811541071442 | 
| 17 | 256 | 715 | 21.826764464562746 | 21.82262569832402 | 0.3283057576900319 | 
| 18 | 256 | 675 | 23.124651419477154 | 23.11390532544379 | 0.8046965792038918 | 
| 19 | 256 | 637 | 24.499714748859333 | 24.490595611285265 | 0.6445095584260798 | 
| 20 | 256 | 601 | 25.956543598746574 | 25.95514950166113 | 0.09298515222531023 | 
| 21 | 256 | 567 | 27.5 | 27.508802816901408 | -0.5540835537985913 | 
| 22 | 256 | 535 | 29.13523509488062 | 29.151119402985074 | -0.9435984100909991 | 
| 23 | 256 | 505 | 30.867706328507758 | 30.879446640316207 | -0.658337326245146 | 
| 24 | 256 | 477 | 32.70319566257483 | 32.68828451882845 | 0.7895426174804925 | 
| 25 | 256 | 450 | 34.64782887210902 | 34.645232815964526 | 0.12972094703945913 | 
| 26 | 256 | 425 | 36.70809598967594 | 36.678403755868544 | 1.4009173115882732 | 
| 27 | 256 | 401 | 38.890872965260115 | 38.8681592039801 | 1.0114024552967749 | 
| 28 | 256 | 378 | 41.20344461410874 | 41.226912928759894 | -0.9857811541073715 | 
| 29 | 256 | 357 | 43.65352892912548 | 43.64525139664804 | 0.32830575768957715 | 
| 30 | 256 | 337 | 46.24930283895431 | 46.22781065088758 | 0.8046965792041192 | 
| 31 | 256 | 318 | 48.99942949771867 | 48.98119122257053 | 0.6445095584263072 | 
| 32 | 256 | 300 | 51.91308719749315 | 51.91029900332226 | 0.09298515222462811 | 
| 33 | 256 | 283 | 55.0 | 55.017605633802816 | -0.5540835537985913 | 
| 34 | 256 | 267 | 58.27047018976125 | 58.30223880597015 | -0.9435984100896349 | 
| 35 | 64 | 1011 | 61.735412657015516 | 61.758893280632414 | -0.6583373262446912 | 
| 36 | 64 | 955 | 65.40639132514966 | 65.3765690376569 | 0.7895426174804925 | 
| 37 | 64 | 901 | 69.29565774421803 | 69.29046563192905 | 0.1297209470390044 | 
| 38 | 64 | 850 | 73.41619197935188 | 73.44300822561692 | -0.6322409362614962 | 
| 39 | 64 | 803 | 77.78174593052023 | 77.7363184079602 | 1.0114024552972296 | 
| 40 | 64 | 757 | 82.40688922821748 | 82.45382585751979 | -0.9857811541069168 | 
| 41 | 64 | 715 | 87.30705785825096 | 87.29050279329608 | 0.3283057576900319 | 
| 42 | 64 | 675 | 92.49860567790861 | 92.45562130177515 | 0.804696579202755 | 
| 43 | 64 | 637 | 97.99885899543735 | 97.96238244514106 | 0.6445095584267619 | 
| 44 | 64 | 601 | 103.8261743949863 | 103.82059800664452 | 0.09298515222508286 | 
| 45 | 64 | 567 | 110.0 | 110.03521126760563 | -0.5540835537985913 | 
| 46 | 64 | 535 | 116.5409403795225 | 116.6044776119403 | -0.9435984100909991 | 
| 47 | 64 | 505 | 123.47082531403103 | 123.51778656126483 | -0.6583373262456007 | 
| 48 | 64 | 477 | 130.8127826502993 | 130.7531380753138 | 0.7895426174809472 | 
| 49 | 64 | 450 | 138.59131548843604 | 138.5809312638581 | 0.12972094703854964 | 
| 50 | 64 | 425 | 146.83238395870382 | 146.71361502347418 | 1.4009173115891826 | 
| 51 | 64 | 401 | 155.56349186104046 | 155.4726368159204 | 1.0114024552967749 | 
| 52 | 64 | 378 | 164.81377845643496 | 164.90765171503958 | -0.9857811541069168 | 
| 53 | 64 | 357 | 174.614115716502 | 174.58100558659217 | 0.3283057576900319 | 
| 54 | 64 | 337 | 184.99721135581723 | 184.9112426035503 | 0.8046965792036644 | 
| 55 | 64 | 318 | 195.9977179908746 | 195.92476489028212 | 0.6445095584258524 | 
| 56 | 64 | 300 | 207.65234878997262 | 207.64119601328903 | 0.09298515222599235 | 
| 57 | 64 | 283 | 220.0 | 220.07042253521126 | -0.5540835537985913 | 
| 58 | 64 | 267 | 233.0818807590449 | 233.2089552238806 | -0.9435984100909991 | 
| 59 | 64 | 252 | 246.9416506280621 | 247.03557312252966 | -0.6583373262446912 | 
| 60 | 64 | 238 | 261.6255653005986 | 261.5062761506276 | 0.7895426174809472 | 
| 61 | 64 | 224 | 277.1826309768721 | 277.77777777777777 | -3.7131974989733862 | 
| 62 | 64 | 212 | 293.66476791740763 | 293.42723004694835 | 1.4009173115891826 | 
| 63 | 64 | 200 | 311.1269837220809 | 310.9452736318408 | 1.0114024552967749 | 
| 64 | 64 | 189 | 329.6275569128699 | 328.94736842105266 | 3.576103037719804 | 
| 65 | 64 | 178 | 349.228231433004 | 349.16201117318434 | 0.3283057576909414 | 
| 66 | 64 | 168 | 369.99442271163446 | 369.8224852071006 | 0.804696579202755 | 
| 67 | 64 | 158 | 391.9954359817492 | 393.0817610062893 | -4.79108061819079 | 
| 68 | 64 | 149 | 415.30469757994524 | 416.6666666666667 | -5.668198364359341 | 
| 69 | 64 | 141 | 440.0 | 440.14084507042253 | -0.5540835537985913 | 
| 70 | 64 | 133 | 466.1637615180898 | 466.4179104477612 | -0.9435984100909991 | 
| 71 | 8 | 1011 | 493.8833012561242 | 494.0711462450593 | -0.6583373262428722 | 
| 72 | 8 | 955 | 523.2511306011972 | 523.0125523012553 | 0.7895426174809472 | 
| 73 | 8 | 901 | 554.3652619537442 | 554.3237250554324 | 0.12972094703945913 | 
| 74 | 8 | 850 | 587.3295358348153 | 587.5440658049354 | -0.632240936261951 | 
| 75 | 8 | 803 | 622.2539674441618 | 621.8905472636816 | 1.0114024552985938 | 
| 76 | 8 | 757 | 659.2551138257398 | 659.6306068601583 | -0.9857811541069168 | 
| 77 | 8 | 715 | 698.456462866008 | 698.3240223463687 | 0.3283057576909414 | 
| 78 | 8 | 675 | 739.9888454232689 | 739.6449704142012 | 0.8046965792036644 | 
| 79 | 8 | 637 | 783.9908719634984 | 783.6990595611285 | 0.644509558424943 | 
| 80 | 8 | 601 | 830.6093951598905 | 830.5647840531561 | 0.09298515222599235 | 
| 81 | 8 | 567 | 880.0 | 880.2816901408451 | -0.5540835537967723 | 
| 82 | 8 | 535 | 932.3275230361796 | 932.8358208955224 | -0.9435984100909991 | 
| 83 | 8 | 505 | 987.7666025122484 | 988.1422924901186 | -0.6583373262456007 | 
| 84 | 8 | 477 | 1046.5022612023945 | 1046.0251046025105 | 0.7895426174800377 | 
| 85 | 8 | 450 | 1108.7305239074883 | 1108.6474501108648 | 0.12972094703764014 | 
| 86 | 8 | 425 | 1174.6590716696305 | 1173.7089201877934 | 1.4009173115882732 | 
| 87 | 8 | 401 | 1244.5079348883237 | 1243.7810945273632 | 1.0114024552967749 | 
| 88 | 8 | 378 | 1318.5102276514797 | 1319.2612137203166 | -0.9857811541096453 | 
| 89 | 8 | 357 | 1396.912925732016 | 1396.6480446927374 | 0.3283057576918509 | 
| 90 | 8 | 337 | 1479.9776908465378 | 1479.2899408284025 | 0.8046965792036644 | 
| 91 | 8 | 318 | 1567.9817439269968 | 1567.398119122257 | 0.6445095584258524 | 
| 92 | 8 | 300 | 1661.218790319781 | 1661.1295681063123 | 0.09298515222326387 | 
| 93 | 8 | 283 | 1760.0 | 1760.5633802816901 | -0.5540835537958628 | 
| 94 | 8 | 267 | 1864.6550460723593 | 1865.6716417910447 | -0.9435984100909991 | 
| 95 | 8 | 252 | 1975.5332050244967 | 1976.2845849802372 | -0.6583373262437817 | 
| 96 | 8 | 238 | 2093.004522404789 | 2092.050209205021 | 0.7895426174800377 | 
| 97 | 8 | 224 | 2217.461047814978 | 2222.222222222222 | -3.7131974989715673 | 
| 98 | 8 | 212 | 2349.3181433392597 | 2347.417840375587 | 1.4009173115864542 | 
| 99 | 8 | 200 | 2489.0158697766474 | 2487.5621890547263 | 1.0114024552985938 | 
| 100 | 8 | 189 | 2637.0204553029603 | 2631.5789473684213 | 3.576103037721623 | 
| 101 | 8 | 178 | 2793.82585146403 | 2793.2960893854747 | 0.3283057576900319 | 
| 102 | 8 | 168 | 2959.9553816930757 | 2958.579881656805 | 0.8046965792036644 | 
| 103 | 8 | 158 | 3135.963487853996 | 3144.6540880503144 | -4.791080618189881 | 
| 104 | 8 | 149 | 3322.43758063956 | 3333.3333333333335 | -5.668198364359341 | 
| 105 | 8 | 141 | 3520.0 | 3521.1267605633802 | -0.5540835537995008 | 
| 106 | 8 | 133 | 3729.3100921447212 | 3731.3432835820895 | -0.9435984100909991 | 
| 107 | 1 | 1011 | 3951.066410048991 | 3952.5691699604745 | -0.6583373262456007 | 
| 108 | 1 | 955 | 4186.009044809578 | 4184.100418410042 | 0.7895426174818567 | 
| 109 | 1 | 901 | 4434.922095629956 | 4434.589800443459 | 0.12972094703945913 | 
| 110 | 1 | 850 | 4698.636286678519 | 4700.352526439483 | -0.632240936261951 | 
| 111 | 1 | 803 | 4978.031739553295 | 4975.124378109453 | 1.0114024552967749 | 
| 112 | 1 | 757 | 5274.0409106059205 | 5277.0448548812665 | -0.9857811541060073 | 
| 113 | 1 | 715 | 5587.65170292806 | 5586.592178770949 | 0.3283057576900319 | 
| 114 | 1 | 675 | 5919.910763386151 | 5917.15976331361 | 0.8046965792036644 | 
| 115 | 1 | 637 | 6271.926975707992 | 6269.592476489028 | 0.6445095584258524 | 
| 116 | 1 | 601 | 6644.87516127912 | 6644.518272425249 | 0.09298515222326387 | 
| 117 | 1 | 567 | 7040.0 | 7042.2535211267605 | -0.5540835537976818 | 
| 118 | 1 | 535 | 7458.6201842894425 | 7462.686567164179 | -0.9435984100891801 | 
| 119 | 1 | 505 | 7902.132820097982 | 7905.138339920949 | -0.6583373262474197 | 
| 120 | 1 | 477 | 8372.018089619156 | 8368.200836820084 | 0.7895426174818567 | 
| 121 | 1 | 450 | 8869.844191259912 | 8869.179600886919 | 0.12972094704127812 | 
| 122 | 1 | 425 | 9397.272573357039 | 9389.671361502347 | 1.4009173115864542 | 
| 123 | 1 | 401 | 9956.06347910659 | 9950.248756218905 | 1.0114024552949559 | 
| 124 | 1 | 378 | 10548.081821211841 | 10554.089709762533 | -0.9857811541060073 | 
| 125 | 1 | 357 | 11175.30340585612 | 11173.184357541899 | 0.3283057576882129 | 
| 126 | 1 | 337 | 11839.821526772303 | 11834.31952662722 | 0.8046965792018455 | 
| 127 | 1 | 318 | 12543.853951415984 | 12539.184952978056 | 0.6445095584258524 | 
Tabelle 0-2: Umsetzung der Miditonhöhen mit Timer 0 auf dem Arduino Micro
Chromatische Aufwärtsbewegung eines Dreiklangs
#include <avr/pgmspace.h>
#include<avr/interrupt.h>
//Einstellen von Miditonhöhen mit den Timern 1 und 3 im CTC-Mode.
//const unsigned int LOOKUP_OCR1[] = PROGMEM {
const unsigned int LOOKUP_OCR1[] = {
61155, 57723, 54483, 51425, 48539, 45814, 43243, 40816, 38525, 36363, 
34322, 32395, 30577, 28861, 27241, 25712, 24269, 22907, 21621, 20407, 
19262, 18181, 17160, 16197, 15288, 14430, 13620, 12855, 12134, 11453, 
10810, 10203, 9630, 9090, 8580, 64792, 61155, 57723, 54483, 51425, 
48539, 45814, 43243, 40816, 38525, 36363, 34322, 32395, 30577, 28861, 
27241, 25712, 24269, 22907, 21621, 20407, 19262, 18181, 17160, 16197, 
15288, 14430, 13620, 12855, 12134, 11453, 10810, 10203, 9630, 9090, 
8580, 8098, 7644, 7214, 6809, 6427, 6066, 5726, 5404, 5101, 
4815, 4544, 4289, 4049, 3821, 3607, 3404, 3213, 3033, 2862, 
2702, 2550, 2407, 2272, 2144, 2024, 1910, 1803, 1702, 1606, 
1516, 1431, 1350, 1275, 1203, 1135, 1072, 1011, 955, 901, 
850, 803, 757, 715, 675, 637, 601, 567, 535, 505, 
477, 450, 425, 401, 378, 357, 337, 318};
//const unsigned int LOOKUP_N1[] = PROGMEM {
const unsigned int LOOKUP_N1[] = {
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1};
//const unsigned int LOOKUP_OCR0[] = PROGMEM {
const unsigned int LOOKUP_OCR0[] = {
477, 450, 425, 401, 378, 357, 337, 318, 300, 283, 
267, 1011, 955, 901, 850, 803, 757, 715, 675, 637, 
601, 567, 535, 505, 477, 450, 425, 401, 378, 357, 
337, 318, 300, 283, 267, 1011, 955, 901, 850, 803, 
757, 715, 675, 637, 601, 567, 535, 505, 477, 450, 
425, 401, 378, 357, 337, 318, 300, 283, 267, 252, 
238, 224, 212, 200, 189, 178, 168, 158, 149, 141, 
133, 1011, 955, 901, 850, 803, 757, 715, 675, 637, 
601, 567, 535, 505, 477, 450, 425, 401, 378, 357, 
337, 318, 300, 283, 267, 252, 238, 224, 212, 200, 
189, 178, 168, 158, 149, 141, 133, 1011, 955, 901, 
850, 803, 757, 715, 675, 637, 601, 567, 535, 505, 
477, 450, 425, 401, 378, 357, 337, 318};
//const unsigned int LOOKUP_N0[] = PROGMEM {
const unsigned int LOOKUP_N0[] = {
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 
5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1};
//const unsigned int LOOKUP_FEHLER0 = PROGMEM {
const unsigned int LOOKUP_FEHLER0[] = {
8, 1, 14, 10, 10, 3, 8, 6, 1, 6, 
9, 7, 8, 1, 6, 10, 10, 3, 8, 6, 
1, 6, 9, 7, 8, 1, 14, 10, 10, 3, 
8, 6, 1, 6, 9, 7, 8, 1, 6, 10, 
10, 3, 8, 6, 1, 6, 9, 7, 8, 1, 
14, 10, 10, 3, 8, 6, 1, 6, 9, 7, 
8, 37, 14, 10, 36, 3, 8, 48, 57, 6, 
9, 7, 8, 1, 6, 10, 10, 3, 8, 6, 
1, 6, 9, 7, 8, 1, 14, 10, 10, 3, 
8, 6, 1, 6, 9, 7, 8, 37, 14, 10, 
36, 3, 8, 48, 57, 6, 9, 7, 8, 1, 
6, 10, 10, 3, 8, 6, 1, 6, 9, 7, 
8, 1, 14, 10, 10, 3, 8, 6};
int ZEIT=0;
bool ZUSTAND=false;
int TON=0;
ISR(TIMER4_COMPA_vect)
{
    if(ZEIT==4000) 
    {
      digitalWrite(0,ZUSTAND);
      ZUSTAND=!ZUSTAND;        
      ZEIT=0;
      
      TON++;
      TON%=25;
      
      setzeMidihoehe0(TON+48);  //Timer 3
      setzeMidihoehe1(TON+48+4);  //Timer 3
      setzeMidihoehe3(TON+48+7);  //Timer 3
      
    }  
    ZEIT++;
}
void initTimer4()
{
  //Vorteilung 2
  TCCR4B &= ~(1<<CS43);
  TCCR4B &= ~(1<<CS42);
  TCCR4B &= ~(1<<CS41);    
  TCCR4B |=  (1<<CS40);
 
  TIMSK4 |= (1<<OCIE4A); //Mode 4
  sei(); 
 
  //Andere Frequenzberechnung:   
  //f = fclk/(2*(OCR1A+1))
  //OCR1A = (fclk/(f*2*N))-1
  //OCR1A = 500000/440 - 1 ==  
  //OCR4B=268; 
  OCR4A=400; 
//  OCR4C=10; 
    
//OCR4B=268;     
//    OCR4A=2; 
//durch Interrupt gesteuert:
  pinMode(0,OUTPUT);    
}
void initTimer0()
{
  TCCR0B=0;
  TCCR0A=0;
  
  TCCR0B &= ~(1<<WGM02);
  TCCR0A |=  (1<<WGM01);
  TCCR0A &= ~(1<<WGM00);
    
  //Vorteilung 64
  TCCR0B &= ~(1<<CS02);
  TCCR0B |= (1<<CS01);
  TCCR0B |= (1<<CS00);
    
  //f = fclk/(2*N*(OCR1A+1))
  //OCR1A = (fclk/(f*2*N))-1
  //OCR1A = 125000/880 - 1 ==  141
  //KORRIGIERT:
  //********************************
  //OCR0A = 62500/440 - 1 ==  142
  //OCR0A = 16000000/(f*4*N) - 1 ==  142
  //********************************
  
  OCR0A=141;  
  
  //Toggle auf OC1A:
  TCCR0A &= ~(1<<COM0A1);
  TCCR0A |=  (1<<COM0A0);
  pinMode(11,OUTPUT);          //OC0A
}
void initTimer1()
{
  TCCR1B &= ~(1<<WGM13); //Mode 4
  TCCR1B |= (1<<WGM12);
  TCCR1A &= ~(1<<WGM11);
  TCCR1A &= ~(1<<WGM10);
    
  //Vorteilung 1: 16000000Hz
  TCCR1B &= ~(1<<CS12);
  TCCR1B &= ~(1<<CS11);
  TCCR1B |= (1<<CS10);
    
  //f = fclk/(2*N*(OCR1A+1))
  //OCR1A = (fclk/(f*2*N))-1
  //OCR1A = 8000000/440 - 1 ==  18181
  //KORRIGIERT:
  //********************************
  //OCR1A = 4000000/440 - 1 ==  9091
  //OCR1A = 16000000/(f*4*N) - 1 ==  9091
  //********************************
  OCR1A=9091;  //0,5Hz == 4 Schläge!
  
  //Toggle auf OC1A:
  TCCR1A &= ~(1<<COM1A1);
  TCCR1A |=  (1<<COM1A0);
  pinMode(9,OUTPUT);      
}
void initTimer3()
{
//  TCCR1B |= (1<<WGM13); //Mode 12
  TCCR3B &= ~(1<<WGM33); //Mode 4
  TCCR3B |= (1<<WGM32);
  TCCR3A &= ~(1<<WGM31);
  TCCR3A &= ~(1<<WGM30);
    
  //Vorteilung 1: 16000000Hz
  TCCR3B &= ~(1<<CS32);
  TCCR3B &= ~(1<<CS31);
  TCCR3B |= (1<<CS30);
    
  //f = fclk/(2*N*(OCR1A+1))
  //OCR1A = (fclk/(f*2*N))-1
  //OCR1A = 8000000/440 - 1 ==  18181
  OCR3A=18181/2;  //0,5Hz == 4 Schläge!
  
  //Toggle auf OC1A:
  TCCR3A &= ~(1<<COM3A1);
  TCCR3A |=  (1<<COM3A0);
  pinMode(5,OUTPUT);    //OC3A  
}
void setzeMidihoehe0(int midi)  //Timer 0
{
  TCCR0B &= 248; //unteren drei Bit löschen
  TCCR0B |= LOOKUP_N0[midi];
  OCR0A=LOOKUP_OCR0[midi];
}
void setzeMidihoehe1(int midi)  //Timer 1
{
  TCCR1B &= 248; //unteren drei Bit löschen
  TCCR1B |= LOOKUP_N1[midi];
  OCR1A=LOOKUP_OCR1[midi];
}
void setzeMidihoehe3(int midi)  //Timer 3
{
  TCCR3B &= 248; //unteren drei Bit löschen
  TCCR3B |= LOOKUP_N1[midi];
  OCR3A=LOOKUP_OCR1[midi];
}
void setup() 
{
    initTimer0();
    initTimer1();
    initTimer3();
    initTimer4();
}
void loop()
{
}
Code 0-1: Chromatische Aufwärtsbewegung eines Dreiklangs
Auslösen der Töne über digitale Ausgänge bei A3, A4, A5
#include <avr/pgmspace.h>
#include<avr/interrupt.h>
//Zuordnung Analog zu Digital
//A0 = D18
//A1 = D19
//A2 = D20
//A3 = D21
//A4 = D22
//A5 = D23
//A6 = D24
//A7 = D25
//A8 = D26
//A9 = D27
//A10 = D28
//A11 = D29
//Zuordnungen:
//Timer0: 11  A3 D21
//Timer1:  9  A4 D22
//Timer2:  5  A5 D23
//Einstellen von Miditonhöhen mit den Timern 1 und 3 im CTC-Mode.
//const unsigned int LOOKUP_OCR1[] = PROGMEM {
const unsigned int LOOKUP_OCR1[] = {
61155, 57723, 54483, 51425, 48539, 45814, 43243, 40816, 38525, 36363, 
34322, 32395, 30577, 28861, 27241, 25712, 24269, 22907, 21621, 20407, 
19262, 18181, 17160, 16197, 15288, 14430, 13620, 12855, 12134, 11453, 
10810, 10203, 9630, 9090, 8580, 64792, 61155, 57723, 54483, 51425, 
48539, 45814, 43243, 40816, 38525, 36363, 34322, 32395, 30577, 28861, 
27241, 25712, 24269, 22907, 21621, 20407, 19262, 18181, 17160, 16197, 
15288, 14430, 13620, 12855, 12134, 11453, 10810, 10203, 9630, 9090, 
8580, 8098, 7644, 7214, 6809, 6427, 6066, 5726, 5404, 5101, 
4815, 4544, 4289, 4049, 3821, 3607, 3404, 3213, 3033, 2862, 
2702, 2550, 2407, 2272, 2144, 2024, 1910, 1803, 1702, 1606, 
1516, 1431, 1350, 1275, 1203, 1135, 1072, 1011, 955, 901, 
850, 803, 757, 715, 675, 637, 601, 567, 535, 505, 
477, 450, 425, 401, 378, 357, 337, 318};
//const unsigned int LOOKUP_N1[] = PROGMEM {
const unsigned int LOOKUP_N1[] = {
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1};
//const unsigned int LOOKUP_OCR0[] = PROGMEM {
const unsigned int LOOKUP_OCR0[] = {
477, 450, 425, 401, 378, 357, 337, 318, 300, 283, 
267, 1011, 955, 901, 850, 803, 757, 715, 675, 637, 
601, 567, 535, 505, 477, 450, 425, 401, 378, 357, 
337, 318, 300, 283, 267, 1011, 955, 901, 850, 803, 
757, 715, 675, 637, 601, 567, 535, 505, 477, 450, 
425, 401, 378, 357, 337, 318, 300, 283, 267, 252, 
238, 224, 212, 200, 189, 178, 168, 158, 149, 141, 
133, 1011, 955, 901, 850, 803, 757, 715, 675, 637, 
601, 567, 535, 505, 477, 450, 425, 401, 378, 357, 
337, 318, 300, 283, 267, 252, 238, 224, 212, 200, 
189, 178, 168, 158, 149, 141, 133, 1011, 955, 901, 
850, 803, 757, 715, 675, 637, 601, 567, 535, 505, 
477, 450, 425, 401, 378, 357, 337, 318};
//const unsigned int LOOKUP_N0[] = PROGMEM {
const unsigned int LOOKUP_N0[] = {
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 
5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1};
//const unsigned int LOOKUP_FEHLER0 = PROGMEM {
const unsigned int LOOKUP_FEHLER0[] = {
8, 1, 14, 10, 10, 3, 8, 6, 1, 6, 
9, 7, 8, 1, 6, 10, 10, 3, 8, 6, 
1, 6, 9, 7, 8, 1, 14, 10, 10, 3, 
8, 6, 1, 6, 9, 7, 8, 1, 6, 10, 
10, 3, 8, 6, 1, 6, 9, 7, 8, 1, 
14, 10, 10, 3, 8, 6, 1, 6, 9, 7, 
8, 37, 14, 10, 36, 3, 8, 48, 57, 6, 
9, 7, 8, 1, 6, 10, 10, 3, 8, 6, 
1, 6, 9, 7, 8, 1, 14, 10, 10, 3, 
8, 6, 1, 6, 9, 7, 8, 37, 14, 10, 
36, 3, 8, 48, 57, 6, 9, 7, 8, 1, 
6, 10, 10, 3, 8, 6, 1, 6, 9, 7, 
8, 1, 14, 10, 10, 3, 8, 6};
int restdauer[] = {0,0,0};
int ZEIT=0;
bool ZUSTAND=false;
unsigned long int TON=0;
ISR(TIMER4_COMPA_vect)
{
    if(ZEIT==4000) 
//    if(ZEIT==32000) 
    {
      digitalWrite(0,ZUSTAND);
      ZUSTAND=!ZUSTAND;        
      ZEIT=0;
      
      TON++;
      TON%=49;
      
      setzeMidihoehe0(TON+36);  //Timer 3
      setzeMidihoehe1(TON+36+4);  //Timer 3
      setzeMidihoehe3(TON+36+7);  //Timer 3
      
    }  
    ZEIT++;
    if(restdauer[0]==0) 
    {
        pinMode(21,0);
        digitalWrite(21,0);
    }
    if(restdauer[1]==0) 
    {
        pinMode(22,0);
        digitalWrite(22,0);
    }
    if(restdauer[2]==0) 
    {
        pinMode(23,0);
        digitalWrite(23,0);
    }
    
    if(restdauer[0]>=0) restdauer[0]--;
    if(restdauer[1]>=0) restdauer[1]--;
    if(restdauer[2]>=0) restdauer[2]--;
}
void initTimer4()
{
  //Vorteilung 2
  TCCR4B &= ~(1<<CS43);
  TCCR4B &= ~(1<<CS42);
  TCCR4B &= ~(1<<CS41);    
  TCCR4B |=  (1<<CS40);
 
  TIMSK4 |= (1<<OCIE4A); //Mode 4
  sei(); 
 
  //Andere Frequenzberechnung:   
  //f = fclk/(2*(OCR1A+1))
  //OCR1A = (fclk/(f*2*N))-1
  //OCR1A = 500000/440 - 1 ==  
  //OCR4B=268; 
  OCR4A=400; 
//  OCR4C=10; 
    
//OCR4B=268;     
//    OCR4A=2; 
//durch Interrupt gesteuert:
  pinMode(0,OUTPUT);    
}
void initTimer0()
{
  TCCR0B=0;
  TCCR0A=0;
  
  TCCR0B &= ~(1<<WGM02);
  TCCR0A |=  (1<<WGM01);
  TCCR0A &= ~(1<<WGM00);
    
  //Vorteilung 64
  TCCR0B &= ~(1<<CS02);
  TCCR0B |= (1<<CS01);
  TCCR0B |= (1<<CS00);
    
  //f = fclk/(2*N*(OCR1A+1))
  //OCR1A = (fclk/(f*2*N))-1
  //OCR1A = 125000/880 - 1 ==  141
  //KORRIGIERT:
  //********************************
  //OCR0A = 62500/440 - 1 ==  142
  //OCR0A = 16000000/(f*4*N) - 1 ==  142
  //********************************
  
  OCR0A=141;  
  
  //Toggle auf OC1A:
  TCCR0A &= ~(1<<COM0A1);
  TCCR0A |=  (1<<COM0A0);
  pinMode(11,OUTPUT);          //OC0A
  pinMode(21,OUTPUT);          //A3 als Schalter
  digitalWrite(21,0);
}
void initTimer1()
{
  TCCR1B &= ~(1<<WGM13); //Mode 4
  TCCR1B |= (1<<WGM12);
  TCCR1A &= ~(1<<WGM11);
  TCCR1A &= ~(1<<WGM10);
    
  //Vorteilung 1: 16000000Hz
  TCCR1B &= ~(1<<CS12);
  TCCR1B &= ~(1<<CS11);
  TCCR1B |= (1<<CS10);
    
  //f = fclk/(2*N*(OCR1A+1))
  //OCR1A = (fclk/(f*2*N))-1
  //OCR1A = 8000000/440 - 1 ==  18181
  //KORRIGIERT:
  //********************************
  //OCR1A = 4000000/440 - 1 ==  9091
  //OCR1A = 16000000/(f*4*N) - 1 ==  9091
  //********************************
  OCR1A=9091;  //0,5Hz == 4 Schläge!
  
  //Toggle auf OC1A:
  TCCR1A &= ~(1<<COM1A1);
  TCCR1A |=  (1<<COM1A0);
  pinMode(9,OUTPUT);      
  pinMode(22,OUTPUT);          //A4 als Schalter
  digitalWrite(22,0);
}
void initTimer3()
{
//  TCCR1B |= (1<<WGM13); //Mode 12
  TCCR3B &= ~(1<<WGM33); //Mode 4
  TCCR3B |= (1<<WGM32);
  TCCR3A &= ~(1<<WGM31);
  TCCR3A &= ~(1<<WGM30);
    
  //Vorteilung 1: 16000000Hz
  TCCR3B &= ~(1<<CS32);
  TCCR3B &= ~(1<<CS31);
  TCCR3B |= (1<<CS30);
    
  //f = fclk/(2*N*(OCR1A+1))
  //OCR1A = (fclk/(f*2*N))-1
  //OCR1A = 8000000/440 - 1 ==  18181
  OCR3A=18181/2;  //0,5Hz == 4 Schläge!
  
  //Toggle auf OC1A:
  TCCR3A &= ~(1<<COM3A1);
  TCCR3A |=  (1<<COM3A0);
  pinMode(5,OUTPUT);    //OC3A  
  pinMode(23,OUTPUT);          //A5 als Schalter
  digitalWrite(23,0);
}
void setzeMidihoehe0(int midi)  //Timer 0
{
  TCCR0B &= 248; //unteren drei Bit löschen
  TCCR0B |= LOOKUP_N0[midi];
  OCR0A=LOOKUP_OCR0[midi];
  
  restdauer[0]=100;
  pinMode(21,OUTPUT);  
  digitalWrite(21,1);
}
void setzeMidihoehe1(int midi)  //Timer 1
{
  TCCR1B &= 248; //unteren drei Bit löschen
  TCCR1B |= LOOKUP_N1[midi];
  OCR1A=LOOKUP_OCR1[midi];
  restdauer[1]=100;
  pinMode(22,OUTPUT);  
  digitalWrite(22,1);
  
}
void setzeMidihoehe3(int midi)  //Timer 3
{
  TCCR3B &= 248; //unteren drei Bit löschen
  TCCR3B |= LOOKUP_N1[midi];
  OCR3A=LOOKUP_OCR1[midi];
  restdauer[2]=100;
  pinMode(23,OUTPUT);  
  digitalWrite(23,1);
}
void setup() 
{
    initTimer0();
    initTimer1();
    initTimer3();
    initTimer4();
}
void loop()
{
}
Code 0-2: Auslösen der Töne über digitale Ausgänge bei A3, A4, A5