Blog

China lcd touch display manufacturer

The 11.6-inch LCD Touch Display (Model No. WTY116834A02LM) is of a color TFT LCD display panel with FHD 1920×1080 resolution and standard 30pin EDP interface, which support sunlight-readable, IPS Technology, optical bonding/tape bonding.

The touch panel is of a G+G structure capacitive touch panel, which is composed of a cover glass, sensor glass, driver IC and FPC. It is driven by a GOODIX IC Chip GT928, which utilizes an I2C interface and supports 10 points of touch.

 **************************************************************************/

 

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

 

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

 

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET     4 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

 

#define NUMFLAKES     10 // Number of snowflakes in the animation example

 

#define LOGO_HEIGHT   16
#define LOGO_WIDTH    16
static const unsigned char PROGMEM logo_bmp[] =
{ B00000000, B11000000,
  B00000001, B11000000,
  B00000001, B11000000,
  B00000011, B11100000,
  B11110011, B11100000,
  B11111110, B11111000,
  B01111110, B11111111,
  B00110011, B10011111,
  B00011111, B11111100,
  B00001101, B01110000,
  B00011011, B10100000,
  B00111111, B11100000,
  B00111111, B11110000,
  B01111100, B11110000,
  B01110000, B01110000,
  B00000000, B00110000 };

 

void setup() {
  Serial.begin(9600);

 

  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // I2C Address
    Serial.println(F(“SSD1306 allocation failed”));
    for(;;); // Don’t proceed, loop forever
  }

 

  // Show initial display buffer contents on the screen —
  // the library initializes this with an Adafruit splash screen.
  display.display();
  delay(2000); // Pause for 2 seconds

 

  // Clear the buffer
  display.clearDisplay();

 

  // Draw a single pixel in white
  display.drawPixel(10, 10, SSD1306_WHITE);

 

  // Show the display buffer on the screen. You MUST call display() after
  // drawing commands to make them visible on screen!
  display.display();
  delay(2000);
  // display.display() is NOT necessary after every single drawing command,
  // unless that’s what you want…rather, you can batch up a bunch of
  // drawing operations and then update the screen all at once by calling
  // display.display(). These examples demonstrate both approaches…

 

  testdrawline();      // Draw many lines

 

  testdrawrect();      // Draw rectangles (outlines)

 

  testfillrect();      // Draw rectangles (filled)

 

  testdrawcircle();    // Draw circles (outlines)

 

  testfillcircle();    // Draw circles (filled)

 

  testdrawroundrect(); // Draw rounded rectangles (outlines)

 

  testfillroundrect(); // Draw rounded rectangles (filled)

 

  testdrawtriangle();  // Draw triangles (outlines)

 

  testfilltriangle();  // Draw triangles (filled)

 

  testdrawchar();      // Draw characters of the default font

 

  testdrawstyles();    // Draw ‘stylized’ characters

 

  testscrolltext();    // Draw scrolling text

 

  testdrawbitmap();    // Draw a small bitmap image

 

  // Invert and restore display, pausing in-between
  display.invertDisplay(true);
  delay(1000);
  display.invertDisplay(false);
  delay(1000);

 

  testanimate(logo_bmp, LOGO_WIDTH, LOGO_HEIGHT); // Animate bitmaps
}

 

void loop() {
}

 

