Arduino a 2.4" LCD TFT Shield (aitendo UL024TF)

05.04.2015 23:06

Translate to English

    

 

 

Dnes jsem dostal k otestování od ptshop.cz LCD Shield pro Arduino s označením "aitendo UL024TF". Jedná se o 2.4" velký TFT displej s dotykovým panelem a integrovaným slotem pro microSD. Je osazen řadičem ILI9325

     Pokusíme se tedy displej oživit. Pro spávnou funkci a základní zobrazení bude zapotřebí stáhnout knihovnu Adafruit_TFTLCDAdafruit_GFX. Mohli by jsme hned použít o otesotání příklad z knihovny Adafruit_TFTLCD - "graphicstest", ale byli by jste zklamani. Příklad využívá příkaz pro identifikaci čipu, který mi ovšem musíme nastavit manuálně. Tak si tedy do Arduina nahrajte prošku upravený příklad pro grafický test:

 

    Pokud vidíte vykreslování něčeho na displeji, tak máte vyhráno. K test si ještě můžete zapnout SerialMonitor, který Vám vypíše nějaký text, velikost displeje v pixelech a hlášku, že nenašel ID čipu, který displej řídí a proto jsme ho museli zadat ručně.

     Aby jsme si s displejem trošku vyhráli, nejdříve ukáži minimum kódu, aby jste displej zprovoznili:

     Jak vidíte tak diplej v programu pouze vyplní obrazovku modrou barvou. Já tedy i napíšu ostatní příkazy,  které jsou obsaženy v knihovně Adafuit_GFX a Adafruit_TFTLCD:

  • drawPixel(int16_t x, int16_t y, uint16_t color);
  • drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
  • drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
  • drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
  • drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
  • fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
  • fillScreen(uint16_t color);
  • invertDisplay(boolean i);
  • drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
  • drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, uint16_t color);
  • fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
  • fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, int16_t delta, uint16_t color);
  • drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);
  • fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);
  • drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t radius, uint16_t color);
  • fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t radius, uint16_t color);
  • drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color);
  • drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color, uint16_t bg);
  • drawXBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color);
  • drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color, uint16_t bg, uint8_t size);
  • setCursor(int16_t x, int16_t y);
  • print(string s);
  • println(string s);
  • setTextColor(uint16_t c);
  • setTextColor(uint16_t c, uint16_t bg);
  • setTextSize(uint8_t s);
  • setTextWrap(boolean w);
  • setRotation(uint8_t r);
 
     Sami s příkazů odvodíte co mají dělat, tak vytvoření jednoduchého programu bude hračkou. Dnes jsme si zprovoznili samotný display a v příštím díle si ukážeme jak naprogramovat a nastavit dotykový panel na displeji. Ješte jako bonus pro poděkovaní za zapůjčení firmě PTshop.cz, krátký program pro zobrazení textu:

 

Zpět

Nebyly nalezeny žádné příspěvky.

Vyhledávání

arduino8.cz © 2015 Všechna práva vyhrazena.