Reklama AGNIESZKA v1.0
... ostatnie zmiany w rozdziale 17.11.2000 ...
"Agnieszka" jest przeznaczona do prezentowania informacji tekstowej, poprzez wyświetlanie kolejno wpływających liter -z góry dołu, lewej i prawej strony, a także użycie efektów specjalnych na prezentowanym tekście i grafiki. Prezentowany jest również zegar -jeśli jest ustawiony.
Zawieszona nad ladą sklepową, umieszczona na wystawie lub w innym -dobrze widocznym miejscu, pozwala dotrzeć prezentowanej informacji do zainteresowanych osób. Nie wymaga przy tym skomplikowanej obsługi, wystarczy włączyć zasilanie, komputer, uruchomić program komputerowy i za jego pomocą przesłać wybraną prezentację do reklamy (lub utworzyć nową)...
Czcionki, których używa "Agnieszka" mają rozmiar 8 na 8 punktów (a nie 5 na 7 -jak w większości reklam na rynku) co czyni pojawiający się tekst bardziej estetycznym i przyjemniejszym w odbiorze.
Do ściągnięcia wygląd ekranu reklamy w skali 1:1 (dla monitora 14 calowego o rozdzielczości 600*800)
Prześlij plik 2rys.gif (21,45kB)
Obsługa reklamy ogranicza się do włączenia zasilania (sieć 220V/ 50Hz) i podłączenia przewodu do transmisji danych z komputera -złącze COM2 (obok złącza dla myszki).
Przed przesłaniem prezentacji z komputera na ekranie jest wyświetlana informacja zaprogramowana w pamięci stałej EPROM.
Pojawiającą się prezentacją możemy sterować w bardzo ograniczony sposób; możemy regulować jasność świecenia ekranu oraz prędkość przepływania zdarzeń przez reklamę. W oby przypadkach mamy do dyspozycji skalę ośmio stopniową, ustawienia po włączeniu zasilania to jasność maksymalna i prędkość średnia. Zmieniamy je czterema przyciskami: S+, S-, B+ i B- -odpowiednio prędkość (od Speed) i jasność (od Brightnes).
Programując prezentację (na poziomie programu komputerowego)
mamy do dyspozycji kilkanaście rozkazów.
Zobacz działanie reklamy (grafika 408kB)
Rozkazy wymagające tekstu wykonują się do momentu napotkania innego rozkazu. Jeśli bezpośrednio po rozkazie brak tekstu, jest zaś tylko kolejny rozkaz, nastąpi wczytanie pustych znaków (spacji), czyli wyczyszczenie ekranu.
Dostępne rozkazy:
Układ elektroniczny składa się z kilku łatwo wyodrębniających się bloków: CPU blok (mikroprocesora, pamięci sterownik transmisji z komputerem), POWER blok (zasilacz), IO blok (układy sterowania wyświetlaniem i przyciskami regulacji), LED blok (matryca świecąca- ekran reklamy).
1. CPU blok.
Schemat połączeń bloku CPU przedstawia rysunek 2rys_a.gif.
Mikroprocesor Z80 (US1) jest wykonawcą prezentacji, która jest
przysyłana z komputera. Prezentację tą wykonuje o program zawarty
w pamięci EPROM 2764 (US2). W pamięci tej zawarty jest program
obsługi w języku maszynowym, dzięki niemu reklama wie jak zareagować
po włączeniu zasilania, co robić z bajtami otrzymywanymi z
komputera, jak zachować się po wciśnięciu przycisku regulacji
jasności i prędkości itd... Pamięć SRAM 6116 to statyczna pamięć
swobodnego dostępu -mikroprocesor może do niej zapisywać i
odczytywać. Po włączeniu zasilania następuje rozpoznanie z jaką
pamięcią mamy do czynienia (2, 4 czy 8kB) później jest ona zerowana,
przydzielane są obszary dla stosu, programu i zmiennych systemowych
(np. komórki pamiętającej prędkość i jasność).
O ile mikroprocesor jest mózgiem układu to jego sercem jest generator
taktujący- bije on 2 miliony razy na sekundę (2MHz) taktując Z80, a
tysiąc uderzeń w ciągu sekundy jest "mocniejszych" -to przerwania
niemaskowalne NMI. A na serio: częstotliwość uzyskana z generatora
kwarcowego 4MHz jest dzielona przez 2 (to sygnał CLK procesora i
sterownika RS232) a następnie jeszcze przez 2000 do uzyskania
częstotliwości 1000 Hz -generującej poprzez wyprowadzenie NMI
przerwania.
Jako generator wykorzystałem pół UCY 7400 (US6) a do podziału
częstotliwości wykorzystałem cztery liczniki układów 74HC393 (US7
i US8) uraz bramki układu UCY 7408 (US9) których połączenia
ograniczają zliczanie do 10 (a nie 16).
Układ odpowiedzialny za zerowanie systemu po włączeniu zasilania to
druga połowa UCY7400 (US6), który generuje sygnały RESET w
polaryzacji dodatniej i ujemnej -dla mikroprocesora i kontrolera
RS232. Sygnał reset można również wykonać w każdej chwili wciskając
przycisk M1- RESET- wówczas układ zachowa się tak jak po załączeniu
zasilania.
Istotnym elementem bloku jest dekoder adresów, dzielący przestrzeń
adresową (#0000 -#FFFF) na osiem obszarów i przyporządkowujący im
następujące układy:
| #0000 do #1FFF | -pamięć programu EPROM (US2), |
| #2000 do #3FFF | - pamięć sRAM (US3), |
| #4000 do #5FFF | - port IO (US201), |
| #6000 do #7FFF | - port IO (US202), |
| #8000 do #9FFF | - port IO (US203), |
| #A000 do #BFFF | - port IO (US204), |
| #C000 do #DFFF | - port transmisji szeregowej (US5), |
| #E000 do #FFFF | - nie wykorzystany, choć można tutaj wstawić EPROM2 |
Zadaniem bramki US9B jest połączenie obszarów pamięci (sygnał MREQ)
i portów wejścia-wyjścia (sygnał IORQ) w jeden obszar adresowy.
Jako port współpracy z komputerem (sterownik transmisji RS232)
zastosowałem popularny układ 8251 (US5). Wymaga on garści elementów
zewnętrznych, sygnałów CLK (-tak jak procesor 2MHz), i sygnału
zegarowego taktowania 16 razy większego od prędkości transmisji
wyrażonej w bodach (bitach na sekundę) -dla założonej prędkości
2500 bodów jest to 40kHz. Aby sygnał odpowiadał swoimi poziomami
standardowemu sygnałowi RS232, układ trzeba wyposażyć w zasilacz
±10V. Dla naszych potrzeb wystarczy scalona przetwornica napięcia,
dająca ±10V a zasilana +5V- MAX680 (US10). Parę słów o wartości
diody D1. W pierwotnej wersji miała to być dioda o napięciu zenera
8,2V i wartość ta była by poprawną dla napięć zasilających RS232
±15V, gdy napięcie to jest niższe proponuję zastosować diodę 6V2
a nawet 5V6, choć oczywiście im większa tym lepiej.
2. POWER blok
Schemat połączeń przedstawia rysunek 2rys_a.gif. Dla potrzeb zasilania całego urządzenia wykorzystano trzy jednakowe scalone stabilizatory napięcia +5V z termo- i obciążenio- wyłącznikiem (wewnętrznie wbudowane), czyli 7805 (US101, US102, US103). Zasilają one odpowiednio bloki CPU, IO i matrycę LED.
3. IO blok
Schemat połączeń przedstawia rysunek 2rys_b.gif (dla matryc z
kolumnami anod też 2rys_b_.gif). Blok poprzez który
procesor steruje matrycą LED i odczytuje klawisze regulacji jasności
i prędkości. Jest zbudowany na układach typu 8255 (US201...204), z
których każdy ma trzy 8 -bitowe porty I/O, oraz wzmacniaczach w
postaci: inwertorów typu "otwarty kolektor" (jeśli zamiast matryc z
kolumnami katody zastosujemy matryce z kolumnami anody, inwertery
(US205...219 typu UCY7406) musimy zastąpić inwertorami o normalnych
wyjściach TTL (nie otwarty kolektor) -UCY7404)
i tranzystorów połączonych w układy Darlingtona
T201...208 i T209...216.
Warto tutaj wspomnieć słówko o wyprowadzeniu 25 US201, które
łączymy z masą gdy stosujemy matryce LED z kolumnami anod lub do +5V
gdy z kolumnami katod. Wynika to z konieczności powiadomienia
programu komputerowego o konieczności odwrócenia stanów na
wierszach i kolumnach, w porównaniu do kolumn katody.
Wszystkie porty 8 -bitowe są ustawione do pracy jako wyjściowe, z
wyjątkiem PB od US201 pracującego jako wejściowy (odczyt klawiszy
i rodzaju użytych matryc LED).
PA US201 steruje wybieraniem aktywnego -wyświetlanego wiersza w
matrycy.
Działanie matrycy o kolumnach katod jest następujące:
w jednej chwili tylko jeden wiersz matrycy (np. W2) jest
aktywny tzn. bit PA1 (w.3 US201) w stanie H, przewodzi
T207 i T215, na anody wszystkich diod LED z wiersza drugiego
od dołu podawane jest napięcie +5V. Świecą wówczas te diody z
wiersza 2, na których katodach jest doprowadzone -poprzez
rezystor- napięcie bliskie 0V, czyli te które odpowiadają
bitom o wartości H na portach układów US202...204 lub US201.
Jeśli zastosowaliśmy matryce z kolumnami anod:
jeden z wierszy matrycy (np. W2) jest aktywny tzn. bit PA1
(w.3 US201) w stanie L, przewodzi T207 i T215,
na katody wszystkich diod LED z wiersza drugiego
od dołu podawane jest napięcie bliskie zera.
Świecą wówczas te diody z wiersza 2, na których anodach
jest doprowadzone -poprzez rezystor- napięcie dodatnie,
czyli te które odpowiadają bitom o wartości L na portach
układów US202...204 lub US201.
W przypadku zastosowania układów UCY7404 w miejsce UCY7406
należy dobrać wartość rezystorów ograniczających R301...380.
Z moich doświadczeń wynika że z rezystora takiego można nawet
zrezygnować.
Odczyt z klawiatury polega na ustaleniu wartości stanu logicznego na jednym z wejść portu PB US201. Jeśli jest to stan niski- przycisk jest wciśnięty, jeśli wysoki -nie.
4. LED blok
Schemat połączeń przedstawia rysunek 2rys_d.gif. Matryca składa się z 640 punktów świetlnych LED uporządkowanych w 8 wierszy po 80 punktów, lub inaczej w 10 znaków tekstowych o wymiarach 8 na 8 punktów. Jest dołączona 88 przewodami do płytki IO blok. W jednej chwili zasilany jest tylko jeden wiersz matrycy a na jej kolumny podawana jest informacja do wyświetlenia z tego właśnie wiersza. Jest to multipleksowy sposób wyświetlania z częstotliwością 125 razy na sekundę (1000Hz NMI / 8 wierszy) dla całego ekranu -mruganie nie jest zauważalne...wymagane elementy:
1. płytka CPU:
| US1 | Z80 CPU |
| US2 | EPROM 2764 "Agnieszka" |
| US3 | SRAM 6116 (lub 6264) |
| US4 | UCY 74S138 |
| US5 | 8251 |
| US6 | UCY 7400 |
| US7 | 74HC393 |
| US8 | 74HC393 |
| US9 | UCY 7408 |
| US10 | MAX 680 |
| T1 | dowolny npn np.BC107... |
| T2 | dowolny pnp np.BC177... |
| D1 | Zenera C6V2 (C7V5 - C5V6) |
| F1 | rezonator kwarcowy 4MHz |
| M1 | mikrowyłącznik |
| C1 | 10nF |
| C2 | 30pF regulowany |
| C3 | 15pF |
| C4 | 330pF |
| C5 | 10µF |
| C6 | 22µF |
| C7 | 22µF |
| C8 | 22µF |
| C9 | 22µF |
| C10 | 100µF |
| C11 | 100µF |
| R1 | 1kΩ |
| R2 | 1kΩ |
| R3 | 1kΩ |
| R4 | 1Ω |
| R5 | 1kΩ |
| R6 | 1kΩ |
| R7 | 1kΩ |
| R8 | 1kΩ |
| R9 | 1kΩ |
| R10 | 3,3kΩ |
| R11 | 1,2kΩ |
| R12 | 150Ω |
| R13 | 2,2kΩ |
| R14 | 2,2kΩ |
| R15 | 2,2kΩ |
| oraz: Z2 | -złącze DB9 żeńskie w reklamie, |
| Z2 | -złącze DB9 męskie na kablu, |
| COM2 | -złącze DB25 żeńskie na kablu |
2. płytka IO
pochyłym drukiem zaznaczono elementy do wersji układu dla
matryc LED połączonych anodami do kolumn a katodami do wierszy
| US201-US204 | 8255 *4 |
| US205-US218 | UCY7406 (UCY7404) *14 |
| T201-T208 | BC211 (BC313) *8 |
| T209-T216 | BD286 (BD285) *8 |
| R201-R208 | 1,8kΩ *8 |
| R209-R212 | 1,8kΩ *4 |
| R213-R220 | 33Ω *8 |
| C201 | 47µF |
| C202 | 47nF |
| C203 | 47µF |
| C204 | 47nF |
| C205 | 47µF |
| C206 | 47nF |
| oraz: M201- M204 | mikrowyłącznik *4 |
3. płytka zasilacza
| US101-US103 | 7805 (wersja 2-amperowa) *3 +radiator |
| D101-D104 | dowolne prostownicze na prąd 2A i nap.zaporowe 50V *4 |
| C101-C102 | 2200µF/16V *2 |
| C103-C106 | 33nF *4 |
| oraz Ts201 | napięcie ok.7V przy 1A |
4. płytka LED
| R301-R380 | 150Ω *80 (lub dobrać) |
| D301-D940 | dioda świecąca *640 lub matryca LED 8*5 punktów *16 |
Przed rozpoczęciem uruchamiania warto wspomnieć o tym że każde
włożenie układu scalonego do podstawki, wlutowanie na płytce lub
wylutowanie dowolnego elementu wymaga odłączenia napięcia
zasilającego - ponieważ będziemy się posługiwać tylko zasilaczem
Agnieszki, wystarczy wyciągnięcie wtyczki 220V. Podczas lutowania
przestrzegajmy zasady montażu pierw elementów bardziej odpornych na
lutowanie (rezystory, kondensatory) a później mniej odpornych
(półprzewodniki, układy scalone). Lutowanie układów scalonych wymaga
odpowiedniej techniki, nie wolno "przegrzewać" układów (krótki czas
lutowania), nie wolno też "pstrykać" lutownicą której grot dotyka
wyprowadzeń układów. Uwaga też na ładunki elektrostatyczne.
Uruchomienie zaczynamy od zmontowania i sprawdzenia działania
zasilacza. Następnie w bloku CPU wlutowujemy US10 i przyległe
elementy dyskretne, sprawdzamy obecność napięć +10V i -10V.
Teraz kolej na CPU blok. Wmontowujemy US6, US7, US8 i US9, jeśli
mamy oscyloskop lub miernik częstotliwości mierzymy ją na
wyprowadzeniach 6 i 17 US1 (US1 jeszcze nie wmontowany), powinny
wynosić dokładnie 2MHz i 40kHz (korygujemy zmieniając wartość
trymerem C2).
Sprawdzamy pojawienie się niskiego sygnału na wyprowadzenia 26 US1
(sygnał RESET) po wciśnięciu M1.
Wlutowujemy US4, zwieramy pierw 4, później 5 nóżkę US9 do masy i
obserwujemy pojawienie się stanu niskiego na nóżce 15 US4.
Wmontowujemy US1, US2,US3 i US5.
Sprawdzamy omomierzem połączenia poszczególnych bitów szyn danych,
adresowej i sterującej tych układów, zgodnie ze schematem rysunek
2rys_a.gif.
Następnie montujemy elementy dyskretne bloku IO, układy US205- US218,
oraz US201- US204.
Montujemy matrycę LED z rezystorami R301- R380 na płytce matrycy,
dla kolumn katod: zwieramy kolejne wiersze do +5V i kolumny (przez
rezystor ograniczający (około 200 Ω) do masy sprawdzając świecenie
poszczególnych punktów ekranu.
dla kolumn anod: zwieramy kolejne wiersze do GND i anody (przed
rezystorem ograniczającym -tak aby prąd płynął przez rezystor i
diodę LED) do napięcia +5V przez dodatkowy rezystor 150 Ω.
sprawdzając świecenie poszczególnych punktów ekranu.
Łączymy płytki ze sobą, sprawdzamy połączenia szyn danych i adresowej
pomiędzy płytkami i po włączeniu zasilania działanie reklamy.
OPIS DZIAŁANIA PROGRAMU KOMPUTEROWEGO
Program komputerowy został napisany w języku Borland Pascal v7.0 i jest przeznaczony dla komputerów pracujących w systemie Windows w wersjach 3.1 i nowszych (np. Windows 95 i ...).
Wymagania sprzętowe to dowolny komputer PC posiadający wolne złącze COM2 (do podłączenia reklamy). Komunikacja programu z reklamą odbywa się za pomocą standardowego przewodu RS232 z wykorzystaniem jedynie sygnałów TxD i RxD.
Praca programu nie wymaga aby do komputera była podłączona reklama, podłączenie reklamy jest konieczne tylko na czas przesyłania prezentacji, lub ustawiania zegara.
Po uruchomieniu programu zostaje wyświetlone Menu główne:
Mamy do wyboru kilka operacji związanych bezpośrednio lub pośrednio z reklamą i prezentacją:
[1] Utwórz nową prezentację -działanie jej polega na wyczyszczeniu pamięci prezentacji (tylko w komputerze) i przygotowaniu obszaru do tworzenia nowej prezentacji.
[2] Odczytaj prezentację -odczytuje plik i umieszcza go w komputerowej pamięci prezentacji, gdzie może być dowolnie modyfikowany.
Po pojawieniu się prośby o podanie nazwy pliku wpisujemy jego nazwę lub ścieżkę dostępu i nazwę (gdy plik prezentacji znajduje się poza katalogiem w którym jest program AGN_V1_0.EXE). Podając plik podajemy rozszerzenie .TXT lub .PZT. Pierwsze dotyczy oczywiście pliku tekstowego, a drugie pliku prezentacji. W przypadku pliku tekstowego może to być czysty plik tekstowy wytworzony np. za pomocą dowolnego edytora tekstu (WORD, NOTATNIK...) i nagrany z rozszerzeniem .TXT, lub plik tekstowy z elementami prezentacji, nagrany przez opisywany program. Przy odczycie pliku tekstowego, wytworzonego za pomocą edytora tekstów zostaniemy poproszeni o podanie rozkazu (sposobu wczytywania; z prawej, lewej, góry, dołu, ukośnie...), właściwego dla całego tekstu, który odczytany z pliku zostanie zamieniony na prezentację z podanym rozkazem.
Plik tekstowy z elementami prezentacji to taki, który zawiera tekst prezentacji i jej rozkazy również zapisane tekstem, a nie kodami -tak jak w pliku .PZT.
[3]Modyfikuj prezentację. Ta opcja działa w obszarze prezentacji zawartej w pamięci komputera i pozwala dowolnie ją modyfikować, dodając tekst, rozkazy i grafikę a także kasując wpisane wcześniej.
Możemy tutaj oprócz wstawiania i kasowania tekstu, również wstawiać i kasować rozkazy, które są przedstawione w postaci opisu tekstowego. Aby wstawić rozkaz wciskamy [TAB], później literkę przypisaną do wybranego rozkazu i jeszcze raz [TAB] dla potwierdzenia. Rozkaz zostaje wstawiony w treść prezentacji.
[4] Prześlij do reklamy-ta opcja dokonuje transmisji prezentacji do reklamy Agnieszka, jej działanie wymaga włączenia i podłączenia reklamy do złącza COM2 komputera. W pierwszej kolejności ustawiany jest zegar reklamy zgodnie z zegarem komputera, dalej program zapytuje reklamę jak dużą prezentację jest w stanie przyjąć i jeśli wysyłana zmieści się w reklamie jest do niej transmitowana, a na ekranie pojawia się procentowy wskaźnik postępu transmisji. Warto wspomnieć, że podczas transmisji na komputerze powinno być uruchomione jak najmniej programów, aby wszystko przebiegało sprawnie i bez zacięć.
W przypadku gdy prezentacja jest zbyt długa dla reklamy, program zaproponuje jej obcięcie do wymaganej długości, tak aby mieściła się w pamięci reklamy.
Po przesłaniu do reklamy nastąpi odtwarzanie otrzymanej prezentacji, niezależnie od jej poprawności. (program komputerowy nie sprawdza sensu ani prawidłowości wpisywanej prezentacji!)
[5] Zapisz prezentację pozwala na zapisanie istniejącej w pamięci komputera prezentacji na dysku jako plik prezentacji (*.PZT)
lub plik tekstowy (*.TXT), przy czym dla pliku tekstowego mamy możliwość zapisu jako czysty plik tekstowy, lub jako plik tekstowy z elementami prezentacji.
Jeśli nie podamy rozszerzenia (.TXT lub .PZT) reklama sama o nie zapyta, podobnie jeśli podamy nazwę istniejącego już pliku, zostaniemy ostrzeżeni o możliwości utraty danych ze starego pliku w momencie "nadpisania" na niego nowego.
[6] Projektowanie grafiki to opcja pozwalająca odczytywać, zapisywać i modyfikować grafikę (grafiki) dodawane do prezentacji. Jest wywoływana z menu głównego, lecz także w momencie wstawiania rozkazu WSYP_GRAFIKĘ podczas opcji [3]- modyfikacji prezentacji.
Odczyt grafiki odbywa się po wybraniu opcji [1] w pod menu i podaniu nazwy pliku tekstowego (.TXT) zawierającego grafikę. Grafiki są przechowywane w osobnych plikach tekstowych, zaś wstawienie grafiki do prezentacji bez jej nagrania w oddzielnym pliku uniemożliwia jej odzyskanie.
Modyfikacja grafiki to opcja pozwalająca na dowolną jej zmianę, pracując nad grafiką posługujemy się klawiszami o następujących znaczeniach:
Ekran grafiki to matryca odpowiadająca ekranowi reklamy: 8 wierszy i 80 kolumn. Grafikę możemy również utworzyć za pomocą NOTATNIK.EXE i nagrać jako plik tekstowy, po czy otworzyć jako grafikę w programie AGN_V!_0.EXE.
[7] to opcja ustawiająca zegar w reklamie na czas zegara systemowego komputera.
Rozkazy:
Do tworzonej prezentacji możemy wykorzystać następujące rozkazy; (literka wybierająca rozkaz podczas wstawiania programem AGN_V1_0.EXE):
na końcu każdej tworzonej (modyfikowanej) prezentacji program dodaje rozkaz ROZPOCZNIJ_OD_POCZĄTKU. Podczas wstawiania rozkazu WSYP_GRAFIKĘ program przejdzie do menu- grafika, takiego jak otwierane z menu głównego, aby wybrać (lub narysować) to co ma być umieszczone w prezentacji.
Aby wykonać reklamę AGNIESZKA potrzebne będą:
Elementy a - d można uzyskań ze strony kopiując pliki -opisu (w programie WORD 7.0 for Win95), i pliki zawierające potrzebne schematy, rysunki płytek drukowanych i rozmieszczenia elementów.
|
Dyskietkę i program do EPROM z programem obsługi można ściągnąć ze stronki za freeko... należy jednak po ściągnięciu wpłacić dowolną kwotę na dowolny cel charytatywny.
|
| zawartość dla EPROM 2764(8kB) | |
| program dla komputera PC (dla Windows od wer 3.11)(43kB) | |
| wersja źródłowa programu dla PC(56,7kB) |
Powodzenia !
Wiktor Szymanowski