Bilder auf 1,17-Zoll-TFT-LCD mit Arduino UNO anzeigen
Komponenten und Zubehör
| Komponente | Menge |
|---|---|
| Arduino UNO | 1 |
| 1,17 Zoll LCD/TFT-Bildschirm | 1 |
| SD-Karte | 1 |
Apps und Onlinedienste
- Arduino IDE
Über dieses Projekt
In diesem Artikel zeige ich, wie man ein Bild auf einem TFT-Bildschirm mit Arduino darstellt.
Verdrahtungsplan
- 5V (LCD) → 5V Arduino
- MISO (LCD) → Pin 12 Arduino
- SCK (LCD) → Pin 13 Arduino
- MOSI (LCD) → Pin 11 Arduino
- LCD CS (LCD) → Pin 10 Arduino
- SD CS (LCD) → Pin 4 Arduino
- D/C (LCD) → Pin 9 Arduino
- RESET (LCD) → Pin 8 Arduino
- BL (LCD) → 5V Arduino
- GND (LCD) → GND Arduino
SD-Karten-Bild vorbereiten
Wichtig:
- Bild muss .bmp-Format haben
- Maximale Größe: 160 × 128 Pixel
- Dateiname: arduino.bmp im Stammverzeichnis der SD-Karte
- Arduino & TFT müssen spannungsfrei sein beim Einlegen der SD-Karte
Arduino-Code
Code unten kopieren & auf Arduino hochladen.
Ergebnis
Seriellen Monitor in der Arduino IDE öffnen. Das .bmp-Bild wird nun auf dem TFT-Bildschirm angezeigt.
Code
// CreaTechWeb: Bild auf TFT mit Arduino anzeigen
// https://createchweb.com/displaying-an-image-on-a-tft-screen-with-arduino/
#include
#include
#include // Arduino LCD Library
// Pin-Definition für Uno
#define sd_cs 4
#define lcd_cs 10
#define dc 9
#define rst 8
// Für Leonardo (auskommentiert)
// #define sd_cs 8
// #define lcd_cs 7
// #define dc 0
// #define rst 1
TFT TFTscreen = TFT(lcd_cs, dc, rst);
PImage logo;
void setup() {
TFTscreen.begin();
TFTscreen.background(255, 255, 255);
TFTscreen.stroke(0, 0, 255);
TFTscreen.println();
TFTscreen.println(F("Arduino TFT Bitmap Example"));
TFTscreen.stroke(0, 0, 0);
TFTscreen.println(F("Open serial monitor"));
TFTscreen.println(F("to run the sketch"));
Serial.begin(9600);
while (!Serial); // Warten auf Serial (nur bei nativem USB nötig)
TFTscreen.background(255, 255, 255);
Serial.print(F("Initializing SD card..."));
if (!SD.begin(sd_cs)) {
Serial.println(F("failed!"));
return;
}
Serial.println(F("OK!"));
TFTscreen.begin();
TFTscreen.background(255, 255, 255);
logo = TFTscreen.loadImage("arduino.bmp");
if (!logo.isValid()) {
Serial.println(F("error while loading arduino.bmp"));
}
}
void loop() {
if (!logo.isValid()) return;
Serial.println(F("drawing image"));
int x = random(TFTscreen.width() - logo.width());
int y = random(TFTscreen.height() - logo.height());
TFTscreen.image(logo, x, y);
delay(1500);
}
Herstellungsprozess
- Arduino Nano Flight Simulator 2020 Kontrollpanel – LCD & CDI Display
- Arduino Echtzeituhr für islamische Gebetszeiten bauen
- BMP-Bilder von SD-Karte auf Arduino 2,4″ TFT-LCD-Shield anzeigen
- Tragbares Persistence-of-Vision-Display mit Arduino UNO und ATtiny85 bauen
- 8×8 LED-Matrix mit Arduino Uno meistern: Schritt-für-Schritt-Anleitung
- 4x4x4 LED-Würfel mit Arduino Uno & 1Sheeld bauen – Interaktives LED-Projekt
- Arduino GPS & TFT Touchscreen Shield: Echtzeit-Positionsanzeige
- Arduino Uno & Bluetooth: Fernsteuerung eines Autos – Schritt-für-Schritt-Anleitung
- Zuverlässigen Wecker mit DS1302 RTC und Arduino UNO bauen
- 25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno – Bau, Code & Test