Hello, I have a problem with the 3.2 "LCD display 320x240 TFT_320QVT_9341 with a touch panel. Today I received a package with a display and a TFT LCD shield MEGA SHIELD V2.2. The case is very simple because I downloaded the library supporting the display (UTFT) and touch (URTouch), but it turned out a bit wrong. After putting the Arduino Mega2560 on the system and uploading any example from the UTFT library, the display shows a white background and light up pale. There is no reaction on its part. When initializing the display, the function requires entering 5 parameters, Model, RS, WR, CS, RST. The last four are only the pin numbers on the Arduino that will communicate with the display. I prefer not to dwell on this because I came to the general conclusion that I have the pin numbers according to the library's recommendations all the fun and the problem begins when giving the model. As I wrote before it is ILI9431 and its support is confirmed by the code library em in the UTFT.cpp and UTFT.h files. After providing all parameters, which theoretically are all needed to run, the screen on the display is still unchanged - a pale white background. I have probably tried everything, including the fact that I changed models from the whole ILI family. I don't remember exactly where the screen started flashing black - his only reaction today. I sit on it for 5 hours and I am running out of ideas. If anyone made any layouts with this set, please help. PS The touch works without any complaints. Very rarely only the position x = -1 y = -1 crashes. However, if you turn a blind eye and look at the price and quality, the touch works sensational in my opinion. Only this display ....... I am asking for help.
his only reaction today. I sit on it for 5 hours and I am running out of ideas
I will give one - download DS and write the driver. In five hours you probably would have lit a pixel. And for how much you would learn. By copying the codes from left to right you have discovered one truth - to program uC you need to program. Copying is not enough !!!
I understand this is an idea. I don't understand just one. The UTFT library supports this display and despite so many attempts and searching for information on the internet, it failed to wake up. I have downloaded a very nice project based on this library and I really want it to work on it.
I would start by checking if the default TFT pin numbers correspond to those on the flag. Especially since Mega2560 probably has SPI pins elsewhere than UNO.
// UTFT_Demo_320x240
// Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
// web: http://www.RinkyDinkElectronics.com/
//
// This program is a demo of how to use most of the functions
// of the library with a supported display modules.
//
// This demo was made for modules with a screen resolution
// of 320x240 pixels.
//
// This program requires the UTFT library.
//
#include
// Declare which fonts we will be using
extern uint8_t SmallFont[];
// Set the pins to the correct ones for your development shield
// ------------------------------------------------------------
// Standard Arduino Mega/Due shield : ,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Due : ,25,26,27,28
// Teensy 3.x TFT Test Board : ,23,22, 3, 4
// ElecHouse TFT LCD/SD Shield for Arduino Due : ,22,23,31,33
Here are the comments from the beginning of the example from the UTFT library. When connecting the Arduino Mega and Shielda to the display, the pins should be: , 38,39,40,41.
Thank you for your help. Something with this display, however, is wrong ... I checked the pins, ok adasikp - I was, read, downloaded modified library and nothing! Pale display all the time ...
Of course with the display. But I rather suspect that with the user. I suggest you start by writing (independent without previewing on the internet) flashing LED.
Pffff ... how to say it. I will say so, I'm sorry that someone like you speaks on this topic. As the only person you have not contributed to this topic. By people like you I realize that it's not worth ... You know, I came here in the forum because I needed quick help, I just had an idea and I wanted to implement it quickly. Look at the statements of others above, can you? Well, I don't ... I have knowledge or an idea, say something that will lead me to solve the problem.
Moderated By dondu:
When asking a forum you should be aware of several things:
- by the form of the query, experienced users recognize the level of sophistication of the questioner and provide appropriate answers
- if they state that the problem is a lack of grounds, they will inevitably indicate it, because there is nothing worse than to discourage the asking person from a too complicated project,
- show materials for analysis that your colleague did not attach.
As the only person you have not contributed to this topic. By people like you I realize that it's not worth ...
You have indeed made significant progress. He is pale all the time. You're right, it's not worth it. And you know why - because you don't want to get this knowledge. I gave you the method - the only right, positive and effective - documentation and work, but I see that it is unfortunately not for you.
Okay, maybe I have misrepresented my problem. I have been creating projects for Arduino for 3 years (true - I copy some of the interesting ones found). I am neither an electronics engineer nor a programmer. I bought the display I wrote about earlier (TFT 3.2 "with touch panel on the ILI9341 chip). As I mentioned earlier, I additionally bought a shield dedicated for the display - for convenience because I do not need any additional logic converters or even cables. Shield is prepared for connecting under the Arduino Mega 2560 board. The whole after assembly, without downloading the code to operate the display activates the backlight under the display which gives the impression of a white pale background. Searching for information about the LCD and the system that is to handle it, I came to the UTFT and URTouch library - for touch The library documentation confirmed the information found (the layout from my display is on the list of supported controllers) The case looks trivial I put the code as an example from the "touch calibration" demo from the URTouch library: [syntax=c]
// URTouch_Calibration
// Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
// web: http://www.RinkyDinkElectronics.com/ //
// This program can be used to calibrate the touchscreen
// of the display modules.
// This program requires the UTFT library and a touch
// screen module that is compatible with UTFT.
//
// It is assumed that the display module is connected to an
// appropriate shield or that you know how to change the pin
// numbers in the setup.
//
// Instructions will be given on the display.
//
#include
#include
// Define the orientation of the touch screen. Further
// information can be found in the instructions.
#define TOUCH_ORIENTATION PORTRAIT
// Initialize display
// ------------------
// Set the pins to the correct ones for your development board
// -----------------------------------------------------------
// Standard Arduino Uno/2009 Shield : ,19,18,17,16
// Standard Arduino Mega/Due shield : ,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Due : ,25,26,27,28
// Teensy 3.x TFT Test Board : ,23,22, 3, 4
// ElecHouse TFT LCD/SD Shield for Arduino Due : ,22,23,31,33
//
// Remember to change the model parameter to suit your display module!
UTFT myGLCD(ITDB32S,38,39,40,41);
// Initialize touchscreen
// ----------------------
// Set the pins to the correct ones for your development board
// -----------------------------------------------------------
// Standard Arduino Uno/2009 Shield : 15,10,14, 9, 8
// Standard Arduino Mega/Due shield : 6, 5, 4, 3, 2
// CTE TFT LCD/SD Shield for Arduino Due : 6, 5, 4, 3, 2
// Teensy 3.x TFT Test Board : 26,31,27,28,29
// ElecHouse TFT LCD/SD Shield for Arduino Due : 25,26,27,29,30
//
URTouch myTouch( 6, 5, 4, 3, 2);
// ************************************
// DO NOT EDIT ANYTHING BELOW THIS LINE
// ************************************
// Declare which fonts we will be using
extern uint8_t SmallFont[];
if (dispx==220)
{
myGLCD.print("Use a stylus or something", LEFT, 30);
myGLCD.print("similar to touch as close", LEFT, 42);
myGLCD.print("to the center of the", LEFT, 54);
myGLCD.print("highlighted crosshair as", LEFT, 66);
myGLCD.print("possible. Keep as still as", LEFT, 78);
myGLCD.print("possible and keep holding", LEFT, 90);
myGLCD.print("until the highlight is", LEFT, 102);
myGLCD.print("removed. Repeat for all", LEFT, 114);
myGLCD.print("crosshairs in sequence.", LEFT, 126);
myGLCD.print("Touch screen to continue", CENTER, 162);
}
else
{
myGLCD.print("INSTRUCTIONS", CENTER, 30);
myGLCD.print("Use a stylus or something similar to", LEFT, 50);
myGLCD.print("touch as close to the center of the", LEFT, 62);
myGLCD.print("highlighted crosshair as possible. Keep", LEFT, 74);
myGLCD.print("as still as possible and keep holding", LEFT, 86);
myGLCD.print("until the highlight is removed. Repeat", LEFT, 98);
myGLCD.print("for all crosshairs in sequence.", LEFT, 110);
myGLCD.print("Further instructions will be displayed", LEFT, 134);
myGLCD.print("when the calibration is complete.", LEFT, 146);
myGLCD.print("Do NOT use your finger as a calibration", LEFT, 170);
myGLCD.print("stylus or the result WILL BE imprecise.", LEFT, 182);
myGLCD.print("Touch screen to continue", CENTER, 226);
}
myGLCD.print("Unable to read the position", LEFT, 30);
myGLCD.print("of the press. This is a", LEFT, 42);
myGLCD.print("hardware issue and can", 88, 54);
myGLCD.print("not be corrected in", LEFT, 66);
myGLCD.print("software.", LEFT, 78);
Do you have a 5V to 3.3V converter? Try connecting the display without a shield. A white screen means that the display is not working at all. You do not have to connect the touch, only the SPI interface of the display, the reset can be permanently up to 3.3V, if the display is the only device on the SPI then the CS can also be permanently active.
No. Unfortunately I don't have a converter. I will probably have to buy to diagnose whether the display itself works. I am a bit afraid to ask if the properly selected resistors can replace the converter for the time of diagnosis?
I already wrote you, download datasheet https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf. Guess that ..._ COM is to send the command and ..._ DATA of data for the command and then you will understand what these functions do. You'll also learn something by the way.
I don't know if it will help ... My TFT purchased from the Chinese was also to be ILI9341 but it turned out differently ... With the help of the future library: SPFD5408
One more hint:
In the examples of this library (SPFD5408) you have: "SPFD5408_tftbmp"
Where does the function describe how to check what chip you actually have.
Hello, what voltage do you supply the display with, from two purchased units none of them started with 5v (despite the Chinese wrote that 3.3 / 5v power supply), white screen, 3.3v power supply from pina arduino helped http: //sp7pki.iq24 .com / podglad_posta.asp? id_komentarza = 2407441
For me, the problem with the white display continued until I connected it through a logic level converter. It turned out that the soft on the Arduino to operate the display was good and calmly would have handled it were it not for the defective shield, which was sending the signal from one input (on the shield) to several outputs (from the shield). On the converter or the newly purchased shieldzie it is nice but what I experienced with him was mine, just like everything I learned about him and his controls in any case, thanks to everyone who participated in the discussion and helped revive the "pale" corpse
The discussion revolves around troubleshooting a 3.2" TFT display (model ILI9341) connected to an Arduino Mega 2560, which is showing a persistent white screen. The user has attempted to use the UTFT and URTouch libraries but has encountered issues with display initialization. Suggestions include verifying pin connections, checking voltage levels (noting that the display may require 3.3V instead of 5V), and using a logic level converter for proper communication. Some users recommend consulting the display's datasheet and exploring alternative libraries if the display is not functioning as expected. Ultimately, the user resolved the issue by using a logic level converter, indicating that the original shield was defective. Summary generated by the language model.