помогите запустить TFT дисплей 2.4дюйма

Тема в разделе "Arduino & Shields", создана пользователем blackflash2009, 11 дек 2015.

  1. MDV

    MDV Гик

    Смогут, если будет больше информации.
    1. Какой контроллер в дисплее
    2. Какой библиотекой пользуешься
    3. Выложи тестовый скетч
    4. На каком МК запускаешь дисплей
     
  2. UnrealBlack

    UnrealBlack Нуб

    http://forum.banggood.com/forum-topic-93683.html
    Вот здесь библиотека с семплами лежит для вашего экранчика на чипе ILI9335.
     
    Последнее редактирование: 19 дек 2015
  3. дисплей на чипе ILI9341
    ардуно уно совместимый (китайский на отмега 328п
    #include "SPI.h"
    #include "Adafruit_GFX.h"
    #include "Adafruit_ILI9340.h"

    #if defined(__SAM3X8E__)
    #undef __FlashStringHelper::F(string_literal)
    #define F(string_literal) string_literal
    #endif

    // These are the pins used for the UNO
    // for Due/Mega/Leonardo use the hardware SPI pins (which are different)
    #define _sclk 13
    #define _miso 12
    #define _mosi 11
    #define _cs 10
    #define _dc 9
    #define _rst 8

    // Using software SPI is really not suggested, its incredibly slow
    //Adafruit_ILI9340 tft = Adafruit_ILI9340(_cs, _dc, _mosi, _sclk, _rst, _miso);
    // Use hardware SPI
    Adafruit_ILI9340 tft = Adafruit_ILI9340(_cs, _dc, _rst);

    void setup() {
    Serial.begin(9600);
    Serial.println("Adafruit 2.2\" SPI TFT Test!");
    tft.begin();

    Serial.println(F("Benchmark Time (microseconds)"));
    Serial.print(F("Screen fill "));
    Serial.println(testFillScreen());
    delay(500);

    Serial.print(F("Text "));
    Serial.println(testText());
    delay(3000);

    Serial.print(F("Lines "));
    Serial.println(testLines(ILI9340_CYAN));
    delay(500);

    Serial.print(F("Horiz/Vert Lines "));
    Serial.println(testFastLines(ILI9340_RED, ILI9340_BLUE));
    delay(500);

    Serial.print(F("Rectangles (outline) "));
    Serial.println(testRects(ILI9340_GREEN));
    delay(500);

    Serial.print(F("Rectangles (filled) "));
    Serial.println(testFilledRects(ILI9340_YELLOW, ILI9340_MAGENTA));
    delay(500);

    Serial.print(F("Circles (filled) "));
    Serial.println(testFilledCircles(10, ILI9340_MAGENTA));

    Serial.print(F("Circles (outline) "));
    Serial.println(testCircles(10, ILI9340_WHITE));
    delay(500);

    Serial.print(F("Triangles (outline) "));
    Serial.println(testTriangles());
    delay(500);

    Serial.print(F("Triangles (filled) "));
    Serial.println(testFilledTriangles());
    delay(500);

    Serial.print(F("Rounded rects (outline) "));
    Serial.println(testRoundRects());
    delay(500);

    Serial.print(F("Rounded rects (filled) "));
    Serial.println(testFilledRoundRects());
    delay(500);

    Serial.println(F("Done!"));
    }

    void loop(void) {
    for(uint8_t rotation=0; rotation<4; rotation++) {
    tft.setRotation(rotation);
    testText();
    delay(2000);
    }
    }


    unsigned long testFillScreen() {
    unsigned long start = micros();
    tft.fillScreen(ILI9340_BLACK);
    tft.fillScreen(ILI9340_RED);
    tft.fillScreen(ILI9340_GREEN);
    tft.fillScreen(ILI9340_BLUE);
    tft.fillScreen(ILI9340_BLACK);
    return micros() - start;
    }

    unsigned long testText() {
    tft.fillScreen(ILI9340_BLACK);
    unsigned long start = micros();
    tft.setCursor(0, 0);
    tft.setTextColor(ILI9340_WHITE); tft.setTextSize(1);
    tft.println("Hello World!");
    tft.setTextColor(ILI9340_YELLOW); tft.setTextSize(2);
    tft.println(1234.56);
    tft.setTextColor(ILI9340_RED); tft.setTextSize(3);
    tft.println(0xDEADBEEF, HEX);
    tft.println();
    tft.setTextColor(ILI9340_GREEN);
    tft.setTextSize(5);
    tft.println("Groop");
    tft.setTextSize(2);
    tft.println("I implore thee,");
    tft.setTextSize(1);
    tft.println("my foonting turlingdromes.");
    tft.println("And hooptiously drangle me");
    tft.println("with crinkly bindlewurdles,");
    tft.println("Or I will rend thee");
    tft.println("in the gobberwarts");
    tft.println("with my blurglecruncheon,");
    tft.println("see if I don't!");
    return micros() - start;
    }

    unsigned long testLines(uint16_t color) {
    unsigned long start, t;
    int x1, y1, x2, y2,
    w = tft.width(),
    h = tft.height();

    tft.fillScreen(ILI9340_BLACK);

    x1 = y1 = 0;
    y2 = h - 1;
    start = micros();
    for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
    x2 = w - 1;
    for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
    t = micros() - start; // fillScreen doesn't count against timing

    tft.fillScreen(ILI9340_BLACK);

    x1 = w - 1;
    y1 = 0;
    y2 = h - 1;
    start = micros();
    for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
    x2 = 0;
    for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
    t += micros() - start;

    tft.fillScreen(ILI9340_BLACK);

    x1 = 0;
    y1 = h - 1;
    y2 = 0;
    start = micros();
    for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
    x2 = w - 1;
    for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
    t += micros() - start;

    tft.fillScreen(ILI9340_BLACK);

    x1 = w - 1;
    y1 = h - 1;
    y2 = 0;
    start = micros();
    for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
    x2 = 0;
    for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);

    return micros() - start;
    }

    unsigned long testFastLines(uint16_t color1, uint16_t color2) {
    unsigned long start;
    int x, y, w = tft.width(), h = tft.height();

    tft.fillScreen(ILI9340_BLACK);
    start = micros();
    for(y=0; y<h; y+=5) tft.drawFastHLine(0, y, w, color1);
    for(x=0; x<w; x+=5) tft.drawFastVLine(x, 0, h, color2);

    return micros() - start;
    }

    unsigned long testRects(uint16_t color) {
    unsigned long start;
    int n, i, i2,
    cx = tft.width() / 2,
    cy = tft.height() / 2;

    tft.fillScreen(ILI9340_BLACK);
    n = min(tft.width(), tft.height());
    start = micros();
    for(i=2; i<n; i+=6) {
    i2 = i / 2;
    tft.drawRect(cx-i2, cy-i2, i, i, color);
    }

    return micros() - start;
    }

    unsigned long testFilledRects(uint16_t color1, uint16_t color2) {
    unsigned long start, t = 0;
    int n, i, i2,
    cx = tft.width() / 2 - 1,
    cy = tft.height() / 2 - 1;

    tft.fillScreen(ILI9340_BLACK);
    n = min(tft.width(), tft.height());
    for(i=n; i>0; i-=6) {
    i2 = i / 2;
    start = micros();
    tft.fillRect(cx-i2, cy-i2, i, i, color1);
    t += micros() - start;
    // Outlines are not included in timing results
    tft.drawRect(cx-i2, cy-i2, i, i, color2);
    }

    return t;
    }

    unsigned long testFilledCircles(uint8_t radius, uint16_t color) {
    unsigned long start;
    int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2;

    tft.fillScreen(ILI9340_BLACK);
    start = micros();
    for(x=radius; x<w; x+=r2) {
    for(y=radius; y<h; y+=r2) {
    tft.fillCircle(x, y, radius, color);
    }
    }

    return micros() - start;
    }

    unsigned long testCircles(uint8_t radius, uint16_t color) {
    unsigned long start;
    int x, y, r2 = radius * 2,
    w = tft.width() + radius,
    h = tft.height() + radius;

    // Screen is not cleared for this one -- this is
    // intentional and does not affect the reported time.
    start = micros();
    for(x=0; x<w; x+=r2) {
    for(y=0; y<h; y+=r2) {
    tft.drawCircle(x, y, radius, color);
    }
    }

    return micros() - start;
    }

    unsigned long testTriangles() {
    unsigned long start;
    int n, i, cx = tft.width() / 2 - 1,
    cy = tft.height() / 2 - 1;

    tft.fillScreen(ILI9340_BLACK);
    n = min(cx, cy);
    start = micros();
    for(i=0; i<n; i+=5) {
    tft.drawTriangle(
    cx , cy - i, // peak
    cx - i, cy + i, // bottom left
    cx + i, cy + i, // bottom right
    tft.Color565(0, 0, i));
    }

    return micros() - start;
    }

    unsigned long testFilledTriangles() {
    unsigned long start, t = 0;
    int i, cx = tft.width() / 2 - 1,
    cy = tft.height() / 2 - 1;

    tft.fillScreen(ILI9340_BLACK);
    start = micros();
    for(i=min(cx,cy); i>10; i-=5) {
    start = micros();
    tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
    tft.Color565(0, i, i));
    t += micros() - start;
    tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
    tft.Color565(i, i, 0));
    }

    return t;
    }

    unsigned long testRoundRects() {
    unsigned long start;
    int w, i, i2,
    cx = tft.width() / 2 - 1,
    cy = tft.height() / 2 - 1;

    tft.fillScreen(ILI9340_BLACK);
    w = min(tft.width(), tft.height());
    start = micros();
    for(i=0; i<w; i+=6) {
    i2 = i / 2;
    tft.drawRoundRect(cx-i2, cy-i2, i, i, i/8, tft.Color565(i, 0, 0));
    }

    return micros() - start;
    }

    unsigned long testFilledRoundRects() {
    unsigned long start;
    int i, i2,
    cx = tft.width() / 2 - 1,
    cy = tft.height() / 2 - 1;

    tft.fillScreen(ILI9340_BLACK);
    start = micros();
    for(i=min(tft.width(), tft.height()); i>20; i-=6) {
    i2 = i / 2;
    tft.fillRoundRect(cx-i2, cy-i2, i, i, i/8, tft.Color565(0, i, 0));
    }

    return micros() - start;
    }
     
  4. у производителя нашел это просто серым светится и все
     

    Вложения:

    • _9341uno.ino
      Размер файла:
      8,8 КБ
      Просмотров:
      277
  5. Mestniy

    Mestniy Гуру

    Вы в fritzing нарисуйте схему. И скетч в специальное место. 95% даю, что у Вас просто где-то неконтакт!
     
  6. она ставится в раземе мк без переходников