Hi,
I bought an 2.2" TFT LCD Screnn and it seem not working, I just see a white screen
I looked in the previous topics but there is no topic for 2.2" screen from what I saw.
The Screen I bought : Aliexpress 2.2 TFT screen
Specifications of the screen :
Driver : ILI9341
Dots : 240*320
Touch : No
I plugged it in and I try the program 'graphictest' from the Adafruit ILI9341 libray and it dosen't worked (a white screnn).
Here the result :
ILI9341 Test!
Display Power Mode: 0x94
MADCTL Mode: 0x48
Pixel Format: 0x5
Image Format: 0x80
Self Diagnostic: 0xC0
Benchmark Time (microseconds)
Screen fill 1496880
Text 175024
Lines 1435600
Horiz/Vert Lines 127040
Rectangles (outline) 83796
Rectangles (filled) 3107180
Circles (filled) 498792
Circles (outline) 613892
Triangles (outline) 316492
Triangles (filled) 1358176
Rounded rects (outline) 242992
Rounded rects (filled) 3134812
Done!
I tried the MCUFRIEND_kbv diagnosise_TFT_support but it does'nt worked (because it is a 2.2" screnn I think)
Diagnose whether this controller is supported
There are FAQs in extras/mcufriend_how_to.txt
tft.readID() finds: ID = 0xD3D3
MCUFRIEND_kbv version: 2.9.9
Probably a write-only Mega2560 Shield
Try to force ID = 0x9481
PORTRAIT is 320 x 480
Run the examples/graphictest_kbv sketch
All colours, text, directions, rotations, scrolls
should work. If there is a problem, make notes on paper
Post accurate description of problem to Forum
Or post a link to a video (or photos)
I rely on good information from remote users
I don't know if someone have a solution to my problem ?
Thanks
MCUFRIEND_kbv is not for SPI displays. It is designed for Mcufriend Uno Shields with 8080-8 parallel interface,
Your Red SPI display requires 3.3V logic. (Just like all the other Red SPI ILI9341 boards)
What Arduino are you using?
What level-shifters are you using?
The Red SPI displays need to use the RST argument in the Adafruit_ILI9341 constructor.
David.
Hello,
I use the Arduino Uno compatible (Geekkcreit version).
Pins are :
#define TFT_CS 10
#define TFT_DC 9
#define TFT_MOSI 11
#define TFT_CLK 13
#define TFT_RST 8
#define TFT_MISO 12
Vcc and LED > Arduino 3.3Volts
GND -> Arduino GND
And I use the constructor
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);
My screen is again white, and times displayed in the program 'graphictest' are longer
ILI9341 Test!
Display Power Mode: 0x94
MADCTL Mode: 0x48
Pixel Format: 0x5
Image Format: 0x80
Self Diagnostic: 0xC0
Benchmark Time (microseconds)
Screen fill 28742796
Text 1475692
Lines 13813088
Horiz/Vert Lines 2340736
Rectangles (outline) 1488324
Rectangles (filled) 58481868
Circles (filled) 6754480
Circles (outline) 6019376
Triangles (outline) 3142880
Triangles (filled) 19593464
Rounded rects (outline) 2865616
Rounded rects (filled) 59300360
Done!
Thanks
I use the Arduino Uno compatible (Geekkcreit version).
Please post a link to the actual board that you bought. e.g. Ebay sale page.
What level-shifters are you using?
Please show schematic or describe in text. a pencil drawing is fine.
David.
david_prentice:
Please post a link to the actual board that you bought. e.g. Ebay sale page.
THe arduino Uno in this Kit
david_prentice:
Please show schematic or describe in text. a pencil drawing is fine.
In the attachement
Thanks for the link.
Thanks for the wiring diagram.
The Uno clone in your kit has 5V logic levels.
You need to convert these 5V signals to safe 3.3V levels for the ILI9341 to work.
The kit provides some 1k0 and some 10k resistors.
You can make a "level shifter" with two resistors as a "potential divider". e.g. 4k7 and 10k will reduce the 5V to 3.3V
Unfortunately the kit does not have any 4k7.
So you can use 10k as "series" resistor. This does not divide the voltage but it makes the high 5V voltage safe. (it limits the current through the ILI9341 substrate diodes)
The easiest way to connect is to plug the display into breadboard "a" column.
And put a 10k resistors from "d" to "g" column for each signal.
And connect to the Uno via the "i" column (like your picture)
If you own some "other" resistors, please say.
David.
Hi,
I have 4K7ohm resistors, so I built potential divider for each signals and that doesn't works (screen again white) 
The new circuit is in attachment.
Maybye the screen is broken ? How can I know ?
Thanks a lot for helping me
Oops. I see that the Display is plugged into column "j" but the header on the display has 2.54mm spacing and your CS, RST, ... seem to be at 5.08mm spacing on the breadboard.
There are too many things to go wrong when pins don't line up.
Your picture "looks" ok but I would be much happier with display pins directly into the breadboard. i.e. with GND, 10k, display pin, 4k7, external Uno wire all on the same row.
There must be loads of Fritzing diagrams for these Red SPI displays.
David.
I understand that the schematic is not very understandable but, in reality, I plug differently pins.
And Pluging all on the same row in difficult/impossible because the screen takes some place.
In reality, I plug all on in the same row, just the 4.7k resistors are places horizontaly (you can see the attachement).
Thanks
Okkay, I am Stupid, I forgot to add the reset cable from Pin 8 to RST Pin.
It works now !!! Thanks
For futures readers :
The soluce was to add potentials dividers to have 3.3Volt Logic
Thanks a lot David !
First job. Buy some sidecutters. Trim resistor leads neatly for breadboard.
Place the 10k between GND rail and "j". display pin on column "h". 4k7 from "f" to "d". Uno wire to "a".
Insert the resistors first. (10k neatly trimmed). Then the display will plug into column "h" nicely.
You don't need a 10k for the MISO line. The 4k7 series does no harm but 0R would be ok.
Now that you have the software constructor working, try the hardware constructor. It will be faster.
Buy some spare resistors. And some 100nF capacitors. Everything is cheap on Ebay.
Personally, I buy the OPEN-SMART Uno clones. These have switchable 3.3V GPIO logic and holes for extra header pins.
David.