Projekty AVT. Opis układu

Podobne dokumenty
LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

SML3 październik

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Wyniki (prawie)końcowe - Elektroniczne warcaby

1.1 Co to jest USBCOM? Budowa oraz parametry techniczne... 3

dokument DOK wersja 1.0

Ćwiczenie 361 Badanie układu dwóch soczewek

Programowanie nieliniowe optymalizacja funkcji wielu zmiennych

Płytka uruchomieniowa XM64

Instrukcja obsługi programatora AVR Prog USB v2

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Scenariusz lekcji matematyki z wykorzystaniem komputera

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL8AVR. Płyta bazowa dla modułów dipavr

E-TRONIX Sterownik Uniwersalny SU 1.2

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

Instrukcja obsługi programatora AVR Prog USB v2

Laboratorium Komputerowe Systemy Pomiarowe

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Murasaki Zou むらさきぞう v1.1 Opis programowania modułu LPC2368/LPC1768 z wykorzystaniem ISP

ZL1MSP430 Zestaw startowy dla mikrokontrolerów MSP430F11xx/11xxA ZL1MSP430

Ruch po równi pochyłej

SKRYPT Z MATEMATYKI. Wstęp do matematyki. Rafał Filipów Piotr Szuca

MultiTool instrukcja użytkownika 2010 SFAR

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

KONSPEKT LEKCJI. NAUCZYCIEL: mgr inŝ. EWA JAROSZ SZKOŁA: GIMNAZJUM KLASA: 3 PRZEDMIOT: MATEMATYKA

Instrukcja obsługi programatora AVR Prog USB v2

Laboratorium Procesorów Sygnałowych

Funkcjonowanie i budowa modelu układu regulacji temperatury. Jakub Rotkiewicz AIR 2018

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

KAmduino UNO. Rev Źródło:

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

Programator mikrokontrolerów PIC współpracujący z programem MPLAB AVT 5100

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Warsztat pracy matematyka

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

SWITCH & Fmeter. Fmax 210MHz. opr. Piotrek SP2DMB. Aktualizacja

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

Instrukcja obsługi rejestratora SAV35 wersja 10

Modulatory PWM CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

MODUŁ UNIWERSALNY UNIV 3

CECHY URZĄDZENIA: Podłączenie wyświetlacza

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Cykl III ćwiczenie 3. Temat: Badanie układów logicznych

PŁYTKA DRUKOWANA EM-USB-DIL24 BUDOWA INTERFEJSU USB-RS232 (TTL) - DIL24

Montaż i uruchomienie

Zestaw Startowy EvB. Więcej informacji na stronie:

Uniwersalna płytka generatora tonów CTCSS, 1750Hz i innych.

Instrukcja obsługi programatora AVR Prog USB v2

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ

Pomiar bezpośredni przyrządem wskazówkowym elektromechanicznym

ARS3 RZC. z torem radiowym z układem CC1101, zegarem RTC, kartą Micro SD dostosowany do mikro kodu ARS3 Rxx. dokument DOK wersja 1.

Generator tonów CTCSS, 1750Hz i innych.

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Programowanie mikrokontrolerów AVR

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Kod produktu: MP-1W-2480

Interfejs analogowy LDN-...-AN

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

MCAR Robot mobilny z procesorem AVR Atmega32

Układy zegarowe w systemie mikroprocesorowym

ALNET USB - RS Konwerter USB RS 232/422/485 Instrukcja obsługi

2.1 Porównanie procesorów

MOD STM32 explorem0 z STM32F051C8T6. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Ri-Co informacje techniczne

Moduł wykonawczy z interfejsem Ethernet Sterowanie 8 przekaźnikami i pomiar napięć przez sieć LAN lub WAN

Zmierzyć się z żywiołami, czyli jak zbudować własną stację badawczą! Zaczynamy! Pole komunikatów programu. Nawigacja w programie Arduino

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

U W A G I D O M O N T A ś U Z E S T A W U L A B O R A T O R Y J N E G O A B C 0 1 U S B 3, A B C 0 2

THP-100 su Obsługa oprogramowania oraz instrukcja wzorcowania

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

Jednym z najlepszych sposobów poznawania nowego typu mikrokontrolera

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Parametryzacja przetworników analogowocyfrowych

