Go Down

Topic: TFT display based on ILI9486 +UNO+ Adafruit library,can't showing response . (Read 127 times) previous topic - next topic

kolhapurkar

 I interfaced  Ardunio uno with TFT display  ILI9486 using shield to show text on it.and i uploded the program for sample ,but it showing white screen after uplode program.is there any issue with driver of ILI9486 OR any kind.....

my sample program is like these.



Code: [Select]



#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_TFTLCD.h> // Hardware-specific library


#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0

#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin


#define  BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF

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


void setup(void) {
  Serial.begin(9600);
  Serial.println(F("TFT LCD test"));

#ifdef USE_ADAFRUIT_SHIELD_PINOUT
  Serial.println(F("Using Adafruit 2.4\" TFT Arduino Shield Pinout"));
#else
  Serial.println(F("Using Adafruit 2.4\" TFT Breakout Board Pinout"));
#endif

  Serial.print("TFT size is "); Serial.print(tft.width()); Serial.print("x"); Serial.println(tft.height());

  tft.reset();

  uint16_t identifier = tft.readID();
  if(identifier==0x0101)
      identifier=0x9341;
 
   if(identifier == 0x9325) {
    Serial.println(F("Found ILI9325 LCD driver"));
  } else if(identifier == 0x4535) {
    Serial.println(F("Found LGDP4535 LCD driver"));
  }else if(identifier == 0x9328) {
    Serial.println(F("Found ILI9328 LCD driver"));
  } else if(identifier == 0x7575) {
    Serial.println(F("Found HX8347G LCD driver"));
  } else if(identifier == 0x9341) {
    Serial.println(F("Found ILI9341 LCD driver"));
 } else if(identifier == 0x8357) {
   Serial.println(F("Found HX8357D LCD driver"));
  } else if(identifier == 0x9481) {
   Serial.println(F("Found ILI9481 LCD driver"));
  }
  else {
    Serial.print(F("Unknown LCD driver chip: "));
    Serial.println(identifier, HEX);
    Serial.println(F("If using the Adafruit 2.4\" TFT Arduino shield, the line:"));
    Serial.println(F("  #define USE_ADAFRUIT_SHIELD_PINOUT"));
    Serial.println(F("should appear in the library header (Adafruit_TFT.h)."));
    Serial.println(F("If using the breakout board, it should NOT be #defined!"));
    Serial.println(F("Also if using the breakout, double-check that all wiring"));
    Serial.println(F("matches the tutorial."));
    //return;
  }

  tft.begin(identifier);
 
 
}

void loop(void) {
   tft.fillScreen(BLACK);
  unsigned long start = micros();
  tft.setCursor(0, 0);
 
  tft.setTextColor(RED);  tft.setTextSize(1);
  tft.println("Hello World!");
  tft.println(01234.56789);
  tft.println(0xDEADBEEF, HEX);
  tft.println();
  tft.println();

  tft.setTextColor(GREEN);
  tft.setTextSize(2);
  tft.println("Hello World!");
  tft.println(01234.56789);
  tft.println(0xDEADBEEF, HEX);
  tft.println();
  tft.println();
 
  tft.setTextColor(BLUE);    tft.setTextSize(3);
  tft.println("si vaahaka");
  tft.println(01234.56789);
  tft.println(0xDEADBEEF, HEX);
 
  tft.setTextColor(WHITE);    tft.setTextSize(4);
  tft.println("Hello!");
  tft.setTextColor(YELLOW);    tft.setTextSize(5);
  tft.println("Hello!");
  tft.setTextColor(RED);    tft.setTextSize(6);
  tft.println("Hello!");
  tft.println();
  tft.println();

  delay(1000);delay(1000);delay(1000);delay(1000);delay(1000);
}










david_prentice

Install MCUFRIEND_kbv library and Adafruit_GFX libraries via the Library Manager.

Always look on the Serial Terminal.   Most examples will report some information.
You can  copy-paste from the Terminal to your Forum message.

David.

kolhapurkar


Thanks david bro, for suggestion...

But it have not still worked.
I installed the libray of MCUFRIEND_kbv library and Adafruit_GFX  via the Library Manager,but the problem remains same ,even it is compile and uplode very well but still screen display the White screen.....




#include <MCUFRIEND_kbv.h>
#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_TFTLCD.h> // Hardware-specific library


#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0

#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin


#define  BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF

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