void testdrawline() {
  int16_t i;

 

  display.clearDisplay(); // Clear display buffer

 

  for(i=0; i<display.width(); i+=4) {
    display.drawLine(0, 0, i, display.height()-1, SSD1306_WHITE);
    display.display(); // Update screen with each newly-drawn line
    delay(1);
  }
  for(i=0; i<display.height(); i+=4) {
    display.drawLine(0, 0, display.width()-1, i, SSD1306_WHITE);
    display.display();
    delay(1);
  }
  delay(250);

 

  display.clearDisplay();

 

  for(i=0; i<display.width(); i+=4) {
    display.drawLine(0, display.height()-1, i, 0, SSD1306_WHITE);
    display.display();
    delay(1);
  }
  for(i=display.height()-1; i>=0; i-=4) {
    display.drawLine(0, display.height()-1, display.width()-1, i, SSD1306_WHITE);
    display.display();
    delay(1);
  }
  delay(250);

 

  display.clearDisplay();

 

  for(i=display.width()-1; i>=0; i-=4) {
    display.drawLine(display.width()-1, display.height()-1, i, 0, SSD1306_WHITE);
    display.display();
    delay(1);
  }
  for(i=display.height()-1; i>=0; i-=4) {
    display.drawLine(display.width()-1, display.height()-1, 0, i, SSD1306_WHITE);
    display.display();
    delay(1);
  }
  delay(250);

 

  display.clearDisplay();

 

  for(i=0; i<display.height(); i+=4) {
    display.drawLine(display.width()-1, 0, 0, i, SSD1306_WHITE);
    display.display();
    delay(1);
  }
  for(i=0; i<display.width(); i+=4) {
    display.drawLine(display.width()-1, 0, i, display.height()-1, SSD1306_WHITE);
    display.display();
    delay(1);
  }

 

  delay(2000); // Pause for 2 seconds
}

 

void testdrawrect(void) {
  display.clearDisplay();

 

  for(int16_t i=0; i<display.height()/2; i+=2) {
    display.drawRect(i, i, display.width()-2*i, display.height()-2*i, SSD1306_WHITE);
    display.display(); // Update screen with each newly-drawn rectangle
    delay(1);
  }

 

  delay(2000);
}

 

void testfillrect(void) {
  display.clearDisplay();

 

  for(int16_t i=0; i<display.height()/2; i+=3) {
    // The INVERSE color is used so rectangles alternate white/black
    display.fillRect(i, i, display.width()-i*2, display.height()-i*2, SSD1306_INVERSE);
    display.display(); // Update screen with each newly-drawn rectangle
    delay(1);
  }

 

  delay(2000);
}

 

void testdrawcircle(void) {
  display.clearDisplay();

 

  for(int16_t i=0; i<max(display.width(),display.height())/2; i+=2) {
    display.drawCircle(display.width()/2, display.height()/2, i, SSD1306_WHITE);
    display.display();
    delay(1);
  }

 

  delay(2000);
}

 

void testfillcircle(void) {
  display.clearDisplay();

 

  for(int16_t i=max(display.width(),display.height())/2; i>0; i-=3) {
    // The INVERSE color is used so circles alternate white/black
    display.fillCircle(display.width() / 2, display.height() / 2, i, SSD1306_INVERSE);
    display.display(); // Update screen with each newly-drawn circle
    delay(1);
  }

 

  delay(2000);
}

 

void testdrawroundrect(void) {
  display.clearDisplay();

 

  for(int16_t i=0; i<display.height()/2-2; i+=2) {
    display.drawRoundRect(i, i, display.width()-2*i, display.height()-2*i,
      display.height()/4, SSD1306_WHITE);
    display.display();
    delay(1);
  }

 

  delay(2000);
}

 

void testfillroundrect(void) {
  display.clearDisplay();

 

  for(int16_t i=0; i<display.height()/2-2; i+=2) {
    // The INVERSE color is used so round-rects alternate white/black
    display.fillRoundRect(i, i, display.width()-2*i, display.height()-2*i,
      display.height()/4, SSD1306_INVERSE);
    display.display();
    delay(1);
  }

 

  delay(2000);
}

 

void testdrawtriangle(void) {
  display.clearDisplay();

 

  for(int16_t i=0; i<max(display.width(),display.height())/2; i+=5) {
    display.drawTriangle(
      display.width()/2  , display.height()/2-i,
      display.width()/2-i, display.height()/2+i,
      display.width()/2+i, display.height()/2+i, SSD1306_WHITE);
    display.display();
    delay(1);
  }

 

  delay(2000);
}

 

void testfilltriangle(void) {
  display.clearDisplay();

 

  for(int16_t i=max(display.width(),display.height())/2; i>0; i-=5) {
    // The INVERSE color is used so triangles alternate white/black
    display.fillTriangle(
      display.width()/2  , display.height()/2-i,
      display.width()/2-i, display.height()/2+i,
      display.width()/2+i, display.height()/2+i, SSD1306_INVERSE);
    display.display();
    delay(1);
  }

 

  delay(2000);
}

 

void testdrawchar(void) {
  display.clearDisplay();

 

  display.setTextSize(1);      // Normal 1:1 pixel scale
  display.setTextColor(SSD1306_WHITE); // Draw white text
  display.setCursor(0, 0);     // Start at top-left corner
  display.cp437(true);         // Use full 256 char ‘Code Page 437’ font

 

  // Not all the characters will fit on the display. This is normal.
  // Library will draw what it can and the rest will be clipped.
  for(int16_t i=0; i<256; i++) {
    if(i == ‘\n’) display.write(‘ ‘);
    else          display.write(i);
  }

 

  display.display();
  delay(2000);
}

 

void testdrawstyles(void) {
  display.clearDisplay();

 

  display.setTextSize(1);             // Normal 1:1 pixel scale
  display.setTextColor(SSD1306_WHITE);        // Draw white text
  display.setCursor(0,0);             // Start at top-left corner
  display.println(F(“Hello, world!”));

 

  display.setTextColor(SSD1306_BLACK, SSD1306_WHITE); // Draw ‘inverse’ text
  display.println(3.141592);

 

  display.setTextSize(2);             // Draw 2X-scale text
  display.setTextColor(SSD1306_WHITE);
  display.print(F(“0x”)); display.println(0xDEADBEEF, HEX);

 

  display.display();
  delay(2000);
}

 

void testscrolltext(void) {
  display.clearDisplay();

 

  display.setTextSize(2); // Draw 2X-scale text
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(10, 0);
  display.println(F(“scroll”));
  display.display();      // Show initial text
  delay(100);

 

  // Scroll in various directions, pausing in-between:
  display.startscrollright(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.startscrollleft(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.startscrolldiagright(0x00, 0x07);
  delay(2000);
  display.startscrolldiagleft(0x00, 0x07);
  delay(2000);
  display.stopscroll();
  delay(1000);
}

 

void testdrawbitmap(void) {
  display.clearDisplay();

 

  display.drawBitmap(
    (display.width()  – LOGO_WIDTH ) / 2,
    (display.height() – LOGO_HEIGHT) / 2,
    logo_bmp, LOGO_WIDTH, LOGO_HEIGHT, 1);
  display.display();
  delay(1000);
}

 

#define XPOS   0 // Indexes into the ‘icons’ array in function below
#define YPOS   1
#define DELTAY 2

 

void testanimate(const uint8_t *bitmap, uint8_t w, uint8_t h) {
  int8_t f, icons[NUMFLAKES][3];

 

  // Initialize ‘snowflake’ positions
  for(f=0; f< NUMFLAKES; f++) {
    icons[f][XPOS]   = random(1 – LOGO_WIDTH, display.width());
    icons[f][YPOS]   = -LOGO_HEIGHT;
    icons[f][DELTAY] = random(1, 6);
    Serial.print(F(“x: “));
    Serial.print(icons[f][XPOS], DEC);
    Serial.print(F(” y: “));
    Serial.print(icons[f][YPOS], DEC);
    Serial.print(F(” dy: “));
    Serial.println(icons[f][DELTAY], DEC);
  }

 

  for(;;) { // Loop forever…
    display.clearDisplay(); // Clear the display buffer

 

    // Draw each snowflake:
    for(f=0; f< NUMFLAKES; f++) {
      display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, SSD1306_WHITE);
    }

 

    display.display(); // Show the display buffer on the screen
    delay(200);        // Pause for 1/10 second

 

    // Then update coordinates of each flake…
    for(f=0; f< NUMFLAKES; f++) {
      icons[f][YPOS] += icons[f][DELTAY];
      // If snowflake is off the bottom of the screen…
      if (icons[f][YPOS] >= display.height()) {
        // Reinitialize to a random position, just off the top
        icons[f][XPOS]   = random(1 – LOGO_WIDTH, display.width());
        icons[f][YPOS]   = -LOGO_HEIGHT;
        icons[f][DELTAY] = random(1, 6);
      }
    }
  }
}
China lcd touch display manufacturer Production Line
  • China lcd touch display manufacturer
  • China lcd touch display manufacturer
  • China lcd touch display manufacturer
  • China lcd touch display manufacturer
  • After years of development, in order to better integrate the company’s resources and provide customers with the most advantageous products, in 2016, all the Shenzhen production lines were relocated to Yongzhou, Hunan province. At present, Shenzhen office and Hunan factory have a total of more than 500 employees, with more than 20,000 square meters of standard clean plant.
    we’ll ensure you always get
    best results
    China lcd touch display manufacturer Our Patents
  • China lcd touch display manufacturer Our Patents
  • China lcd touch display manufacturer Our Patents
  • China lcd touch display manufacturer Our Patents
  • China lcd touch display manufacturer Our Patents
  • China lcd touch display manufacturer Our Patents
  • China lcd touch display manufacturer Our Patents
  • China lcd touch display manufacturer Our Patents
  • China lcd touch display manufacturer Our Patents
  • Latest News China lcd touch display manufacturer
    car lcd touch screen price
    car lcd touch screen price

    2022-08-30

    A car lcd touch screen price is a device that allows a driver to control various functions of a car while driving. Our Car LCD Touch Screen is the best in the market. We have a wide variety of Car...
    cap-touch manufacturer
    cap-touch manufacturer

    2022-06-21

    Projected capacitive (PCAP) touchscreens are the latest iteration of the decades-long history of touch sensor technology. The use of PCAP touchscreens has increased with the proliferation of consumer electronics, advancements in medical devices, and more complex automotive applications, creating breakthrough...
    hdmi usb touch display suppliers
    hdmi usb touch display suppliers

    2022-06-20

    TFT LCM is a TFT LCD module, TFT means Thin Film Transistor, color display, is currently the most popular and widely used display technology. TFT LCM structure is TFT LCD glass with polarizer, FOG components and LED backlight, frame together....
    hdmi touch display suppliers
    hdmi touch display suppliers

    2022-07-20

    HDMI (High-Definition Multimedia Interface) is the first industry-supported, uncompressed, all-digital audio/video interface. HDMI provides an interface between any audio/video source, such as a set-top box, DVD player, and A/V receiver and an audio and/or video monitor, such as a digital...
    pen touch display suppliers
    pen touch display suppliers

    2022-06-20

    Another great feature of the stylus from Chinese manufacturers is that it is very portable. It's lightweight and slim for easy portability. Whether you're going to the office or to a coffee shop, you can take it with you! The...
    Looking for a Chinese LCM factory manufacturer
    Looking for a Chinese LCM factory manufacturer

    2022-06-27

    One of the things that sets us apart from other LCD screen manufacturers is the diversity of products and customizations we offer. Our LCD portfolio ranges from low-cost monochrome LCDs to high-resolution, high-brightness color TFT LCDs – and pretty much...
    Optical Bonding Sunlight Reabable TFT LCD Display made in China
    Optical Bonding Sunlight Reabable TFT LCD Display made in China

    2022-08-22

    1: Optically bonded to sunlight readable TFT LCD features Optically Laminated Sunlight Readable TFT LCD is a special kind of display that has good optical properties and can work under direct sunlight. Such displays are typically used in outdoor applications...
    TFT LCD Touch Display manufacturer in china
    TFT LCD Touch Display manufacturer in china

    2022-07-05

    What is a TFT LCD touch screen? TFT, also known as a TFT screen, is an active-matrix LCD display capable of displaying millions of high-contrast, clear, bright color pixels. TFTs are used in HDTVs, computer monitors, laptop monitors, tablets, personal...
    close
    Start typing to see products you are looking for.
    Open chat

    Shopping cart

    close
    Sidebar Scroll To Top