Konwerter USB/RS232 KU-01b. Instrukcja obsługi. tel (12:00-16:00) fax

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Programator mikrokontrolerów AVR

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

AreConfig. v Arkadiusz Paliński Gdańsk, 2016 rok

PRZENOŚNY MIERNIK MOCY RF-1000

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Ćwiczenie 1 Automatyczna animacja ruchu

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Zegarek BS Nr produktu

Kod produktu: MP01611

202_NAND Moduł bramek NAND

Transkrypt:

Projekt AVT E-karteczka Zapominanie o różnch drobiazgach, takich jak kupienie gazet, odpisanie na list cz wniesienie śmieci, prztrafia się chba każdemu. Sposobów na radzenie sobie z tm problemem jest wiele. Mój ulubion polega na zapiswaniu krótkiej informacji na karteczce i przczepianiu jej do lampki stojącej na biurku. Po pewnm czasie zbiera się takich karteczek sporo i trzeba pamiętać (znowu!) o ich sukceswnm wrzucaniu. Zainspirowan zadaniem Szkoł Konstruktorów postanowiłem przgotować elektroniczną wersję takiej karteczki, której nie trzeba będzie wrzucać. W założeniu miało to bć urządzenie pozwalające robić odręczne notatki, wmazwać je, robić następne i tak dalej. Zadanie to spełnia LCD wposażon w panel dotkow i w tm kierunku podążł moje działania. Na następnch stronach przedstawiam sposób realizacji czegoś na kształt elektronicznego papieru urządzenia, na ie którego można pisać zwkłm rsikiem i wielokrotnie to kasować. Możliwe jest również nanoszenie informacji palcem (niepraktczne) lub innm spiczastm przedmiotem (śrubokręt albo wpisan długopis grozi to jednak porsowaniem szbki). Bć może zastanawiasz się Cztelniku ile może kosztować taki magiczn wświetlacz. Podczas realizacji tego projektu bł on dostępn w jednm ze sklepów internetowch i kosztował w granicach 0zł. Pozostałe element wkorzstane w urządzeniu również są łatwo dostępne w polskich sklepach elektronicznch, co powinno pozwolić na zbudowanie e-karteczki wszstkim zainteresowanm. Na stronie Elportalu dostępn jest kod źródłow oraz kod wnikow, któr można wgrać do mikrokontrolera bez żadnch modfikacji. Działanie urządzenia jest bardzo proste przłożenie rsika do u spowoduje włączenie pod nim pikseli. Przesuwając rsik, można rsować linie, krzwe, kółka i wszelkie inne dziwaczne figur, które Cztelnik sobie zażcz. Zwracam tlko uwagę, ab nie robić tego zbt szbko, gdż układ nie reaguje natchmiast większa część moc obliczeniowej idzie na obsługę wświetlacza. Kied będzie w całości zapełnion, wstarcz prztrzmać rsik w lewm, górnm rogu u przez kilka chwil, ab go wczścić. Potem można dalej rsować... Uwaga, to wciąga :). Opis układu Schemat urządzenia został przedstawion na rsunku. Najważniejszm elementem jest oczwiście sam wświetlacz, któr ma oznaczenie LGMJM00AWLW-TP (wpisanie tego smbolu w Google pozwoli dotrzeć do sklepu). Ma on rozdzielczość 00 punktów, wbudowane podświetlanie białmi diodami LED oraz rezstancjn panel dotkow. Panel ten jest przmocowan do u, a jego zasada działania opiera się na zmianie rezstancji, która jest zależna od miejsca przłożenia rsika. Największą wadą omawianego panelu LCD jest brak kontrolera wświetlanie obrazków odbwa się w sposób multipleksowan, tzn. poprzez zapis kolejnch wiersz (szczegół dalej). Prostą implikacją tego jest konieczność wgospodarowania pamięci obrazu. Przjmując jednobitową paletę kolorów, czli piksel włączon lub włączon, otrzmujem 0*0*=00 bitów. Po przeliczeniu na bajt wchodzi, że pamięć obrazu wmaga aż,kb. Jest to wartość, która od razu dskwalifikuje praktcznie wszstkie popularne mikrokontroler AVR. W związku z tm zastosowano procesor z rdzeniem ARM, konkretnie dość popularn układ LPC0. Ma on kb pamięci RAM, co pozwala bez trudu przechować cał obraz. Za tm wborem idzie konieczność zapewnienia napięcia zasilającego,v (stabilizator U) oraz zasilania rdzenia, do czego wmagane jest napięcie,v (układ U). Pewne zdziwienie może budzić obecność jeszcze trzeciego stabilizatora U (nawiasem mówiąc, do kupienia w tm samm sklepie co i wświetlacz. Również kup tu złącze ZIF). Obsługa panelu dotkowego bazuje na pomiarach przetwornikiem analogowo-cfrowm i od dokładności pomiaru zależ dokładność rsowania punktów na ie. Na otrzmwane wniki wpłwa m.in. dokładność napięcia odniesienia przetwornika (pin ). Podanie tam napięcia z głównego stabilizatora mogłob spowodować, że do układu ADC trafią wszstkie zaburzenia generowane przez pracując procesor. Problem ten nie wstępuje właśnie w stuacji, gd te dwa napięcia pochodzą z różnch stabilizatorów. Wmagana duża dokładność pomiaru zdecdowała również o dodaniu dławika L, którego zadaniem jest dodatkowe zmniejszenie zakłóceń. Element R, L, T, D, C oraz D tworzą prostą przetwornicę podwższającą napięcie zasilania do wartości V. Napięcie to jest wmagane przez sterownik wświetlacza, a jego wartość decduje m.in. o kontraście. Wmusza to zastosowanie możliwie stabilnego napięcia, ab uchronić wświetlacz przed niepoprawnm wświetlaniem obrazu. Przetwornice mają to do siebie, że generują dużo śmieci, stąd dodatkow filtr złożon z elementów L, C, C0. Uzskane w ten sposób napięcie Uz trafia na dzielnik złożon z potencjometru PR i rezstorów R...R0. Napięcia z poszczególnch sekcji dzielnika trafiają do wświetlacza i decdują o kontraście i sposobie świecenia pikseli. Ponownie stabilność tego napięcia ma kluczowe znaczenie i jej zapewnienie zdecdowało o dołączeniu kondensatorów C...C oraz C. Rezstor R i R ograniczają maksmaln prąd, jaki może płnąć do wświetlacza. Zapobiega to uszkodzeniu wświetlacza w przpadku odłączenia napięcia,v przed odłączeniem Uz. Złącze JP oraz przciski S i S został przeznaczone do programowania procesora w sstemie i kalibracji panelu dotkowego szczegół w sekcji poświęconej montażowi i uruchomieniu. Na koniec jestem winien Cztelnikom pewne wjaśnienie, konkretnie dotczące pamięci zewnętrznej Flash. Niestet uruchomienie wświetlacza okazało się zbt pracochłonne i nie zostało czasu na Elektronika dla Wszstkich Marzec 00

