- LiTime Speicher und Akkus         
Ergebnis 1 bis 9 von 9

Thema: 2,4" TFT LCD Shield an NodeMCU ESP 8266 Verdrahtung und Library

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    31.12.2017
    Ort
    Saarland
    Beiträge
    5

    2,4" TFT LCD Shield an NodeMCU ESP 8266 Verdrahtung und Library

    Anzeige

    Praxistest und DIY Projekte
    Hallo Gemeinde,

    ich bin auf der Suche nach einem Verdrahtungsplan und entsprechendem Library für o.g. Komponenten. Möglich wäre auch ein 1,8" TFT Modul SPI 128x160.
    Für Hilfe wäre ich außerordentlich dankbar

    Gruß, Atze

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.12.2010
    Ort
    NRW
    Beiträge
    223
    Moin Atze68,

    Willkommen im Forum,

    hast du vllt ein paar Links zu deiner geplanten Hardware ? Es gibt via Google schon viele Howtos dazu.
    cYa pig

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    31.12.2017
    Ort
    Saarland
    Beiträge
    5
    Servus,

    dass 1,8" habe ich jetzt zum Laufen gebracht, allerdings klappt es mit dem 2,4" TFT LCD Shield noch nicht.
    Hardware: ESP 8266 Nodemcu Lolin und 2,4" TFT LCD Shield Display.
    Treiber für das Display ist der ili 9341.

    Gruß, Atze

  4. #4
    HaWe
    Gast
    Zitat Zitat von Atze68 Beitrag anzeigen
    Servus,

    dass 1,8" habe ich jetzt zum Laufen gebracht, allerdings klappt es mit dem 2,4" TFT LCD Shield noch nicht.
    Hardware: ESP 8266 Nodemcu Lolin und 2,4" TFT LCD Shield Display.
    Treiber für das Display ist der ili 9341.

    Gruß, Atze
    welche ILI9341 Treiber Lib verwendest du?

    und verlinke bitte mal dein TFT Shield!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    31.12.2017
    Ort
    Saarland
    Beiträge
    5
    Dieses ist mein Display:

    https://images-na.ssl-images-amazon....L._SL1000_.jpg

    Ich würde die Beispiel ILI9341 anpassen und dann verwenden, allerdings müsste erstmal die richtige Verdrahtung erfolgen.....

    Gruß

  6. #6
    HaWe
    Gast
    Zitat Zitat von Atze68 Beitrag anzeigen
    Dieses ist mein Display:

    https://images-na.ssl-images-amazon....L._SL1000_.jpg

    Ich würde die Beispiel ILI9341 anpassen und dann verwenden, allerdings müsste erstmal die richtige Verdrahtung erfolgen.....

    Gruß
    noch mal:
    welche ILI9341 Treiber Lib verwendest du?
    und verlinke bitte mal dein TFT Shield!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    31.12.2017
    Ort
    Saarland
    Beiträge
    5
    /************************************************** *
    This is our GFX example for the Adafruit ILI9341 Breakout and Shield
    ----> http://www.adafruit.com/products/1651

    Check out the links above for our tutorials and wiring diagrams
    These displays use SPI to communicate, 4 or 5 pins are required to
    interface (RST is optional)
    Adafruit invests time and resources providing this open source code,
    please support Adafruit and open-source hardware by purchasing
    products from Adafruit!

    Written by Limor Fried/Ladyada for Adafruit Industries.
    MIT license, all text above must be included in any redistribution
    ************************************************** **/


    #include "SPI.h"
    #include "Adafruit_GFX.h"
    #include "Adafruit_ILI9341.h"

    // For the Adafruit shield, these are the default.
    #define TFT_DC 9
    #define TFT_CS 10

    // Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
    Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
    // If using the breakout, change pins as desired
    //Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);

    void setup() {
    Serial.begin(115200);
    Serial.println("ILI9341 Test!");

    tft.begin();

    // read diagnostics (optional but can help debug problems)
    uint8_t x = tft.readcommand8(ILI9341_RDMODE);
    Serial.print("Display Power Mode: 0x"); Serial.println(x, HEX);
    x = tft.readcommand8(ILI9341_RDMADCTL);
    Serial.print("MADCTL Mode: 0x"); Serial.println(x, HEX);
    x = tft.readcommand8(ILI9341_RDPIXFMT);
    Serial.print("Pixel Format: 0x"); Serial.println(x, HEX);
    x = tft.readcommand8(ILI9341_RDIMGFMT);
    Serial.print("Image Format: 0x"); Serial.println(x, HEX);
    x = tft.readcommand8(ILI9341_RDSELFDIAG);
    Serial.print("Self Diagnostic: 0x"); Serial.println(x, HEX);

    Serial.println(F("Benchmark Time (microseconds)"));
    delay(10);
    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(ILI9341_CYAN));
    delay(500);

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

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

    Serial.print(F("Rectangles (filled) "));
    Serial.println(testFilledRects(ILI9341_YELLOW, ILI9341_MAGENTA));
    delay(500);

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

    Serial.print(F("Circles (outline) "));
    Serial.println(testCircles(10, ILI9341_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(1000);
    }
    }

    unsigned long testFillScreen() {
    unsigned long start = micros();
    tft.fillScreen(ILI9341_BLACK);
    yield();
    tft.fillScreen(ILI9341_RED);
    yield();
    tft.fillScreen(ILI9341_GREEN);
    yield();
    tft.fillScreen(ILI9341_BLUE);
    yield();
    tft.fillScreen(ILI9341_BLACK);
    yield();
    return micros() - start;
    }

    unsigned long testText() {
    tft.fillScreen(ILI9341_BLACK);
    unsigned long start = micros();
    tft.setCursor(0, 0);
    tft.setTextColor(ILI9341_WHITE); tft.setTextSize(1);
    tft.println("Hello World!");
    tft.setTextColor(ILI9341_YELLOW); tft.setTextSize(2);
    tft.println(1234.56);
    tft.setTextColor(ILI9341_RED); tft.setTextSize(3);
    tft.println(0xDEADBEEF, HEX);
    tft.println();
    tft.setTextColor(ILI9341_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(ILI9341_BLACK);
    yield();

    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

    yield();
    tft.fillScreen(ILI9341_BLACK);
    yield();

    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;

    yield();
    tft.fillScreen(ILI9341_BLACK);
    yield();

    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;

    yield();
    tft.fillScreen(ILI9341_BLACK);
    yield();

    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);

    yield();
    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(ILI9341_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(ILI9341_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(ILI9341_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);
    yield();
    }

    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(ILI9341_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(ILI9341_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(i, i, 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(ILI9341_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*10, i*10));
    t += micros() - start;
    tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
    tft.color565(i*10, i*10, 0));
    yield();
    }

    return t;
    }

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

    tft.fillScreen(ILI9341_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(ILI9341_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));
    yield();
    }

    return micros() - start;
    }

  8. #8
    HaWe
    Gast
    der Link zu Adafruit_ILI9341 Lib und Adafruit ILI9341 Shield http://www.adafruit.com/products/1651 hätte gereicht, der Beispielcode ist nicht so wichtig (bitte Code aber auch immer in code-tags formatiert posten!).

    Aus meiner Erfahrung könnte es sich als Problem herausstellen, falls adafruit Software-SPI verwendet, aber ob das so ist, kann ich nicht sagen.
    Dieses Adafruit Shield kenne ich aber auch nicht, daher muss dir dann doch jemand anderes helfen.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    31.12.2017
    Ort
    Saarland
    Beiträge
    5
    Soooo,

    jetzt habe ich bei Amazon das richtige Display gefunden: https://www.amazon.de/Yongse%C2%AE-t.../dp/B01I1PR580
    Genau dieses habe ich. Ob es sich an einen NodeMcu Lolin ESP 8266 anknüppeln lässt ?

Ähnliche Themen

  1. Anfängerproblem: Pin-Layout NodeMCU
    Von TFlow im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 2
    Letzter Beitrag: 30.11.2017, 11:47
  2. nodeMCU zu nodeMCU: keine Kommunikations-Verbindung mehr nach wenigen Minuten
    Von HaWe im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 0
    Letzter Beitrag: 02.10.2017, 15:01
  3. ESP8266/NodeMCU Kommunikationsprobleme
    Von thewulf00 im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 5
    Letzter Beitrag: 30.03.2016, 06:04
  4. Antworten: 3
    Letzter Beitrag: 21.10.2014, 17:37
  5. "Library of professionally recorded vocabulary" au
    Von roborob im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 1
    Letzter Beitrag: 15.03.2008, 19:59

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus