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

JPEG Foto's en RGB565 Video op 2.8" TFT SPI Display met Arduino Nano

Onderdelen en Benodigdheden

Arduino Nano R3 1
2.8" 320×240 SPI TFT Display (met touchscreen, bv. ILI9341) 1
Micro SD-kaart (>1 GB, FAT32) 1
TFT Shield voor Arduino Nano (breakout board) 1

Over Dit Project

Inleiding

Dit project toont hoe u JPEG afbeeldingen en RGB565 video kunt afspelen op een 2.8" TFT SPI display (320×240) met een Arduino Nano. De afbeeldingen worden direct van de SD-kaart gelezen en gedecodeerd.

Hardware

Monteer de TFT shield op de Nano, steek de SD-kaart in de slot op de shield. Zie eerdere artikelen voor montage details.

Software Voorbereiding

SD-kaart Formatteren

Formateer als FAT32. JPEG bestanden kunnen direct gekopieerd worden (max resolutie ~2560×1920).

Video Converteren naar RGB565

Gebruik ffmpeg om video's om te zetten naar raw RGB565 formaat:

ffmpeg -i video.avi -s 320x240 -pix_fmt rgb565 video.rgb

Het resulterende .rgb bestand wordt frame-voor-frame uitgelezen en getoond.

Libraries

  • YATFT (of EkaTFT) – hardware-specifieke TFT library: GitHub
  • XPT2046_Touchscreen – touch controller
  • yasdc – SD-kaart bestandsysteem en JPEG decoder (inbegrepen bij YATFT)

Code Functionaliteit

De sketch (PhotoAndVideoPlay.ino) doet het volgende:

  1. Initialiseert display, touchscreen, SD-kaart.
  2. Doorloopt alle bestanden op de SD-kaart.
  3. JPEG bestanden: Schakelt display naar YUV mode, decodeert en toont afbeelding (2 sec pauze).
  4. RGB565 bestanden: Schakelt display naar RGB mode, speelt video frame-voor-frame af met touchscreen bediening (Stop/Pauze/Play knoppen op scherm).
  5. Na afspelen alle bestanden: herstart cyclus.

Touchscreen Bediening (Tijdens Video)

  • Links (Stop): Stopt afspelen, keert terug naar fotoweergave.
  • Midden (Pauze): Toont pauze-knoppen, wacht op gebruikersactie.
  • Rechts (Play): Hervat afspelen.

Belangrijke Code Fragmenten

Setup

void setup() {
  Serial.begin(115200);
  tft.begin(0x4391, -8);      // Display initialiseren
  tft.SetColor(BLACK);
  tft.ClearDevice();
  ts.begin();                 // Touchscreen
  SPI.end();                  // SPI vrijmaken voor SD
  sdc.FSInit();               // SD init
  sdc.currentFileType = DEMO_FILE_TYPE_RGB;
}

Loop – Bestandsverwerking

void loop() {
  if (timeElapsed) {
    if (firstFile) sdc.FindFirst("*.*", ...);
    else sdc.FindNext(...);

    if (fileIsJPEG) {
      if (currentMode != JPEG) { tft.SetYUV(); ... }
      sdc.JPEGReadFromSD(&jpeg_decode, 0, 0, 320, 240);
    } else if (fileIsRGB) {
      if (currentMode != RGB) { tft.SetRGB(); ... }
      sdc.RGBReadFromSD(pFile, &ScanTouch); // met touch callback
    }
  }
}

Update (01-04-2021)

Er is een bijgewerkte library beschikbaar voor een reeks schermen (2 shields, 2 breakouts) met ondersteuning voor MegaAVR en ESP32. Meer info: EkaTFT GitHub.

Productieproces

  1. Analoge Sensoren Uitlezen met Raspberry Pi en Zabbix: Een Stapsgewijze Handleiding
  2. Hoe de Kuman 3,5″ TFT-display op RetroPie te Installeren – Stap-voor-stap Handleiding
  3. Professionele gids voor bitmap-animatie op de ILI9341 2,4″ TFT Touchscreen Shield
  4. 3D RGB Arduclock – Bluetooth LED Tijdstuk met Real-Time Clock
  5. Holografische Lichtveld 3D Display: Helder, Verzerringsvrij Zicht Voor AR
  6. Nieuwe HDMI‑APIX3 converter geeft automotive video & ADAS-testing een boost
  7. DATA MODUL lanceert 23,1″ ultra‑slank TFT-display met slimme Wi‑Fi‑besturing
  8. Productie Transformeren met Mobiliteit: Data, Stem, Video en Locatie-oplossingen
  9. DN en PN Aanduidingen op Flenzen Begrijpen: Een Uitgebreide Gids
  10. K 2019 Toont Snijden‑Edge Recycling Machines en Duurzame Verpakkingsinnovaties
  11. Injectiegieten Afwerkingen: SPI & VDI Standaarden Uitgelegd