Rs. D N00 D N00 C C DISP_OFF XCK FLM DATA DATA DATA PRG_TXD PRG_RXD PWR_CONV WP AT_ SCK SO C p R k C 0 0 X.0MHz C p U LFCDT IN OUT C 00u Z ZALACZ V U SDL IN OUT C0 00u U LPC0 RST P0./MAT./MISO P0.0/MAT./MO P0./SSEL/MAT.0 P0./TRST/CAP.0 P0./TMS/CAP. P0./TCK/CAP. P0.0/TXD0/MAT. P0./RXD0/MAT. P0.0/TDI/MAT. P0./TDO P0./SCL0/CAP0.0 RTXC P0./SDA0/MAT0.0 P0./SCK0/CAP0. P0./MISO0/MAT0. P0./MO0/CAP0. X X A C C C 00u L 0u C 00u.V VDD(V) 0.V VDD(V) VDD(V) U Vin C SHDN VBAT TC0 Bpass C P0./CAP./SDA P0./CAP./SCL P0./EINT0/MAT0. P0./RI/EINT P0./DCD/SCK/EINT P0./DTR/MAT. P0./AD0. P0./AD0. P0./DSR/MAT.0/AD0. P0./CTS/CAP./AD0. P0.0/RTS/CAP.0/AD0. P0./AD0. P0./AD0. P0./AD0.0 0 P0./RXD/MAT. P0./TXD/MAT. P0./SSEL0/MAT.0 DBGSEL RTCK RTXC Vout C 0p C PRG_SEL C TP_BOTTOM TP_TOP TP_LEFT TP_RIGHT FR LP DATA0 R.k C R 00k.V R 00k C 00u U SCK SCK AT_ R PWR_CONV C C C C PRG_RXD PRG_TXD C ATDB0B L mh k R 0k R 0k R 00k R 0k R0 0k D V R R D V PR k SO WP T BC V V V V V0 k k D R.k N00 C.u J PRG Uz L SO WP D V DATA DATA DATA DATA0 FLM LP XCK PRG_SEL 0uH FR DISP_OFF V V V V V0 R 00R TP_TOP TP_RIGHT TP_BOTTOM TP_LEFT R C.u J LCD 0 0 k C Uz J PODSW S S PRG_SELECT C0 C C zaimplementowanie obsługi pamięci Flash. W założeniach miała bć ona wkorzstana do przechowwania obrazu i ochron przed jego utratą w wniku zaniku napięcia zasilania. Z tego względu NIE MA POTRZEBY lutowania układu U. Oczwiście płtka została wkonana dużo wcześniej i postanowiłem jej nie zmieniać, gdż funkcjonuje prawidłowo. Dla pełnego obrazu postanowiłem również pozostawić zewnętrzną pamięć Flash na schemacie. Cztelnic, którz chcą mieć możliwość podtrzmania pamięci, w przpadku problemów z zasilaniem mogą zastosować rozwiązanie z rsunku. Oprogramowanie Omawianie oprogramowania warto rozpocząć od przbliżenia idei sterowania wświetlaczem LCD. Jest on zbudowan z segmentów w postaci pojednczch pikseli. Każd z nich składa się z dwóch elektrod, międz którmi znajduje się krształ. Mówiąć najprościej: przłożenie do tch elektrod napięcia większego od progowego powoduje, że dan segment staje się widoczn (robi się czarn). Brak takiego napięcia sprawia, że piksel Rs. staje się niewidoczn i w efekcie w danm punkcie widoczne jest światło emitowane przez diod podświetlające. W rzeczwistości napięcie przłożone do elektrod to przebieg zmienn, któr nie może mieć składowej stałej. Składowa stała jest szkodliwa dla krształów i powoduje degradację modułu LCD. Problem ten rozwiązuje się poprzez zmianę polarzacji napięcia przłożonego do elektrod. Ujmując rzecz obrazowo, można powiedzieć, że raz na górnej elektrodzie jest napięcia dodatnie, a raz masa, natomiast na dolnej odwrotnie. Obserwując wted to napięcie względem dolnej elektrod, otrzmujem przebieg prostokątn o amplitudzie Z V D N D,V 00u od V do V, co po uśrednieniu daje Uz zero (brak składowej stałej). Wsterowanie wświetlacza sprowadza się do zapisu rejestru kolumn i rejestru wiersz, które mają postać rejestru przesuwającego zapiswane dane są sukceswnie przesuwane w takt sgnału zegarowego. Zapisanie zera powoduje, że elektroda będąca kolumną lub wierszem ma napięcie opowiadające napięciu mas. Zapisanie jednki skutkuje podaniem jednego z napięć sterującch: V, V, V, V0 lub V, które są pobierane z dzielnika rezstorowego R...R0. Które z tch napięć trafi na kolumnę, a które na wiersze, decdują stan logiczne obecne na wejściach FR, LP oraz DISP_OFF. Określają to dwie tabelki widoczne na rsunkach i. Są one bardzo podobne, jednakże wstępują tu pewne różnice, konkretnie dla pozcji drugiej i czwartej w podanch tabelkach. Jeżeli w wbranch wierszach i kolumnach wpiszem jednkę, to do elektrod wiersza Marzec 00 Elektronika dla Wszstkich

