avt3068 - Serwis.AVT.pl · elementem układu jest mikrokontroler ATtiny13 (U3). Steruje on...

2

Click here to load reader

Transcript of avt3068 - Serwis.AVT.pl · elementem układu jest mikrokontroler ATtiny13 (U3). Steruje on...

Page 1: avt3068 - Serwis.AVT.pl · elementem układu jest mikrokontroler ATtiny13 (U3). Steruje on wejściami clk ... K14 P$2 K8 P$3 K12 P$4 K1 P$5 K7 P$6 K2 P$7 P$8 K13 P$9 K3 …

E l e k t ro n i k a d l a Ws z y s t k i c h52

Do czego to służy? Układ umożliwia wyświetlenie przewija-nego tekstu lub grafiki za pomocą poje-dynczej matrycy diod LED.

Jak to działa? Schemat układu znajduje się na rysun-ku 1. Aby wyświetlić obraz na matrycy, należy ją multipleksować. Oznacza to, że w danej chwili są włączone diody jedynie z jednego wiersza. Jednak dzięki szybkiemu przełączaniu obserwator widzi obraz na całej matrycy. Najważniejszym elementem układu jest mikrokontroler ATtiny13 (U3). Steruje on wejściami clk i rst licznika CMOS4017 (U1). Licznik ten umożliwia wybranie wiersza, który będzie w danej chwili obsługiwany. Nato-miast za wybranie odpowiednich kolumn odpowiada rejestr przesuwny CMOS4094 (U2). W momencie, gdy stan logiczny na wejściu clk zmienia się z 0 na 1, wartości wpisane w rejestr przesuwają się. Ozna-cza to, że stan, który panował na wyjściu Q1, przenosi się na Q2, ten, który był na Q2, na Q3 i tak dalej aż do Q8, który jest tracony. Natomiast na wyjście Q1 wpisywany jest aktualny stan z wejścia D. W ten sposób procesor może sterować wszystkimi pięcioma diodami. Stan niski na wejściu OE umożliwia odcięcie prądu płynącego przez diody, dzięki temu, gdy wgrywane są nowe dane, ekran nie miga. Rezystory R1–R5 ograniczają prąd pły-nący przez diody. Kondensatory C1 i C2 filtrują napięcie zasilania.

Kod programu został napisany w języ-ku C. Znajduje się on w pliku matryca.c (plik dostępny w Elportalu). Rozpoczy-na się od tablicy zawierającej kolejne wyświetlane kolumny. Jest ona zapisana w pamięci programu. Wyświetlanie obra-zu następuje w pętli głównej programu. Jedno jej wykonanie zajmuje około 14ms.

Obraz jest odświeżany wiersza-mi. W każdym cyklu każdy z nich jest włączony przez około 2ms. Zmienna time zlicza wykonania pętli głównej. Gdy osiągnie wartość 15, następuje przesunięcie wyświetlanej klat-ki o jedną kolumnę w prawo. Zmieniając tę wartość, można przyśpie-szyć lub zwolnić animację.

Przygotowanie napisuAby zmienić napis, należy zmodyfiko-wać tablicę n oraz wartość parametru fc. Sposób, w jaki należy zakodować obraz, pokazuje tabela 1. Diodę zaświe-coną oznacza 0, a zgaszoną 1. Każdej kolumnie odpowiada jednobajtowa liczba. Najstarszy bit (kolor niebieski) nie jest wykorzystany. Obliczone wartości wpisu-

je się do tablicy, najwygodniej w systemie szesnastkowym. Gotowy fragment kodu jest zaprezentowany na listingu 1.

Rys. 1

Sterownik matrycy LEDSterownik matrycy LED

4017N

4094

N

5x15

0

ATTINY13

M1

VDD

VDD

100uF100n

VSS

VSS

VSS

VDD

U1

Q5 1

Q1 2Q0 3

Q2 4

Q6 5

Q7 6

Q3 7

Q8 9

Q4 10

Q9 11

CO 12

ENA13

CLK14

RES15

U2 ST

R1

D2

CLK

3

Q1

4

Q2

5

Q3

6

Q4

7

QS

9

QS*

10

Q8

11Q

712

Q6

13Q

514

OE

15

U3

PB5/PCINT5/RESET/ADC0/DW 1

PB3/PCINT3/CLKI/ADC3 2

PB4/PCINT4/ADC2 3

PB0/PCINT0/AIN0/OC0A/MOSI 5

PB1/PCINT1/AIN1/OC0B/INT0/MISO 6

PB2/PCINT2/SCK/ADC1/T0 7

VCC 8

GND 4

P$1K9

P$2K14

P$3K8

P$4K12

P$5K1

P$6K7

P$7K2 P$8

K13

P$9

K3

P$10

K4

P$11

K10

P$12

K6

R1

R2

R3

R4

R5

C1

C2

D

D

CLK

CLK

OE

OE

CLK17

CLK17

RS

RS

+

#define fc 14unsigned char n[fc] PROGMEM = { 0x80, 0xf7, 0xf7, 0x80, 0xff, 0x80, 0xb6, 0xb6, 0xbe, 0xff, 0xde, 0xbe, 0xc0, 0xff };

Listing 1

Tabela 1

30683068

Page 2: avt3068 - Serwis.AVT.pl · elementem układu jest mikrokontroler ATtiny13 (U3). Steruje on wejściami clk ... K14 P$2 K8 P$3 K12 P$4 K1 P$5 K7 P$6 K2 P$7 P$8 K13 P$9 K3 …

E l e k t ro n i k a d l a Ws z y s t k i c h 53

Należy pamiętać o ustawieniu odpo-wiedniej wartości parametru fc, która powinna być równa liczbie kolumn skła-dających się na grafikę. Maksymalny rozmiar obrazu ogranicza jedynie wolne miejsce w pamięci programu procesora, więc można zmieścić około 700 kolumn.

Montaż i uruchomienieNa rysunku 2 pokazana jest płytka drukowana, na której można zmonto-wać układ. Montaż najlepiej rozpocząć od trzech zworek. Kondensator elek-trolityczny należy przylutować w pozy-cji leżącej, gdyż w przeciwnym razie może uniemożliwić podłączenie matry-cy. Jako gniazda matrycy warto użyć fragmentów wtyków z goldpinów. Pod procesor najlepiej zastosować podstaw-kę, co umożliwi jego wyjęcie i przepro-gramowanie (na przykład w celu zmiany wyświetlanego napisu).Po zlutowaniu i zaprogramowaniu mikrokontrolera układ jest gotowy do pracy. Do poprawnego działania układ wymaga napięcia około 5V. Może więc być zasilany ze stabilizowanego zasila-cza, trzech baterii lub czterech akumula-torków NiMh.

Wyświetlacz najbardziej efektownie prezentuje się w ciemności.

W Elportalu, wśród materiałów dodatkowych do tego numeru, można znaleźć program i dokumentację płytki drukowanej.

Rafał [email protected]

Kozik

U1 U2U3

R1

R2

R3

R4

R5

C1

C2

R1-R5 . . . . . . . . . . . . . . . . . . . . . . . . .150C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 100nFC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 100μFU1 . . . . . . . . . . . . . . . . . . . . . . . CMOS4017U2 . . . . . . . . . . . . . . . . . . . . . . . CMOS4094U3 . . . . . . . . . . . . . . . . . . . . . . . . . .ATtiny13M1 . . . . . . . . . . matryca 5*7 LED M20057B

Wykaz elementów

Komplet podzespołów z płytką jest do stęp ny w sie ci han dlo wej AVT ja ko kit szkol ny AVT-3068.

Rys. 2