• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
LCD TFT 3,5" ILI9481 & Arduino mega
#1
Witam
proszę o pomoc w wyjaśnieniu gdzie popełniam błąd przy próbie prawidłowego uruchomienia wyświetlacza LCD TFT 3,5" ILI9481 na Arduino Mega.
W pierwszym kontakcie z tym wyświetlaczem (nowy nabytek) próbowałem następującego kodu: 

Kod:
//biblioteki
#include <Adafruit_GFX.h>
#include <Adafruit_TFTLCD.h>
//pinologia
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4
//kolory
#define CZARNY        0x0000 //zamiana kolorów na FFFF nic nie daje
#define NIEBIESKI     0x001F
#define CZERWONY      0xF800
#define ZIELONY       0x07E0
#define ROZOWY        0xF81F
#define ZOLTY         0xFFE0
#define BIALY         0xFFFF //zamiana kolorów na 0000 nic nie daje
#define CYAN          0x07FF

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

void setup()
 {
   tft.reset();
   tft.begin(0x9481);
   tft.setRotation(3);
   //tft.serRotation(0);prezentacja kolorów przesuwa się w lewo, brak napisów, mały panel pionowo
   //tft.serRotation(1);prezentacja kolorów przesuwa się do góry, brak napisów, mały panel OK
   //tft.serRotation(2);prezentacja kolorów przesuwa się w prawo, brak napisów, mały panel pionowo  
   /*tft.serRotation(3,7,11);prezentacja kolorów przesuwa się w dół,
     są napisy ale za niskie,brak reakcji na zmianę wielkości czcionki,
     brak reakcji na zmianę kolory czcionki, mały panel OK*/
   //tft.serRotation(4);prezentacja kolorów przesuwa się w lewo, brak napisów, mały panel pionowo  
   /*tft.serRotation(5,9);prezentacja kolorów przesuwa się do góry,
     brak napisów, mały panel OK*/  
   tft.fillScreen(CZERWONY);
   tft.fillScreen(ZIELONY);
   tft.fillScreen(CZARNY);
   tft.fillScreen(ROZOWY);
   tft.fillScreen(ZOLTY);
   tft.fillScreen(NIEBIESKI);
   tft.fillScreen(CYAN);//na wyświetlaczu jest OK
   delay(1000);
   
   tft.setCursor(80,100);
   tft.setTextColor(CZERWONY);//na wyswietlaczu jest czarny!!
   tft.setTextColor(4);//nie reaguje na wysokość czcionki!!
   tft.print("TEST");
   delay(1000);
   
   tft.setCursor(220,100);
   tft.setTextColor(CZERWONY);//na wyswietlaczu jest czarny!!
   tft.setTextColor(14);//nie reaguje na wysokość czcionki!!
   tft.print("PROBA");
   delay(1000);

   tft.fillRect(80,200, 320, 60, CZERWONY);//na LCD jest czerwony OK

   tft.setCursor(135,215);
   tft.setTextColor(BIALY);
   tft.setTextColor(4);//nie reaguje na wysokość czcionki!!
   tft.print("BEDZIEMY TESTOWAC");
   delay(1000);

   tft.drawRect(0, 0, 480, 320, CZERWONY);
   delay(1000);
 }

void loop()
 {
   tft.fillRect(80, 200, 320, 60, BIALY);//OK
   delay(100);
   tft.fillRect(80, 200, 320, 60, CZERWONY);//OK
   delay(100);    
   tft.fillRect(80, 200, 320, 60, CYAN);//OK
   delay(100);
   tft.fillRect(80, 200, 320, 60, ZIELONY);//OK
   delay(1000);    

       
   tft.setCursor(135,215);
   tft.setTextColor(CZERWONY);//na wyswietlaczu jest czarny!!
   tft.setTextColor(14);//nie reaguje na wysokość czcionki!!
   tft.print(" NO I TESTUJEMY");
   delay(1500);    
 }

IDE Arduino nie zgłasza problemów.
Po uruchomieniu zderzam się z problemami:
- czcionka jest wyświetlana jedynie przy ustawieniu:

tft.setRotation(3);
lub z wartością 7 czy 11
- na LCD wyświetlana jest czcionka jedynie czarna, na próbę odwrotnie zdefiniowałem kolory biały i czarny - bez zmian
- brak reakcji na wielkość czcionki,
Niestety moja wyobraźnia i/lub wiedza nie sięga tak wysoko aby rozwiązać problem.  
Bardzo proszę o pomoc w/w ..
Być może niektórzy w Was widzieli już ten wpis na elce, niestety bez echa.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości