176 x 220 RGB Pixels 2" TFT LCD for Microcontrollers

176 x 220 RGB Pixels 2
Stock Number: 35627 MP
 Review Average:  
 Number of Reviews: 4
 View ReviewsReview this item

Availibilty: In Stock   Units: 12

     Email this to a friend     

Detailed Description

View PDF Data Sheet

View PDF Data Sheet

View PDF Data Sheet

2" TFT LCD Graphics Module for Micro-controllers.
Uses ILI9225 IC with SPI serial interface
Compatible with 51/ARM/Arduino/ Raspberry-Pi.
Can be plugged into Arduino Mega2560 or Uno R3
directly without wire connections. On-board voltage regulator.
Integrated backlight circuit which controls the
backlight and can use the PMW of the arduino to adjust the
backlight brightness.
On-board mini SD card expansion connector.
Power: +3.3/5 VDC (On-Board Regulator)
Display Type: 2.0 “TFT”
Resolution: 176 x 220 RGB pixels
Display mode: Transmissive
Backlight: White LED
Viewing Angle: 12 O’clock
Operating Temp: -20 ° C ~ + 70 ° C
Storage Temp: -30 ° C ~ + 80 ° C
Outline Dimensions: 37.68 * 51.3 * 2.3 mm
L: 2-1/2” W: 1-1/2” T: 1/2” O/A WT: .03

California Proposition 65 Warning WARNING: This product can expose you to chemicals including Nickel which is known to the State of California to cause cancer and which is known to the State of California to cause birth defects and/or other reproductive harm. For more information, go to www.P65Warnings.ca.gov

 Product ReviewsClick here to review this item
