Reklama

Rozšíření knihovny pro barevný grafický LCD displej s řadičem ST7735 o zobrazení sedmisegmentového displeje

Úvod

Jeden z předchozích příspěvků byl věnován tomu, jak zprovoznit barevný grafický displej s řadičem ST7735 na mikrokontrolérech ATmega, tento návod lze nalézt ZDE. Nyní si ukážeme, jak rozšířit knihovnu o zajímavý grafický prvek a to o sedmisegmentový displej.

Popis

K realizaci je využito standardních funkcí: HLine, VLine a FillRect. Velikost jednoho sedmisegmentového displeje je 39 x 62px, což znamená, že pro displej s rozlišením 128 x 160px lze na jednu obrazovku nahrát čtyři sedmisegmentové displeje do dvou řad, viz Obr. 1.

Obr. 1: Zobrazení osmi sedmisegmentových displejů

Obr. 1: Zobrazení osmi sedmisegmentových displejů

Stávající knihovnu pro řízení LCD displeje s řadičem ST7735 od autora Bruce E. Hall je nutné doplnit o dvě funkce a to: SevenSegmentNumber a DrawSegment. Pro zobrazení celého znaku na displeji se používá funkce SevenSegmentNumber. Pokud byste chtěli přímo zobrazit pouze jeden segment, tak lze použít druhou jmenovanou funkci DrawSegment. Popis vstupních parametrů jednotlivých funkcí lze vidět níže.
 
 
void SevenSegmentNumber(uint8_t number, uint8_t dot, uint8_t xPos, uint8_t yPos, int onColor, int offColor)
 
number – index prvku k zobrazení 0 – 17
dot – zobrazení tečky ( dot = 1), skrytí tečky
xPos – X pozice umístění horního levého rohu
yPos – Y pozice umístění horního levého rohu
onColor – barva aktivního segmentu
offColor – barva neaktivního segmentu
 
 
void DrawSegment (uint8_t segmentPos, uint8_t xPos, uint8_t yPos, int segColor)
 
segmentPos – pozice segmentu
xPos – X pozice umístění horního levého rohu
yPos – Y pozice umístění horního levého rohu
segColor – barva segmentu
 

 

Vytvořená funkce SevenSegmentNumber umožňuje zobrazit znaky 0 – F bez tečky, nebo s tečkou, zobrazit pouze prostřední čárku, nebo displej úplně vypnout. Dále lze volit jak barvu pro rozsvícený segment, tak pro vypnutý segment. Pokud se nastaví stejná barva vypnutému segmentu jako je barva pozadí, tak budou vidět pouze aktivní segmenty. Možnost použití jako ukazatel času ukazuje Obr.2.

Obr. 2: Možnost využití k zobrazení časového údaje

Obr. 2: Možnost využití k zobrazení časového údaje

ZDROJOVÝ KÓD PRO ROZŠÍŘENÍ KNIHOVNY LZE STÁHNOUT POUZE PO PŘIHLÁŠENÍ.
 
Jakékoliv šíření staženého zdrojového kódu bez souhlasu autora je zakázáno.

 

Download “SevenSegmentST7735” sevenSegmentST7735.txt – Downloaded 13 times – 6 kB

Následující a předchozí příspěvek v kategorii:

 
Následující: Kruhová vyrovnávací paměť “buffer” pro mikrokontrolér ATmega(16/32)
Předchozí: Barevný LCD displej s řadičem ST7735S řízený mikrokontrolérem ATmega
 
Tajned facebook
 

Za případné chyby v textu, ve zdrojovém kódě, nebo ve schématickém zapojení se omlouváme.
AUTOŘI NEBEROU ŽÁDNOU ODPOVĚDNOST ZA PŘÍPADNÉ ÚJMY NA ZDRAVÍ ČI MAJETKU.