zostanie dołączone napięcie V, a do elektrod kolumn V0 (prz założeniu, że FR=L, LP=H, DISP_OFF=H). Gdb teraz zmienić stan wejścia FR na przeciwn, to stuacja się odwróci: elektroda kolumn będzie miała napięcie V, a elektroda wiersza V0. Na przecięciu tch elektrod pojawi się napięcie prostokątne o amplitudzie *V0 i w efekcie włącz się stosown piksel. Zakładając, że do kolumn zapiszem jednkę logiczną, natomiast w wierszu logiczne zero, na przecięciu tch dwóch elektrod piksel nie włącz się napięcie V0 jest niewstarczające. Właśnie to jest kontrast wświetlacza LCD regulacja amplitud V0. Im jest ona większa, tm ciemniejsze są włączone piksele, jednakże na ie pojawiają się cienie, bo włączone piksele zacznają się włączać napięcie V0 zbliża się do wartości progowej, umożliwiającej włączenie segmentu. Dobrze wregulowan kontrast ma dwie cech: włączone piksele są dobrze widoczne, a włączone są niewidoczne. Ta zasada leż u podstaw algortmu wkorzstanego do sterowania LCD. Podając jednkę na wbran wiersz włączam całą poziomą linię, jeżeli włączona będzie więcej niż jedna kolumna zaświeci się kilka pikseli. Nie da się w ten sposób narsować, np. kwadratu, któr nie błb w środku wpełnion pokazuje to w uproszczeniu rsunek. Problem ten można obejść, włączając w danm momencie tlko jedną kolumnę, co spowoduje zaświecenie pikseli w jednej, pionowej linii. Po chwili zmieniam napięcia na elektrodach wiersz i wświetlam kolejną linię. W taki sposób, linia po linii tworzm obraz. Cała operacja musi bć powtarzana cklicznie mam tu do cznienia z odświeżaniem podobnm do tego spotkanego w monitorach komputerowch. Znając już algortm prac, możem się przjrzeć konkretnej realizacji oprogramowania. W tm miejscu chciałbm zauważć, że zastosowan mikrokontroler jest -bitow i z tego względu pamięć obrazu jest zorganizowana w formie tablic zmiennch -bitowch unsigned int. Wświetlacz ma Rs. Rs. 0 linii, co po podzieleniu przez daje tle komórek pamięci jest potrzebnch do przechowania informacji o pojednczej linii obrazu. LCD ma 0 kolumn, stąd pamięć obrazu stanowi tablica lcdmemor[0][] znajdująca się w pliku panel.h. Zapis wiersz odbwa się w trbie równoległm, -bitowm. Zadanie to wkonuje funkcja SetDataPort, która pobiera zmienną -bitową, dzieli ją na fragment -bitowe i kolejno zapisuje do sterownika. Po każdm takim zapisie podawane jest zbocze opadające na wejściu XCK. Funkcję tę można bło napisać trochę sprtniej, np. wkorzstując pętlę for, jednakże wprowadzała ona zbt duże opóźnienie i obraz widocznie migotał. Funkcja SetDataPort jest wwołwana z funkcji refresh, która zajmuje się odświeżaniem całego obrazu. Ab obraz bł widoczn, musi bć ona wwołwana cklicznie. Po zapisaniu wszstkich wiersz, na wejście LP podawane jest zbocze opadające. Ma ono dwa zadania zatrzasnąć dane zapisane do wiersz oraz umożliwić zapis kolejnej kolumn. Wartość kolumn zapisuje się poprzez wejście FLM. Dokonuje się to w pętli for wkonującej się 0 raz. W pierwszej iteracji do kolumn wpiswana jest jednka (podanie napięcia zmiennego na elektrod) i zapiswan jest wiersz. W pozostałch iteracjach pętli zapiswane jest zawsze zero, a kolejne zbocza na wejściu LP powodują, że zapisana do kolumn jednka przesuwa się cklicznie po wszstkich kolumnach. Zależnie od jej położenia, włączane są odpowiednie wiersze. Funkcja refresh widoczna jest na listingu. Te dwie funkcje stanowią esencję sterowania wświetlaczem. Wspomniano wcześniej, że konieczn jest przebieg prostokątn na wejściu FR. Za jego generację odpowiedzialn jest... sprzętow generator PWM! Po skonfigurowaniu, które odbwa się w konstruktorze klas panel, daje on na wjściu smetrczn przebieg (wpełnienie 0%) o częstotliwości około Hz. W tm miejscu ustawian jest również drugi generator PWM do sterowania tranzstora przetwornic wtwarzającej wmagane napięcie V. Prz okazji w konstruktorze dokonwana jest inicjacja portów sterującch pracą wświetlacza (są konfigurowane jako wjścia), czszczona jest pamięć obrazu oraz ustawian jest obszar robocz panelu dotkowego (o tm za chwilę). Z wświetlaczem związane są jeszcze czter inne funkcje: clear, setpiel, //odswieza widok void panel::refresh(){ //zmienne volatile int u = 0 ; volatile int p = 0 ; //zapis wszstkie linie poziome for(p=0 ; p<0 ; p){ for(u=0 ; u< ; u){ //zapisz slowo danch setdataport(lcdmemor[p][u]) ; //zatrzask if(p==0){lcd_flm_h; LCD_LP_H ; LCD_LP_L ; LCD_FLM_L ; LCD_LP_H ; LCD_LP_L ; Listing Rs. 0 0 0 0 clearpiel oraz rect. Pierwsza z nich wmazuje cał i umożliwia zapiswanie na nim obrazów od początku. Funkcja setpiel, jak wskazuje nazwa, umożliwia włączenie pojednczego punkt na LCD. Operuje ona na pamięci obrazu (tablica lcdmemor) i na podstawie podanch argumentów określa kolumnę oraz wiersz i ustawia w nim żądan bit. Określenie wiersza jest bardziej skomplikowane niż okre- Rs. ślenie kolumn, gdż konieczne jest, po pierwsze, wbranie jednej zmiennej spośród pięciu (obraz przechowwan w komórkach --bitowch), a po drugie, określenie, na której pozcji wbranej zmiennej ustawić jednkę. W przpadku polecenia clearpiel stuacja jest analogiczna z tm, że wbran piksel jest wgaszan. Ostatnie funkcja, rect, rsuje prostokąt w oparciu o podane współrzędne dwóch naprzeciwległch wierzchołków. Pozostałe trz funkcje, tj. kalibracja, tpgetx oraz tpgety, są przeznaczone do obsługi panelu dotkowego. Pierwsza z nich służ do określenia obszaru roboczego panelu dotkowego. Po dotknięciu u tworz się para dzielników rezstorowch, gdzie wartości poszczególnch rezstorów zależne są od miejsca wstąpienia nacisku ilustruje to poglądow rsunek. Chcąc określić miejsce przłożenia rsika, należ zasilić jedną parę rezstorów, a na wjściu drugiej dokonać pomiaru (rsunek ). Otrzman pomiar informuje o położeniu rsika w osi Y, więc Rs.,V rsik 0-0- rsik 0-0- 0 POMIAR Elektronika dla Wszstkich Marzec 00

