Segmentové displeje jsou asi jedny z nejstarších typů displejů které se kdy používaly. My se soustředíme na displeje založené na využití technologie LED, kterou již ostatně z minulých lekcí dobře známe.
Nemá to moc cenu složitě obepisovat. Jak funguje LED dioda již víme. Segmentový displej používající LED je vlastně soustavou LEDek v pouzdře, přičemž každý segment je vlastně jedna LED dioda. Nyní již potřebujeme pouze vědět, jaká je organizace výstupů na součástce, abychom mohli rozsvítit tu správnou kombinaci segmentů, která vyjádří nějaký znak, nebo číslo.
Na obrázku máte jeden typ (který byl použit při tvorbě této lekce). Zaznamenal jsem dva takové typy displejů. Liší se pouze typem společného výstupu (to si asi musíte vyzkoušet v praxi). Buď má takovýto displej společnou katodu – pak jej připojujete na GND podle tohoto článku. Nebo může mít společnou anodu. Pak displej připojíte místo na GND na 5V a změníte program pro výstupní piny, aby posílaly 0 místo 1.
Zapojte si celou soustavu součástek podle obrázku. Všimněte si, že společné GND je propojeno a na přívodu má pro jistotu ochranný odpor 220ohmů. Každý z výstupních pinů má pro jistotu jinou barvu kablíku, aby se to dobře kontrolovalo. V tomto případě lze použít jakou barvu chcete (já tedy z principu vynechávám černou a červenou, které vyhrazuji pro napájení).
Do arduina pošlete následující program:
/* Program určený pro demonstraci ovládání sedmi segmentového displeje */ //nastavení desky void setup(){ pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); } //nekonečná smyčka – provedení programu void loop(){ /* Zhasnutý displej */ digitalWrite(2,0); digitalWrite(3,0); digitalWrite(4,0); digitalWrite(5,0); digitalWrite(6,0); digitalWrite(7,0); digitalWrite(8,0); digitalWrite(9,0); delay(1000); /*Číslo 1 */ digitalWrite(2,0); digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,0); digitalWrite(6,0); digitalWrite(7,0); digitalWrite(8,0); digitalWrite(9,0); delay(1000); /* Číslo 2 */ digitalWrite(2,1); digitalWrite(3,1); digitalWrite(4,0); digitalWrite(5,1); digitalWrite(6,1); digitalWrite(7,0); digitalWrite(8,1); digitalWrite(9,0); delay(1000); /* Číslo 3 */ digitalWrite(2,1); digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,1); digitalWrite(6,0); digitalWrite(7,0); digitalWrite(8,1); digitalWrite(9,0); delay(1000); /* Číslo 4 */ digitalWrite(2,0); digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,0); digitalWrite(6,0); digitalWrite(7,1); digitalWrite(8,1); digitalWrite(9,0); delay(1000); } |
Program, který jsem vám sestavil pro ukázku svítí v sekundových intervalech na displeji kombinaci znaků „nic-1-2-3-4“. V podstatě se jedná vždy jen o kombinaci příkazů digitalWrite, které byste již měli dobře znát.
Úkoly:
1, Doprogramujte ke vzorovému kódu ostatní číslice až do 9.
2, Zkuste naprogramovat i kombinace pro písmena. Nepůjdou sice všechna, ale něco určitě dáte.