Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

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

Touchscreen-problemen oplossen op 2,4″ TFT LCD Shield voor Arduino

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

Touchscreen-problemen oplossen op 2,4″ TFT LCD Shield voor Arduino

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.

Touchscreen-problemen oplossen op 2,4″ TFT LCD Shield voor Arduino

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

Touchscreen-problemen oplossen op 2,4″ TFT LCD Shield voor Arduino

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
Touchscreen-problemen oplossen op 2,4″ TFT LCD Shield voor Arduino

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.

Touchscreen-problemen oplossen op 2,4″ TFT LCD Shield voor Arduino

Productieproces

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