void setup(void) {
  Serial.begin(9600);
  Serial.println(F("TFT LCD test"));

#ifdef USE_ADAFRUIT_SHIELD_PINOUT
  Serial.println(F("Using Adafruit 2.4\" TFT Arduino Shield Pinout"));
#else
  Serial.println(F("Using Adafruit 2.4\" TFT Breakout Board Pinout"));
#endif

  Serial.print("TFT size is "); Serial.print(tft.width()); Serial.print("x"); Serial.println(tft.height());

  tft.reset();

  uint16_t identifier = tft.readID();
  if(identifier==0x0101)
      identifier=0x9341;
 
   if(identifier == 0x9325) {
    Serial.println(F("Found ILI9325 LCD driver"));
  } else if(identifier == 0x4535) {
    Serial.println(F("Found LGDP4535 LCD driver"));
  }else if(identifier == 0x9328) {
    Serial.println(F("Found ILI9328 LCD driver"));
  } else if(identifier == 0x7575) {
    Serial.println(F("Found HX8347G LCD driver"));
  } else if(identifier == 0x9341) {
    Serial.println(F("Found ILI9341 LCD driver"));
 } else if(identifier == 0x8357) {
   Serial.println(F("Found HX8357D LCD driver"));
  } else if(identifier == 0x9481) {
   Serial.println(F("Found ILI9481 LCD driver"));
  }
  else {
    Serial.print(F("Unknown LCD driver chip: "));
    Serial.println(identifier, HEX);
    Serial.println(F("If using the Adafruit 2.4\" TFT Arduino shield, the line:"));
    Serial.println(F("  #define USE_ADAFRUIT_SHIELD_PINOUT"));
    Serial.println(F("should appear in the library header (Adafruit_TFT.h)."));
    Serial.println(F("If using the breakout board, it should NOT be #defined!"));
    Serial.println(F("Also if using the breakout, double-check that all wiring"));
    Serial.println(F("matches the tutorial."));
    //return;
  }

  tft.begin(identifier);
 
 
}

void loop(void) {
   tft.fillScreen(BLACK);
  unsigned long start = micros();
  tft.setCursor(0, 0);
 
  tft.setTextColor(RED);  tft.setTextSize(1);
  tft.println("Hello World!");
  tft.println(01234.56789);
  tft.println(0xDEADBEEF, HEX);
  tft.println();
  tft.println();

  tft.setTextColor(GREEN);
  tft.setTextSize(2);
  tft.println("Hello World!");
  tft.println(01234.56789);
  tft.println(0xDEADBEEF, HEX);
  tft.println();
  tft.println();
 
  tft.setTextColor(BLUE);    tft.setTextSize(3);
  tft.println("si vaahaka");
  tft.println(01234.56789);
  tft.println(0xDEADBEEF, HEX);
 
  tft.setTextColor(WHITE);    tft.setTextSize(4);
  tft.println("Hello!");
  tft.setTextColor(YELLOW);    tft.setTextSize(5);
  tft.println("Hello!");
  tft.setTextColor(RED);    tft.setTextSize(6);
  tft.println("Hello!");
  tft.println();
  tft.println();

  delay(1000);delay(1000);delay(1000);delay(1000);delay(1000);
}









david_prentice

Install the library.   Run the examples that come with the MCUFRIEND_kbv library.

Of course your program will not work.  You are using a constructor from the Adafruit_TFTLCD library.
The Adafruit_TFTLCD library does not even support ILI9486.   And it would have told you on the Serial Terminal.

David.

kolhapurkar

Thanks david bro..
 I installed the mcufriend_kbv  library from arduino library manager and I got few examples related to library.and finally it works  .....

thanks one more time

now I can use the mcufriend library with TFT display

but i have one querry about the program that

is it possible to make every program compatible  with different standard libray and will the library support ?


david_prentice

Most TFT libraries use the Adafruit_GFX methods.   So you can adapt many programs by just changing the constructor and include.

All Adafruit_TFTLCD examples should work with MCUFRIEND_kbv
Your problem is that Adafruit_TFTLCD has never supported ILI9486

Even programs written for ST7735 or SPI interface ILI9341 need little attention e.g. slight differences for init/begin and for pushColor/pushColors

UTFT programs have VERY different graphics methods.    The UTFTGLUE class can help  with legacy UTFT but I would always use GFX methods in  a new project.

David.

Go Up