background image

Kategorie

Moduły elektroniczne 
Potencjometry, przełączniki
Diody LED
Oporniki - Rezystory
Przewody, kable, zworki
Płytki stykowe
Diody
Zestawy specjalne, dedykowane
Zestawy startowe
Obudowy i osłony

Producenci

Aktualności / Blog

TUTORIAL GPS

LCD 2.4 cala (Ekran dotykowy) - TUTORIAL - Polska Inst

793111198
sklep@electropia.pl

LCD 2.4 cala (Ekran dotykowy) - TUTORIAL - Polska I

Wpadł mi taki wyświetlacz LCD do Arduino:

Aktualności

Instrukcje i Tutoriale

Kontakt

background image

Tutorial: Moduł Rozpoznawania Mowy v3.0

LCD 2.4 cala (Ekran dotykowy) - TUTORIAL -

Polska Instrukcja

Tyle z opisu:

Technologia

LCD z podświetleniem

Dotykowy

Tak – TFT rezystancyjny (4 po

Rozmiar

2.4″

Kolory

18-bit; 262k

Kontroler

spfd5408 

background image

Uruchomienie go zajęło mi trochę czasu. Mam na

Ślepa uliczka?

(Poniższe instrukcje mogą się Wam przydać, je
Nadruk na płytce (‚http://www.mcufriend.com’) p
ślaczkami – na szczęście słowa kluczowe były po 
że wyświetlacz ma jednak sterownik „st7781″. Ni
Po krótkim śledztwie trafiłem 
wyświetlaczy, po jakiś 80MB. Dokładniej są to ins
przykładai. Dalej:

Katalog w archiwum:

.\libraries\TFTLCD-

przekopiowałem do biblitek na mojej instalce A

\libraries\TFTLCD\

1. 

Używam Arduino IDE 1.6.1; ponieważ się nie k

W pliku 

TFTLCD.h

 zmieniłem:

virtual void write(uint8_t);

na

virtual size_t write(uint8_t);

W pliku: 

TFTLCD.cpp

void TFTLCD::write(uint8_t c) {

na:

size_t TFTLCD::write(uint8_t c) {
//...
return 0;

W pliku: 

glcdfont.h

static unsigned char font[] PROGME

na

const unsigned char font[] PROGMEM

Po uruchomieniu przykładu z
identyfikuje się jako … 0x154. Pokazuje to ten

uint16_t identifier = tft.readRegist

Inne kody:

2. 

background image

0x9325

0x9328

0x7575

0x9341

0x8357

0x0154

Lepsza droga

Znając identyfikator czipu sterującego, okazało
instrukcją na forum Arduino

Najpierw dodajcie kilka bibliotek do Arduino

https://github.com/samuraijap/TFTLCD-
https://github.com/adafruit/Adafruit-GF
https://github.com/adafruit/Touch-Scre

1. 

Biblioteki te umieszczone są w repozytoriach g
Internet Explorera):

Otworzyć podane linki
Z prawej strony znajdziecie klawisz ‚Downlo
Kliknijcie ‚Otwórz’ (nie: ‚Zapisz’); otwarte ar
katalog 

TFTLCD-Library-master

Przekopiujcie cały rozpakowany katalog do 

[CTRL]+[C] na katalogu (skopiowanie do
Przejdźcie do: 

C:\Program Files (x8

Wklejcie katalog [CTRL]+[V]

Możecie do tego potrzebować praw adminis

Nowe biblioteki pojawią się w Arduino IDE p

Pierwszy kod

Najlepiej po prostu uruchomić wszystkie załąc
powinna nastręczyć Wam żadnych trudności. D
zostały już odpowiednio zmodyfikowane do pin

background image

#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4

Inicjacja wyświetlacza jest wtedy prosta:

Tworzymy instancję obiektu wyświetlacza:

Adafruit_TFTLCD tft(LCD_CS, LCD_CD

W funkcji 

setup()

:

void setup(){
//...
tft.reset();
tft.begin(0x154);
//..
}

Kilka przydatnych poleceń poniżej:

tft.setRotation(i);

tft.fillScreen(z);

z =

tft.color565(r,g,b)

tft.fillRect(x, y, xl, yl,

z);

tft.drawPixel(x,y,c);

tft.setTextSize(4);

tft.setCursor(x,y);

tft.println(„a”);

Dla przykładu, żeby wyświetlić napis „arek” 

Ustaw wielkość czcionki:

background image

Ustaw kursor w pozycji 0,20:
Wyświetl napis:

tft.println("arek")

Naprawienie Adafruit_TFTLCD::pus

Funkcja 

Adafruit_TFTLCD::pushColors

przeniesienia znaku końca bloku jak pokaza
bloku kodu przed instrukcją 
funkcja pushColors (przykład 
Dzięki tej poprawce, możecie znacznie szyb
zamiast tft.drawPixel.

Dotykowo

Wyświetlacz dzieli niektóre piny w maską do
do zczytania pozycji dotyku:

TSPoint p = ts.getPoint();

musicie z powrotem ustawić kierunek pinów

pinMode(XP, OUTPUT);
pinMode(XM, OUTPUT);
pinMode(YP, OUTPUT);
pinMode(YM, OUTPUT);

Kolejnym problemem okazała się samo wyw
Cokolwiek bym nie zmieniał, dotyk na ekran
niektórych obszarach ekranu. Pewne były p

background image

Sytuacja poprawiła się dopiero, gdy zamie
‚readTouch’ i ‚readPressure’

void loop(){
//..
//Zle
//TSPoint p = ts.getPoint();
//Dobre
int x = ts.readTouchX();
int y = ts.readTouchY();
int z = ts.pressure();
pinMode(XP, OUTPUT);
pinMode(XM, OUTPUT);
pinMode(YP, OUTPUT);
pinMode(YM, OUTPUT);
if( z> 0 && z<1000){
//...
}//endif
//...
}//endloop

Zmienna 'z' przechowuje siłę nacisku (filtru
przyciśnięcia. W ten sposób dostaniecie wie
wstawić mały 

delay(50)

wyrafinowane rozwiązania)

Karta SD

Kolejnym fajnym bonusem jest gniazdo kart
trzymać np. obrazki na tło ekranu. Podobnie
Arduino za pomocą SPI. Jedyne co musicie 
CS) – tutaj 10.

#define SD_CS 10

Dodajcie bibliotekę SD: ‚Szkic/Importuj bibl

void setup(){
//...
if (!SD.begin(SD_CS)) {

background image

Serial.println("SD card failed!");
return;
}
Serial.println("SD card ok!");
//...
}

Wiele przykładów użycia (np. wczytanie bmp
‚Adafruit_TFTLCD/examples/tftbmp’. Pełną
tutaj. Ja testowałem z 1GB karta i było ok.

Podsumowanie

Keypad na Arduino z wyświetlaczem LCD TFT 2.4 c

Bardzo fajna zabawka:) Oczywiście demon p
żeby wszystko uruchomić, ale generalnie m
Moduł lcd tft 2.4 możecie kupić w sklepie el

Źródła

http://misc.ws/2013/11/08/touch-scre
http://forum.arduino.cc/index.php?topic
http://forum.arduino.cc/index.php?topic
http://forum.arduino.cc/index.php?topic
https://github.com/samuraijap/TFTLCD-

background image

Wpisz swój adres e-mail, jeśli chcesz otrzymywać najnowsze
informacje o promocjach.

tel.: 793 111 198
e-mail: sklep@electropia.pl

05-270, Marki, Klucznikowska 19

Kontakt

Regulamin
Polityka prywatności

Informacje

Oprogramowanie sklepu internetowego

Autorem artykułu jest Arkadiusz Merta

Blog Arkadiusza - autora tego tutorialu.