Touchscreen-problemen oplossen op 2,4″ TFT LCD Shield voor Arduino
Onderdelen
| Arduino UNO | 1 |
Over deze tutorial
Ik wilde de functies van een 2,4″ TFT LCD-shield testen, maar liep tegen touchscreen-problemen aan. Hier deel ik de oplossingen zodat jij ze kunt vermijden.
De shield past op Arduino Uno, Leonardo, Duemilanove, Mega, enz. En heeft een SD-kaartslot voor BMP-afbeeldingen.
Aansluiten

Je steekt de shield gewoon op de Arduino. Tip: Plak isolatietape om de USB-poort zodat de shield geen contact maakt met de USB-behuizing.
Bibliotheken en code
Het grootste probleem is het vinden van de juiste bibliotheek. Test met het voorbeeld graphictest: als je een wit scherm ziet, probeer een andere bibliotheek.
De bibliotheek die bij mij werkte: SPFD5408 (GitHub).

Werkt het display? Test dan tftpaint voor de touchscreen. Werkt die niet goed? Fabrikanen veranderen vaak de pin-layout. Pas in tftpaint de pindefinities aan:
Originele pindefinities
#define YP A1 // moet analoog zijn
#define XM A2 // moet analoog zijn
#define YM 7 // kan digitaal zijn
#define XP 6 // kan digitaal zijn
Aangepaste pindefinities (werkte voor mij)
#define YP A3 // moet analoog zijn
#define XM A2 // moet analoog zijn
#define YM 9 // kan digitaal zijn
#define XP 8 // kan digitaal zijn
Herupload de sketch. Werkt de touchscreen nu? Zo niet, ga door.
As-inversie corrigeren
Als één van de assen geïnverteerd is, open de touchscreen-bibliotheek (bijv. TouchScreen.h of SPFD5408.cpp) in een editor.

Ga naar regel ~159 en haal de commentaar weg (uncomment) voor de coördinaat-transformatie.

Sla op en herupload. Nog steeds geïnverteerd? Pas de retourwaarde aan in de getPoint()-functie:
// Origineel
return TSPoint(x, y, z);
// Probeer variaties totdat het klopt:
return TSPoint(1023-x, y, z); // X inverseren
return TSPoint(x, 1023-y, z); // Y inverseren
return TSPoint(1023-x, 1023-y, z); // Beide inverseren

De waarden 1023-x en 1023-y werken voor 10-bit ADC (0-1023). Experimenteer totdat het getekende punt precies overeenkomt met waar je aanraakt.
Code & Resources
Bibliotheek op GitHub: https://github.com/JoaoLopesF/SPFD5408
Schema
Het is een shield – het schema is de pin-mapping van de shield zelf.

Productieproces
- Onderhoudsstrategieën vernieuwen: Hoe PM-optimalisatie & FMEA post-reparatie storingen reduceren
- LCD vs. CRT: Voor- en Nadelen, en Wat Past Bij U
- Professionele gids voor bitmap-animatie op de ILI9341 2,4″ TFT Touchscreen Shield
- Bouw Boeiende LCD Animaties & Games met Arduino UNO
- JPEG Foto's en RGB565 Video op 2.8" TFT SPI Display met Arduino Nano
- Afbeeldingen Weergeven op een 1,17-inch TFT LCD met Arduino UNO
- BMP-afbeeldingen van SD-kaart Tonen op Arduino 2,4″ TFT LCD Shield
- Hoogwaardige 2,8″ TFT Shield voor Arduino Nano – 320×240 SPI Display
- Arduino GPS en TFT Touchscreen Shield Project: Real-Time Locatieweergave
- Hoe Aanraaksensoren Werken en Hun Belangrijkste Toepassingen
- C Preprocessor & Macros: #include, #define en voorwaardelijke compilatie onder de knie krijgen