Fotoschau mit TFT-Shield




Ziel des Projekts

Es wird ein soge­nann­tes Shield ver­wen­det, es wird ein­fach auf den Ardui­no UNO R3/UNO R4 auf­ge­steckt. Das dar­auf mon­tier­te TFT ver­fügt über 320×240 Pixel.
Auf die Mini-SD-Kar­te wer­den Fotos gespei­chert, sie wer­den mit einem dazu gehö­ri­gen Text auf dem TFT ange­zeigt.

Das Pro­gramm funk­tio­niert nur mit einem Shield, das die Stan­dard-Pins (⇒SPI 10 und 9 und SD-CS 4) ver­wen­det.
Der UNO R3 ist für die­ses Shield inso­fern nur bedingt geeig­net, weil er auf­grund des limi­tier­ten Spei­chers nur eine begrenz­te Anzahl von Fotos anzei­gen kann.

Dane­ben gibt es auch TFTs mit par­al­le­lem Anschluss, sie kön­nen mit die­sem Pro­gramm nicht ver­wen­det wer­den. Für den UNO R3 sind sie aber die bes­se­re Wahl, weil sie die Fotos ein­zeln Pixel für Pixel lesen und anzei­gen.

Bei­spiel­pro­gramm

Das Programm im Film

Benötigte Bibliotheken

Fotos zum Download

koeln.bmpstrand.bmpberlin_olympia.bmpwalhalla.bmpdresden_frauenkirche.bmp
chartres.bmpgaios.bmpbraunwald.bmpkoeln_deutz.bmpdhuenntalsperre.bmp

Fotos erstellen

Du benö­tigst eine Mini-SD-Kar­te, sie muss mit FAT-32 for­ma­tiert sein. Bei neu gekauf­ten SD-Kar­ten ist das in der Regel der Fall. Fotos dür­fen maxi­mal das For­mat von 320×240 Pixeln haben und müs­sen im For­mat bmp vor­lie­gen. Du kannst belie­bi­ge Fotos ska­lie­ren und ent­spre­chend abspei­chern.

Ich ver­wen­de hier­zu das Pro­gramm GIMP. Beach­te die not­wen­di­gen Ein­stel­lun­gen beim Spei­chern des Bil­des.

Natür­lich darf das Bild auch klei­ner als 320×240 Pixel sein. Bei der Funk­ti­on drawBMP kannst du die Start­po­si­ti­on auf der x- und y-Ach­se fest­le­gen.

Wegen des gerin­gen Spei­chers kann der UNO R3 maxi­mal etwa 14 Bil­der anzei­gen. Die­se Beschrän­kung fällt beim UNO R4 weg.
Aller­dings führt die Kom­pi­la­ti­on hier zu einer Feh­ler­mel­dung:

fatal error: wiring_private.h: No such file or directory

Du musst im Ver­zeich­nis Arduino/libraries/Adafruit_ILI9341 mit einem Text­edi­tor die Datei Adafruit_ILI9341.cpp öff­nen.
Erset­ze die Zei­len 52-54

#ifndef RASPI
#include "wiring_private.h"
#endif

durch

#if defined(__has_include)
#if __has_include("wiring_private.h")
#include "wiring_private.h"
#endif  // __has_include("wiring_private.h")
#else  //defined(__has_include)
#include "wiring_private.h"
#endif  //defined(__has_include)

Quel­le: 🔗https://forum.arduino.cc/t/compilation-error-wiring-private-h-no-such-file-or-directory/1146752/2

Das Programm


Letzte Aktualisierung: Feb. 1, 2026 @ 10:40

Inhalt