POMIAR rsik 0-0- konieczn jest drugi pomiar, ab określić położenie w osi X. Wmaga to zmian zasilanej par rezstorów i pomiaru na zasilanej uprzednio rsunek,v. Podstawowm problemem jest to, że napięcie na wjściu dzielnika nie ma wartości skrajnch, tzn. od 0V do,v. W Rs. przpadku zastosowanego przeze mnie wświetlacza przedział ten wnosił od około 0,V do około,v. Nie testowałem niestet innch egzemplarz, więc nie wiem, jaka jest powtarzalność wkonania. Właśnie ta niepewność zdecdowała o dodaniu funkcji kalibracjnej. Ujmując rzecz w skrócie, dokonuje ona pomiaru napięcia prz wszstkich czterech, skrajnch położeniach rsika i zapamiętuje je. Sposób wkonania kalibracji został przedstawion w sekcji poświęconej montażowi i uruchomieniu urządzenia. Pozostałe funkcje, czli tpgetx oraz tpgety, służą do określania położenia rsika. Zależnie od przesłanego do funkcji argumentu zwracają wartość zmierzoną przetwornikiem ADC (wkorzstwane podczas kalibracji) lub położenie na ie zawierające się w zakresie 0... dla osi X oraz 0... dla osi Y (wkorzstwane podczas pisania na wświetlaczu). Jeżeli rsik nie dotka wświetlacza, zwracana jest wartość (poza zakresem), co jest znakiem dla funkcji setpiel, że ma nic nie rsować. Warto wspomnieć, że w obu funkcjach na bieżąco są rekonfigurowane port mikrokontrolera: dwa ustawiane są jako wjścia cfrowe ze stanem zero oraz jeden (zasilania dzielnika), a jeden do pomiaru przetwornikiem zależnie od tego, cz mierzona jest współrzędna X, cz Y. Po ustawieniu portów wkonwan jest pomiar napięcia i w oparciu o znane, po procesie kalibracji wartości skrajne, wznaczana jest aktualna pozcja rsika. W pliku main.cpp znajduje się pętla główna programu. Jej konstrukcja nie jest szczególnie złożona. Przed rozpoczęciem jej wkonwania konfigurowan jest układ PLL mnożnik częstotliwości, co pozwala zwiększć częstot-liwość zegara ponad wartość znamionową rezonatora kwarcowego. Poprzez rejestr S włączana jest obsługa portów w trbie szbkim, któr umożliwia wstawianie stanów logicznch w znacznie krótszm czasie niż w przpadku dostępu tradcjnego. Tworzone są tu również dwa obiekt: panel obsługując wświetlacz oraz port, umożliwiając komunikację z komputerem przez port RS (co zostało wkorzstane na etapie uruchamiania urządzenia). W pętli głównej następuje pobranie współrzędnch z panelu dotkowego. Są one pobierane dwa raz pod rząd, ab zmniejszć wpłw przełączania napięcia prz zmianie mierzonej osi. Kolejnm krokiem jest odświeżenie zawartości u za pomocą omówionej funkcji refresh. Następnie wwo- łwana jest procedura kalibracji, która sprawdza, cz naciśnięto przcisk S, C i wkonuje ewentualną kalibrację. Ostatnim zadaniem głównej pętli jest Rs. sprawdzenie, cz należ wkasować wświetlacz. Jeżeli kilkadziesiąt raz pod rząd stwierdzone zostanie, że rsik znajduje się w lewm, górnm rogu, to nastąpi wczszczenie wświetlacza. Zmiana położenia poza wznaczon obszar lub zdjęcie rsika z u spowoduje, że zmienna prztrzmanie zostanie wzerowana i zliczanie rozpocznie się od początku. n Montaż i uruchomienie Jednm z najważniejszch elementów e- -karteczki jest mikrokontroler, któr niestet wmaga zaprogramowania... Okazuje się, że to zadanie nie jest takie trudne i wstarcz użć zwkłego portu szeregowego komputera. Jedną komplikacją jest konieczność zastosowania konwertera poziomów, np. popularnego układu MAX. Następnie podpinam się do złącza J (masę również!) i można programować. Uprzednio należ jeszcze wprowadzić mikrokontroler w trb ładowania programu (uaktwnić bootloader), co sprowadza się do naciśnięcia przcisku S, następnie S (reset) i puszczenia po chwili S. Teraz można załadować program. Oprogramowanie można wgrać za pomocą firmowego programu (NXP Flash Utilit Google wie, gdzie on jest) lub darmowego Flash Magica (ptać Google o NXP flash magic). Co zrobić, jeśli nie posiadam portu RS w komputerze? Zastosować inn układ, mianowicie FT. Cztelnikom pragnę przpomnieć, że prost konwerter USB<->RS opisan bł w numerze /00 EdW prz okazji omawiania Elektronicznego drgenta. Podczas tworzenia oprogramowania sam z niego korzstałem, tutaj nie Z USB F 0,A U FTRL IO 0 USBDM USBDP NC # NC OSCI OSCO VOUT A L 0uH TXD RXD RTS# CTS# DTR# DSR# DCD# RI# CBUS0 CBUS CBUS CBUS CBUS TEST TD RD RTS CTS DTR 0 D Schottk C,u TD DTR RTS RD CTS C JP USB_PORT C 0n potrzeba żadnej konwersji poziomów: należ połączć złącze J bezpośrednio z konwerterem (masę również) i można zapiswać program po uprzednim wkonaniu sekwencji inicjacji bootloadera. Schemat tej przejściówki (nawiasem mówiąc, mojego autorstwa, więc zapożczon legalnie:)) pokazan jest na rsunku, a wzor PCB można odnaleźć na stronie Elportalu (klikając na stronie głównej link Wcześniejsze numer EdW). Do poprawnej prac urządzenia potrzebna jest kalibracja pozwala ona określić zakres pomiarow dla przetwornika ADC. Sprowadza się ona do kilku prostch kroków. Na początek należ nacisnąć przcisk S co spowoduje wmazanie zawartości u i wświetlenie w jego górnej części małego kwadratu. Rsikiem należ go dotknąć lub jeszcze lepiej wjechać na niego rozpocznając przesuwanie rsika od skraju wświetlacza. Po najechaniu, kwadrat zniknie i pojawi się na dole, tu stuacja jest analogiczna, przkładam rsik do skraju u i powoli go przesuwam na kwadrat. Potem pojawi się on, kolejno, po lewej i prawej stronie. Za każdm razem metoda działania jest ta sama. Po zakończeniu kalibracji na kilka sekund wświetli się smbol uśmiechniętej Marzec 00 Elektronika dla Wszstkich