A question for other users of this device
I submitted the review that generates a sin/cos curve on this display. What I would LIKE to find, but so far with no success, is code that will read and display a .bmp file stored on the microSD card on the ILI9225 (NOT a file stored as an array in the code). You SHOULD be able to do this, as is possible with other TFTs, but I can't find any code that will do it. Help will be greatly appreciated!
- David Brooks, PA
sin/cos code for this TFT display
This is a nice full color TFT display that is much cheaper than "newer" alternatives. Another reviewer has expressed an interest in seeing the code used to generate the display shown in the image for this TFT. Here's code that produces a similar display. The comments at the beginning of the code give some helpful URLs for using this "old" device. I have used the ability of the ILI9225 board to plug directly onto an UNO header, which then relies on software SPI. To use hardware SPI connect the display to a breadboard and wire to the hardware SPI digital pins as given in the code. Hardware SPI is much faster than software SPI, but for many applications that doesn't make much difference. /* TFT_MPJAdemo.ino Some of this code is taken verbatim from: https://www.hackster.io/Arnov_Sharma_makes/getting-started-with-ili9255-tft-lcd-378331#code For info about fonts, see the GFX_Font_Demo.ino sketch here: https://www.arduinolibraries.info/libraries/tft_22_ili9225 and here: https://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts For info about graphics primitives, here: https://learn.adafruit.com/adafruit-gfx-graphics-library/graphics-primitives */ #include "SPI.h" #include "TFT_22_ILI9225.h" //#include <../fonts/FreeSans12pt7b.h> //#include <../fonts/FreeSans24pt7b.h> #include <../fonts/FreeSans9pt7b.h> // hardware SPI // #define TFT_RST 8 // #define TFT_RS 9 // #define TFT_CS 10 // SS // #define TFT_SDI 11 // MOSI // #define TFT_CLK 13 // SCK // #define TFT_LED 3 // 0 if wired to +5V directly // software SPI (connected to UNO header) #define TFT_RST A4 #define TFT_RS A3 #define TFT_CS A5 // SS #define TFT_SDI A2 // MOSI #define TFT_CLK A1 // SCK #define TFT_LED 0 // 0 if wired to +5V directly #define TFT_BRIGHTNESS 200 // initial brightness of TFT backlight (optional) //const int width=220,height=176; // screen size for this (rotated) TFT // Use hardware SPI? (faster - on Uno: 13-SCK, 12-MISO, 11-MOSI) TFT_22_ILI9225 tft = TFT_22_ILI9225(TFT_RST, TFT_RS, TFT_CS, TFT_SDI, TFT_CLK, TFT_LED); // Variables and constants // Make x_size evenly divisible by 3, the xStep pixel interval. const int x0=20, y0=20,x_size=192,y_size=130; const int textDX=-3,textDY=17,xStep=3; int PX,PYs,PYc; float DegToRad=0.017453,sine,cosine; void setup() { tft.begin(); tft.setOrientation(1); // landscape tft.clear(); tft.setGFXFont(&FreeSans9pt7b); tft.drawGFXText(18, 12, "Trig demo (sin, cos)", COLOR_WHITE); //define graphing space tft.drawGFXText(x0+textDX,y0+y_size+textDY, "0", COLOR_WHITE); tft.drawGFXText(x0+textDX*9+x_size,y0+y_size+textDY, "360", COLOR_WHITE); tft.drawGFXText(x0+textDX*5+x_size/2,y0+y_size+textDY, "180", COLOR_WHITE); tft.drawRectangle(x0-1,y0-1,x0+193,y0+131,COLOR_WHITE); tft.drawLine(x0,y0+y_size/2,x0+x_size,y0+y_size/2,COLOR_YELLOW); tft.drawLine(x0+x_size/2,y0,x0+x_size/2,y0+y_size,COLOR_YELLOW); tft.drawGFXText(x0+textDX*7,y0+y_size+textDY/3, "-1", COLOR_WHITE); tft.drawGFXText(x0+textDX*7,y0+y_size/2+textDY/3, " 0", COLOR_WHITE); tft.drawGFXText(x0+textDX*7-2,y0+textDY/3, "+1", COLOR_WHITE); // Draw sine and cosine curves. for (int i=0; i<=360; i+=xStep) { sine=sin(i*DegToRad); cosine=cos(i*DegToRad); // Map to pixels. PX=round(x0+i/360.*x_size); PYs=round(y0+y_size/2-sine*y_size/2); PYc=round(y0+y_size/2-cosine*y_size/2); tft.drawPixel(PX,PYs,COLOR_RED); tft.drawPixel(PX,PYc,COLOR_CYAN); } } void loop() { }
- David Brooks, PA
Beautiful Color Graphics
This board plugs right into the Arduino without the need for wires. It great for plotting geometric shapes. Here is a sketch that draws sine waves. -- // #include SPI.h #include TFT_22_ILI9225.h #include math.h #define TFT_RST A4 #define TFT_RS A3 #define TFT_CS A5 // SS #define TFT_SDI A2 // MOSI #define TFT_CLK A1 // SCK #define TFT_LED 0 // 0 if wired to +5V directly #define TFT_BRIGHTNESS 200 // Initial brightness of TFT backlight optional #define ILI9225_LCD_WIDTH 176 #define ILI9225_LCD_HEIGHT 220 TFT_22_ILI9225 tft = TFT_22_ILI9225TFT_RST, TFT_RS, TFT_CS, TFT_SDI, TFT_CLK, TFT_LED; void setup { tft.begin; tft.clear; } void loop { pixel_loopx0x07FF; // cyan pixel_loopy0x07E0; // green pixel_loopx0x0000; // black pixel_loopy0x0000; // black } void pixel_loopxlong s { for int y = 0; y <= ILI9225_LCD_HEIGHT; y = y + 1 { int x = siny * 5 * DEG_TO_RAD * ILI9225_LCD_WIDTH / 2 + ILI9225_LCD_WIDTH / 2; tft.drawPixelx, y, s; delayrandom2, 50; } } void pixel_loopylong s { for int x = 0; x <= ILI9225_LCD_WIDTH; x = x + 1 { int y = sinx * 5 * DEG_TO_RAD * ILI9225_LCD_HEIGHT / 2 + ILI9225_LCD_HEIGHT / 2; tft.drawPixelx, y, s; delayrandom2, 50; } }
- Tom Freer, OH
Nice, Compact and easy to use
I picked this display over its larger cousin sold by MPJA because I have to fit it in a tight space. The exact dimensions of the display -not the board- is 2 X 1.5. The display sticks up from the board about 1/8 and could fit through a panel cut out. After running for some time, it is possible to feel a slight warmth, but less than body temperature. Once I hooked up the 6 control lines and two power lines to the arduino nano, everything just worked. I ran all three sample programs with no problem. You cannot just plug it in to the nano and expect it to work like the Mega2560. You can plug it into the Mega, but youll need to change the interface pins in the software to make it use the analog pins instead of the digital ones. For the Nano, connect CLK to D13, SDA to D11, RS to D9, RST to D8, and CS to D10. The display only uses the SPI MOSI pin and the MISO pin -D12- is not used. The fonts included are bitmapped, but if you use the Mega, you can use the TrueType font clones. The Nano doesnt have enough FLASH memory for those. Lastly, the Sine wave program in the photo is not included in the sample programs. Would be nice if MPJA provided that one.
- Dennis, FL