#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <TouchScreen.h>
// TFT Display-Pins DIGITAL
#define LCD_D2 2
#define LCD_D3 3
#define LCD_D4 4
#define LCD_D5 5
#define LCD_D6 6
#define LCD_D7 7
// TFT Touch-Pins ANALOG
#define LCD_RD A0
#define LCD_WR A1
#define LCD_RS A2
#define LCD_CS A3
#define LCD_RST A4
// Touch-Pins
#define YP A0
#define XM A2
#define YM 7
#define XP 6
#define TS_MINX 120
#define TS_MAXX 900
#define TS_MINY 70
#define TS_MAXY 920
#define MENU_WIDTH 240
#define MENU_HEIGHT 320
Adafruit_ILI9341 tft = Adafruit_ILI9341 (LCD_CS, LCD_RS, LCD_RST, LCD_WR, LCD_RD, LCD_D2, LCD_D3, LCD_D4, LCD_D5, LCD_D6, LCD_D7)); **Hier sagt er Fehler **
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
enum MenuOption {
OPTION_1,
OPTION_2,
OPTION_3
};
MenuOption currentOption = OPTION_1;
// Farben
#define COLOR_BACKGROUND ILI9341_BLACK
#define COLOR_TEXT ILI9341_WHITE
#define COLOR_HIGHLIGHT ILI9341_RED
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(COLOR_BACKGROUND);
}
void drawMenu() {
tft.fillScreen(COLOR_BACKGROUND);
tft.setCursor(50, 50);
tft.setTextColor(COLOR_TEXT);
tft.setTextSize(3);
tft.println("Menu");
tft.setTextSize(2);
if (currentOption == OPTION_1) {
tft.setTextColor(COLOR_HIGHLIGHT);
} else {
tft.setTextColor(COLOR_TEXT);
}
tft.setCursor(50, 100);
tft.println("Option 1");
if (currentOption == OPTION_2) {
tft.setTextColor(COLOR_HIGHLIGHT);
} else {
tft.setTextColor(COLOR_TEXT);
}
tft.setCursor(50, 150);
tft.println("Option 2");
if (currentOption == OPTION_3) {
tft.setTextColor(COLOR_HIGHLIGHT);
} else {
tft.setTextColor(COLOR_TEXT);
}
tft.setCursor(50, 200);
tft.println("Option 3");
}
void handleTouch(int16_t x, int16_t y) {
if (x > 50 && x < 200) {
if (y > 100 && y < 130) {
currentOption = OPTION_1;
} else if (y > 150 && y < 180) {
currentOption = OPTION_2;
} else if (y > 200 && y < 230) {
currentOption = OPTION_3;
}
}
drawMenu();
}
void loop() {
TSPoint touch = ts.getPoint();
if (touch.z > 100) {
int16_t x = map(touch.x, TS_MINX, TS_MAXX, 0, tft.width());
int16_t y = map(touch.y, TS_MINY, TS_MAXY, 0, tft.height());
handleTouch(x, y);
}
}
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
mfg ein Moderator.
Wie schreibe ich den code jetzt wissen sie zufällig den Code ?
Ja klar sagt er da, das es dafür keinen Funktionsaufruf findet.
Was soll denn LCD_D2 bis LCD_D7 sein?
Dafür gibt es keine Verwendung.
class Adafruit_ILI9341 : public Adafruit_SPITFT {
public:
Adafruit_ILI9341(int8_t _CS, int8_t _DC, int8_t _MOSI, int8_t _SCLK,
int8_t _RST = -1, int8_t _MISO = -1);
Adafruit_ILI9341(int8_t _CS, int8_t _DC, int8_t _RST = -1);
Und Du hast eine Klammer zuviel.
Sieht so aus als hättest Du falsch kopiert.
Vielen Dank ich werde es ausprobieren. LCD_D2 bis LCD_D7 ist das Display für Digital
was für Display ist das?
Die Adafruit_ILI9341 ist nur für SPI Display, nach deinen Angaben hast du ein 8Bit Ding (Foto nur als Beispiel geht um die Pin Bezeichnung) damit funktioniert die Lib nicht, wen dein so aussieht, dann funktioniert die Ucglib
Dieses Display habe ich
Also die Installieren. dort gibt's auch Beispiele, es gibt noch eine von LCD Wiki , von denen ist das Display ;
Nein, sagt er nicht.
Du hast versucht den von mir zitierten Classencode nochmal in den Sketch einzufügen.
Das geht nicht.
Es war als Hinweis gedacht, wie der Aufruf richtig auszusehen hat.
Im Übrigen hast Du da nen Button, auf dem steht schon "Fehlermeldung kopieren" - Das solltest auch tun. Und dann hier in codetags wieder einfügen. Dann kann man das auch lesen...
Habe schon gesagt, geschrieben, mit der Adafruit funktioniert das nicht.
Die Fehlermeldung bitte kopieren und hier einfügen, Fotos sind Mist, nicht alle sitzen vor Monitor, für die ist das nicht lesbar
Hallo,
nimm ein einfaches Beispiel aus der richtigen Lib und fang damit an um Verdrahtung und Hardware zu testen.
Es soll ja ein Menü für das Display sein.
Das Display ist zum drauf stecken auf Uno, Mega, und in den Beispielen ist alles vorbereitet = aufmachen draufklicken, loslegen und Staunen
Erstmal Beispiel testen danach auf dem aufbauen, mit denken ist angesagt
hier ist der Fehlercode:
redefinition of 'class Adafruit_ILI9341'
Ich hatte von ChatGPT ein Code so ein Fortschrittbalken und da ging es.
Mann, Frau lese was im #13 habe geschrieben
Es Funktioniert nicht, du hast falsches Display für den Sketch.
Ist OK, dann soll ChatGPT dir vernünftigen Code liefern
Ich bin raus
Hallo,
dann muss ja an der Stelle wo jetzt der Fehler auftritt etwas anders gewesen sein. Dann schau Dir doch das noch mal an.