3.2 tft lcd touch screen free sample
In this Arduino touch screen tutorial we will learn how to use TFT LCD Touch Screen with Arduino. You can watch the following video or read the written tutorial below.
For this tutorial I composed three examples. The first example is distance measurement using ultrasonic sensor. The output from the sensor, or the distance is printed on the screen and using the touch screen we can select the units, either centimeters or inches.
The third example is a game. Actually it’s a replica of the popular Flappy Bird game for smartphones. We can play the game using the push button or even using the touch screen itself.
As an example I am using a 3.2” TFT Touch Screen in a combination with a TFT LCD Arduino Mega Shield. We need a shield because the TFT Touch screen works at 3.3V and the Arduino Mega outputs are 5 V. For the first example I have the HC-SR04 ultrasonic sensor, then for the second example an RGB LED with three resistors and a push button for the game example. Also I had to make a custom made pin header like this, by soldering pin headers and bend on of them so I could insert them in between the Arduino Board and the TFT Shield.
Here’s the circuit schematic. We will use the GND pin, the digital pins from 8 to 13, as well as the pin number 14. As the 5V pins are already used by the TFT Screen I will use the pin number 13 as VCC, by setting it right away high in the setup section of code.
I will use the UTFT and URTouch libraries made by Henning Karlsen. Here I would like to say thanks to him for the incredible work he has done. The libraries enable really easy use of the TFT Screens, and they work with many different TFT screens sizes, shields and controllers. You can download these libraries from his website, RinkyDinkElectronics.com and also find a lot of demo examples and detailed documentation of how to use them.
After we include the libraries we need to create UTFT and URTouch objects. The parameters of these objects depends on the model of the TFT Screen and Shield and these details can be also found in the documentation of the libraries.
Next we need to define the fonts that are coming with the libraries and also define some variables needed for the program. In the setup section we need to initiate the screen and the touch, define the pin modes for the connected sensor, the led and the button, and initially call the drawHomeSreen() custom function, which will draw the home screen of the program.
So now I will explain how we can make the home screen of the program. With the setBackColor() function we need to set the background color of the text, black one in our case. Then we need to set the color to white, set the big font and using the print() function, we will print the string “Arduino TFT Tutorial” at the center of the screen and 10 pixels down the Y – Axis of the screen. Next we will set the color to red and draw the red line below the text. After that we need to set the color back to white, and print the two other strings, “by HowToMechatronics.com” using the small font and “Select Example” using the big font.
Now we need to make the buttons functional so that when we press them they would send us to the appropriate example. In the setup section we set the character ‘0’ to the currentPage variable, which will indicate that we are at the home screen. So if that’s true, and if we press on the screen this if statement would become true and using these lines here we will get the X and Y coordinates where the screen has been pressed. If that’s the area that covers the first button we will call the drawDistanceSensor() custom function which will activate the distance sensor example. Also we will set the character ‘1’ to the variable currentPage which will indicate that we are at the first example. The drawFrame() custom function is used for highlighting the button when it’s pressed. The same procedure goes for the two other buttons.
So the drawDistanceSensor() custom function needs to be called only once when the button is pressed in order to draw all the graphics of this example in similar way as we described for the home screen. However, the getDistance() custom function needs to be called repeatedly in order to print the latest results of the distance measured by the sensor.
Ok next is the RGB LED Control example. If we press the second button, the drawLedControl() custom function will be called only once for drawing the graphic of that example and the setLedColor() custom function will be repeatedly called. In this function we use the touch screen to set the values of the 3 sliders from 0 to 255. With the if statements we confine the area of each slider and get the X value of the slider. So the values of the X coordinate of each slider are from 38 to 310 pixels and we need to map these values into values from 0 to 255 which will be used as a PWM signal for lighting up the LED. If you need more details how the RGB LED works you can check my particular tutorialfor that. The rest of the code in this custom function is for drawing the sliders. Back in the loop section we only have the back button which also turns off the LED when pressed.
3.2-inch TFT Color LCD Module is a TFT LCD Screen Module, 40pins interface, not just a LCD break but include the Touch, SD card and Flash design. So it’s a powerful extension module for your project.
The LCD is 32044PA. It’s a 262K color, 400*240 (resolution), 3.2 inch Widescreen (16:9) TFT LCD screen.The LCD has a wide viewing angle, the contrast is also very suitable.
TFT 3.2" 400*240 With SD Touch Module is designed with a touch controller in it . The touch IC is XPT2046/HR2046, and touch interface is included in the 40 pins breakout.
TFT 3.2" 400*240 With SD Touch Module layout a 40 pins interface for your project, the interface include TFT pins、SD card pins、Touch screen pins and the Flash pins.
Resolution: 240(RGB) x 400Interface: CPU 18 bits/16 bits/8 bitsColor Depth: 262K/65KTechnology Type: a-SiPixel Pitch (mm): 0.174X0.174Pixel Configuration: R.G.B. Vertical StripeDisplay Mode: TM with Normally WhiteSurface Treatment(Up Polarizer): Clear Type(3H)Viewing Direction: 6 o’clockGray Scale Inversion Direction: 12 o’clockLCM (W x H x D) (mm): 47.60x80.90x2.6Active Area(mm): 41.76x69.60With /Without TSP: Without TSPWeight (g): TBDLED Numbers: 4 LEDsDriver IC: HX8352-AElectrical Characteristics
The pins named with “D/T_” are the Touch IC output pins; the pins named with “SD_” are SD pins; the pins named with “F_” are the SST25VF016B Flash IC pins; others are TFT pins.
It is compatible with 3.3/5V operation voltage level. TFT power is 2.8~3.3V and the module with PCB have 3V Regulated IC, so it can input 5V, but the data pins can not be more than 3.3V.
Spice up your Arduino project with a beautiful large touchscreen display shield with built in microSD card connection. This TFT display is big 4"(3.97" diagonal) bright (6 white-LED backlight) and colorful (18-bit 262,000 different shades)! 480x800 pixels with individual pixel control. As a bonus, this display has a optional resistive touch panel with controller XPT2046 and capacitive touch panel with FT6336.
Of course, we wouldn"t just leave you with a datasheet and a "good luck!" - we"ve written a full open source graphics library at the bottom of this page that can draw pixels, lines, rectangles, circles and text. We also have a touch screen library that detects x,y and z (pressure) and example code to demonstrate all of it. The code is written for Arduino but can be easily ported to your favorite microcontroller!
Spice up your Arduino project with a beautiful large touchscreen display shield with built in microSD card connection. This TFT display is big (3.2" diagonal) bright (5 white-LED backlight) and colorful (18-bit 262,000 different shades)! 240x320 pixels with individual pixel control. As a bonus, this display has a optional resistive touch panel with controller XPT2046 attached by default and a optional capacitive touch panel with controller FT6206 attached by default, so you can detect finger presses anywhere on the screen and doesn"t require pressing down on the screen with a stylus and has nice glossy glass cover.
Of course, we wouldn"t just leave you with a datasheet and a "good luck!" - we"ve written a full open source graphics library at the bottom of this page that can draw pixels, lines, rectangles, circles and text. We also have a touch screen library that detects x,y and z (pressure) and example code to demonstrate all of it. The code is written for Arduino but can be easily ported to your favorite microcontroller!
HY-TFT320 is a 3.2 inch TFT LCD Screen module, 320*240 (resolution), 65K color, 34pins interface , not just a LCD breakout, but include the Touch screen, SD card. So it’s a powerful extension module for your project.
This Screen includes a controller SSD1289, it’s 16bit data interface, easy to drive by many MCU like STM32 ,AVR and 8051.HY-TFT320 is designed with a touch controller in it . The touch IC is XPT2046 , and touch interface is included in the 34 pins breakout. Another useful extension in this module is the SD Card socket . It use the SPI mode to operate the SD card, the SPI interface include in the 40pins breakout.
The UTFT library is required to be installed to get this screen model display. This library is especially designed for 3.2” TFT LCD screen using 16 bit mode. The library require the following connections.
Note: The TFT controller model needs to be declared in the initializing statement. ITDB02 myGLCD(38,39,40,41) needs to be modified as myGLCD(38,39,40,41,ITDB32S) when using Arduino Mega2560.ITDB02 myGLCD(19,18,17,16,ITDB32S) needs to be commented when using Aduino UNO. Otherwise it just show a blank screen. In practice, RS, WR, CS, RSET can be connected to any free pin. But the pin number must be in accord with myGLCD(RS,WR,CS,RST).
The LCD has a 3.2" 4-wire resistive touch screen lying over it. The Touch libraryneeds to be installed to get it works. This library is designed for 2.4’’ TFT, 3.2” TFT LCD screen module.
Note:TCLK, TCS, TDIN, TDOUT, IRQ also can be connected to any free pin. But the pin number must be in accord with the touch screen initializing statement myTouch(DCLK,CS,IN,OUT,IRQ).
The default setting is accurate for 2.4” TFT module, but you need to calibrate when using 3.2” TFT module. A program to calibrate the touch screen is included in the example. If you touch screen is inaccurate, you need to run touch_calibration. Follow the on-screen instruction to calibrate the touch screen. Better not use your finger to calibrate it, use your accessory touch pen to pressure the frontsight with stength. Then record the calibration parameters and apply them in ITDB02_Touch.cpp in your touch screen library.
SainSmart 3.2" TFT LCD Display is a LCD touch screen module. It has 40pins interface and SD card and Flash reader design. It is a powerful and mutilfunctional module for your project.The Screen include a controller SSD1289, it"s a support 8/16bit data interface , easy to drive by many MCU like STM32 ,AVR and 8051. It is designed with a touch controller in it . The touch IC is ADS7843 , and touch interface is included in the 40 pins breakout. It is the version of product only with touch screen and touch controller.
2.Put the SD libraries(ITDB02_Graph16、ITDB02_tinyFAT16 and tinyFAT) into the folder arduino-0023/libraries ,then upload the ino File/Examples/ITDB02_tinyFAT16/_240x320_Portrait.After reset, you can see the image in screen.
As an option, you can order this TFT pre-assembled onto a breakout/carrier board. The board allows easy prototyping through its 0.1" headers. You can also include the carrier board in your end product to simplify construction and assembly. The carrier board contains a constant-current switching LED driver. The PCB is sized to fit neatly within the outline of the display, with a total weight of 51 grams.
This kit consists of a CFAF240320B1-032T-TS TFT LCD module mounted on a carrier board. The carrier board supports a current driver for the LED backlight of the display. It is available under Additional Options on the website page for CFAF240320B1-032T-TS.
Focus Displays offers a wide range of standard full color TFT displays. 64 million unique colors, high brightness, sharp contrast, -30C operating temperature, and fast response time are all good descriptions of a TFT display. This is why TFT technology is one of the most popular choices for a new product.
Thin Film Transistor (TFT) display technology can be seen in products such as laptop computers, cell phones, tablets, digital cameras, and many other products that require color. TFT’s are active matrix displays which offers exceptional viewing experiences especially when compared to other passive matrix technologies. The clarity on TFT displays is outstanding; and they possess a longer half-life than some types of OLEDs and range in sizes from less than an inch to over 15 inches.
CCFL’s are still available, but are becoming a legacy (obsolete) component. TFT displays equipped with a CCFL require higher MOQs (Minimum Order Quantities) than displays with LED backlights.
The majority of TFT displays contain a touch panel, or touch screen. The touch panel is a touch-sensitive transparent overlay mounted on the front of the display glass. Allowing for interaction between the user and the LCD display.
Some touch panels require an independent driver IC; which can be included in the TFT display module or placed on the customer’s Printed Circuit Board (PCB). Touch screens make use of coordinate systems to locate where the user touched the screen.
Resistive touch panels are the lowest cost option and are standard equipment on many TFT modules. They are more common on smaller TFT displays, but can still be incorporated on larger modules.
Resistive touch panels are constructed using flexible materials with an air gap between and are coated with a resistive layer. When an object applies pressure to the top layer, it makes contact with microdots located on the bottom layer. This allows the touch screen to find the location of the touch using X and Y coordinates.
Custom resistive touch screens are an option if the customer requires a seal or gasket to be in contact with the glass and not in contact with the touch panel.
Resistive touch panels allow a single touch, although advances in new resistive technology will allow multi-touch operation in the near future. One main advantage of a resistive touch screen is the ability to be activated by the touch of any material. This includes a range of items from a bare finger, to a pencil, to even the edge of a credit card; regardless of its composition.
Capacitive touch panels have become popular with such software as Windows 8®, Android® and Apple®. Additionally it is used in products such as cell phones and tablets, where multi-touch and zoom capabilities are important.
Current capacitive touch technology is limited to a conductive stylus such as a finger. The touch screen operates on capacitive sensing, based on capacitive coupling. A capacitive touch screen detects any material that is conductive or has a different dielectric then the air around it.
Contrast ratio, or static contrast ratio, is one way to measure the sharpness of the TFT LCD display. This ratio is the difference between the darkest black and the brightest white the display is able to produce. The higher the number on the left, the sharper the image. A typical contrast ratio for TFT may be 300:1. This number ratio means that the white is 300 times brighter than the black.
TFT LCD displays are measured in inches; this is the measurement of the diagonal distance across the glass. Common TFT sizes include: 1.77”, 2.4”, 2.8”, 3”, 4.3”, 5”, 5.7”, 5.8”, 7”, 10.2”, 12.1 and 15”.
TFT resolution is the number of dots or pixels the display contains. It is measured by the number of dots along the horizontal (X axis) and the dots along the vertical (Y axis).
Certain combinations of width and height are standardized and typically given a name and a letter representation that is descriptive of its dimensions. Popular names given to the TFT LCD displays resolution include:
Transmissive displays must have the backlight on at all times to read the display, but are not the best option in direct sunlight unless the backlight is 750 Nits or higher. A majority of TFT displays are Transmissive, but they will require more power to operate with a brighter backlight.
A primary job of the driver is to refresh each pixel. In passive TFT displays, the pixel is refreshed and then allowed to slowly fade (aka decay) until refreshed again. The higher the refresh frequency, the sharper the displays contrast.
The TFT display (minus touch screen/backlight) alone will contain one controller/driver combination. These are built into the display so the design engineer does not need to locate the correct hardware.
If you do not see a Thin Film Transistor (TFT) Display module that meets your specifications, or you need a replacement TFT, we can build a custom TFT displays to meet your requirements. Custom TFTs require a one-time tooling fee and may require higher MOQs.
Ready to order samples for your TFT design? Contact one of our US-based technical support people today concerning your design requirements. Note: We can provide smaller quantities for samples and prototyping.
Established in 2010, Topfoison has devoted itself to the manufacturing and development of high-quality products for the Wearable device, Smart Watch, VR, Medical device, Industrial LCD display including Color LCD modules/OLED/LCD display/Round lcd screen/Round AMOLED/ Square transflective lcd screen/ IPS full wide display/ 1080p fhd AMOLED and 2K 1440p lcd. Topfoison focus on1.22-7.0 inch small size displays, all the products produced in our company enjoys the most advanced production craft and technology as well as the strictly ISO quality management system.
Established in 2010, Topfoison has devoted itself to the manufacturing and development of high-quality products for the Wearable device, Smart Watch, VR, Medical device, Industrial LCD display including Color LCD modules/OLED/LCD display/Round lcd screen/Round AMOLED/ Square transflective lcd screen/ IPS full wide display/ 1080p fhd AMOLED and 2K 1440p lcd. Topfoison focus on1.22-7.0 inch small size displays, all the products produced in our company enjoys the most advanced production craft and technology as well as the strictly ISO quality management system.
I purchased this LCD Touch along with the TFT LCD Mega Shield 2.2 shield for the Arduino Mega also from Amazon. It was easy to figure out getting the UFTF library from Rinky Dink Electronics to work. I used "UTFT myGLCD(CTE32_R2,38,39,40,41);" or "UTFT myGLCD(ILI9341_16,38,39,40,41);" and they both worked. I had a very hard time getting the actual touch function to work. The default of "URTouch myTouch(6, 5, 4, 3, 2);" for the touch library is correct on the Mega. It turned out to be a connection issue. I just reseated the board a couple of times and it worked. I recommend testing this LCD with the examples from the URTouch library. The online examples are too complicated and have too many dependencies to break. Get the basic screen and touch working first. Don"t forget to debounce the touch with a short delay. This screen is touchy which makes it fast to enter numbers for me. It worked just powered from my PC with a USB cable to the Arduino Mega. Very Easy.