V minulém díle jsme si připojili jeden sedmisegmentový displej, který dovedl zobrazit pouze jedno jediné číslo. Na tomto displeji jsme pak následně zobrazili číslice od 0-9. Nyní se však podíváme na jednoduchý kód, který by nám měl vytvořit jednoduchý efekt, podobný tomu, který možná často vidíte, když něco načítáte.
Zapojení displeje tedy zůstává stejné jako u předchozího dílu, tedy jej nebudu znova popisovat a budeme se zaměřovat jen a pouze na část programovací a pokud máte program z předchozího dílu, jistě jej teď budete moci využít. Efekt načítání se tvoří stejně, jako je tomu v případě číslic, tedy opět budeme potřebovat dvourozměrné pole, jako u předchozího dílu jen s tím rozdílem, že v něm bude zapsáno něco jiného, konkrétně toto:
byte cisla_displeje[6][7] = {
{0,1,1,1,1,1,1},
{1,0,1,1,1,1,1},
{1,1,0,1,1,1,1},
{1,1,1,1,1,1,0},
{1,1,1,1,1,0,1},
{1,1,1,1,0,1,1},
};
Jak si z kódu můžete všimnout, je vždy zobrazen jeden segment a to v pořadí, ve kterém mám já zapojené piny k Arduinu, což je v mém případě takto:
/*
| - 26 - |
33 - - 29
| - 30 - |
53 - - 22
| - 50 - | ---- 25 <-- tečka
anoda - 2
*/
byte piny_displeje[] = {33, 26, 29, 30, 53, 50, 22};
Nyní tedy máme to hlavní, díky čemu budeme zobrazovat jednotlivé segmenty displeje a budeme pokračovat dále do funkce loop, ve které se změní pouze část kde je podmínka IF, tedy na toto:
if(i>=6){
i = 0;
}
Zbytek kódu je úplně totožný s tím, který jsme používali v předchozím díle. Dá se říci, že jsme tedy jen změnili šablonu, díky které vykreslujeme jednotlivé čísla na šablonu načítání. Arduino tedy se chová pořád stejně, jako by se snažilo vypsat dané číslo s tím rozdílem, že to co zobrazuje, již číslo není. V následujícím videu se můžete podívat na to, jak přesně tento efekt vypadá, jen podotýkám, že jsem hodnotu ve funkci delay() změnil z 1000ms na 80ms, aby to načítání nevypadalo, jako když je zaseklé.
Tímto jsme tedy završili naší práci s jednobitovým, sedmisegmentovým displejem a můžeme se vrhnout dále. V příštím díle se podíváme také na sedmisegmentový displej, nicméně tentokrát bude dvoubitový, budeme na něm zobrazovat číslice 0 – 99.