Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
2014:led-bludiste [2015/01/18 14:26] Ivan Ryba |
2014:led-bludiste [2015/01/18 14:37] (aktuální) Ivan Ryba |
||
---|---|---|---|
Řádek 49: | Řádek 49: | ||
Metoda je ovšem zbytečně destruktivní když uvážíme, že máme k dispozici převodník pro matici, tedy v podstatě jednoúčelový hardware, zatímco RTC ClockIn by se u jiné aplikace ještě mohl hodit. Navíc by pak převodník fungoval jenom na upraveném kitu, což je zbytečná komplikace navíc. Proto byla zvolena modifikace převodníkové DPS a pin druhé zelené LED vedoucí na PTC1 byl drátkem přepojen na nevyužitý PTB3. Pin se nachází o dvě pozice níže v tom samém bloku pinů (viz [[http://developer.mbed.org/media/uploads/rikabel/xkl25z-pinout-revised.jpg.pagespeed.ic.sIdUo0W4Ng.webp|ROZPIS]]), takže úprava není složitá a nevyžaduje ani změnu postupu pájení. Pro výrobu dalších převodníků lze změnu zahrnout do návrhu, modifikace DPS nevyžaduje kromě posunu jedné cesty vůbec nic navíc. | Metoda je ovšem zbytečně destruktivní když uvážíme, že máme k dispozici převodník pro matici, tedy v podstatě jednoúčelový hardware, zatímco RTC ClockIn by se u jiné aplikace ještě mohl hodit. Navíc by pak převodník fungoval jenom na upraveném kitu, což je zbytečná komplikace navíc. Proto byla zvolena modifikace převodníkové DPS a pin druhé zelené LED vedoucí na PTC1 byl drátkem přepojen na nevyužitý PTB3. Pin se nachází o dvě pozice níže v tom samém bloku pinů (viz [[http://developer.mbed.org/media/uploads/rikabel/xkl25z-pinout-revised.jpg.pagespeed.ic.sIdUo0W4Ng.webp|ROZPIS]]), takže úprava není složitá a nevyžaduje ani změnu postupu pájení. Pro výrobu dalších převodníků lze změnu zahrnout do návrhu, modifikace DPS nevyžaduje kromě posunu jedné cesty vůbec nic navíc. | ||
- | |||
- | Pro úplnost lze dodat, že s použitím této modifikace po obnovení firmwaru slabě zeleně svítí pro změnu první LED ve spodním řádku, ovšem tohle již lze softwarovým vypnutím napravit a žádné pozdější komplikace to nezpůsobuje. | ||
---- | ---- | ||
Řádek 85: | Řádek 83: | ||
Timer t;</code> | Timer t;</code> | ||
- | Pro přehlednost následujících bloků ještě příklad inicializace výstupů. | + | Pro přehlednost následujícího kódu ještě příklad inicializace výstupů. |
<code cpp> | <code cpp> | ||
Řádek 93: | Řádek 91: | ||
</code> | </code> | ||
- | Následuje funkce pro zjednodušení zadávání sloupce ''sl( s )'' a řádku pro pohyb kuličky ''ra( r )''. Další funkce určuje svícení zadaných stěn. LED musí samozřejmě klasicky "blikat", pro lidské oko neznatelně. | + | Následuje funkce pro zjednodušení zadávání sloupce |
+ | |||
+ | <code cpp> | ||
+ | int sl (int s){ | ||
+ | switch (s){ | ||
+ | case 0 : SB1 = 0; SB2 = 0; SB3 = 0; break; | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | a řádku pro pohyb kuličky. LED musí samozřejmě klasicky "blikat", pro lidské oko neznatelně. | ||
+ | |||
+ | <code cpp> | ||
+ | int ra (int r){ | ||
+ | switch (r){ | ||
+ | case 0 : RLED1 = 0; wait(0.001); RLED1 = 1; break; | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Další funkce určuje svícení zadaných stěn. | ||
<code cpp> | <code cpp> | ||
Řádek 116: | Řádek 140: | ||
sl(4); GLED2 = 0; GLED3 = 0; GLED4 = 0; GLED5 = 0; GLED6 = 0; wait(0.001); GLED2 = 1; GLED3 = 1; GLED4 = 1; GLED5 = 1; GLED6 = 1; | sl(4); GLED2 = 0; GLED3 = 0; GLED4 = 0; GLED5 = 0; GLED6 = 0; wait(0.001); GLED2 = 1; GLED3 = 1; GLED4 = 1; GLED5 = 1; GLED6 = 1; | ||
break; | break; | ||
- | . | + | . |
- | . | + | . |
- | . | + | . |
+ | } | ||
</code> | </code> | ||
- | Následuje hlavní funkce. Komentáře v kódu nepotřebují další komentář. | + | Následuje hlavní funkce. Komentáře v kódu jsou dostatečně vypovídající. |
<code cpp> | <code cpp> |