buzi, która następnie zniknie, pozostawiając cał do dspozcji Cztelników. Pragnę zwrócić uwagę na jeszcze jeden szczegół. Podczas uruchamiania urządzenia zdarzało się, że panel dotkow nie reagował lub kwadrat znikał samoistnie w czasie przeprowadzania kalibracji. Winę za to ponosiło niepewne połączenie pomiędz taśmą wświetlacza a pinami złącza. W razie podobnch problemów warto delikatnie poruszać taśmą łączącą panel LCD z urządzeniem i obserwować efekt. Zasadniczo dobór obudow pozostawiam Cztelnikom. Model widoczn na zdjęciu umieszczono międz dwiema płtkami z pleksiglasu. W górnej płtce wcięt został otwór na wświetlacz, któr został wciśnięt na Rs. 0 Rs. stk i dodatkowo posmarowan czterema kropelkami kleju Super Glue. Obie płtki został połączone tm samm klejem, a pomiędz nie wstawiłem czter, plastikowe tulejki dstansowe. Fragment pleksiglasu (pasek o szerokości paru cm) podgrzałem zapalniczką i wgiąłem w kształt cfr, co stworzło podpórkę dla całej konstrukcji. Podpórka również została prztwierdzona klejem. Możliwości zmian Układ można zmontować na płtce drukowanej pokazanej na rsunku 0. Zasadniczo do projektu został dołączone pełne kod źródłowe, które bł kompilowane z użciem darmowego pakietu WinARM. Warto choćb dla samej ciekawości trochę pomieszać w kodzie, ab dodać własne funkcje, efekt graficzne, takie jak np. rozlewanie atramentu prz dłuższm prztrzmaniu rsika. Jest to również dobra okazja do dotknięcia procesorów -bitowch, tm bardziej że do zapisania programu nie jest potrzebn żaden skomplikowan programator, a kompilacja odbwa się za pomocą dołączonego skrptu start.bat. Jedną trudnością jest pełne zainstalowanie kompilatora, gdż trzeba zmodfikować zmienną środowiskową Wkaz elementów (SMD 0 lub 00) R-R................... kω SMD R........................... kω R,R0................. 0kΩ SMD R,R....................... 0kΩ R,R,R............. 00kΩ SMD R.................... 00Ω SMD R,R................,kΩ SMD PR......................... kω C,C,C,C,C,C,C-C,C-C, C,C................ F SMD C,C,C,C0,C............ 00μF C..................... 0pF SMD C.........................,μF C.........................,μF C,C................. pf SMD D,D.................N00 SMD D,D.................... V SMD sstemu. Dokonuje się tego poprzez wbranie ikon Sstem z Panelu sterowania, a następnie zakładki Zaawansowane, dalej klikając Zmienne środowiskowe i dopisując w polu ścieżkę dostępu do kompilatora (rsunek ). Bardziej szczegółow opis można znaleźć w artkule poświęconm Cfrowej Iluminofonii LED (EdW /00). Gorąco zachęcam do własnch ekspermentów na tm polu:). Po zainstalowaniu pakietu WinARM można wkorzstać skrpt programując dołączon do kodów źródłowch. Konieczna jest jednak zmiana portu komunikacjnego programatora. W tm celu należ w pliku makefile odnaleźć linię: LPCISP_PORT = com i ustawić port szeregow wkorzstwan przez programator lub port, pod któr podłączł się układ FT. Jakub Borzdński jakub.borzdnski@elportal.pl D........................ N00 D........................... V LCD........ LGMJM00AWLW-TP T......................... BC U....................... SDL U....................... LFCDT U........................ TC0 U.................... ATDB0B U....................... LPC0 J...................... goldpin J....................ZIFNZ00CV J...................... goldpin L.......................... 0μF L...........................mH L.......................... 0μH S,S..................... μswitch X....................,0MHz Z.......................... ARK Płtka drukowana jest do stęp na w sie ci handlowej AVT ja ko kit szkol n AVT-. Elektronika dla Wszstkich Marzec 00