Cómo mostrar imágenes en una pantalla TFT LCD de 1.17 pulgadas con Arduino UNO
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| Pantalla LCD/TFT de 1.17 pulgadas | 1 |
| Tarjeta SD | 1 |
Aplicaciones y servicios en línea
- Arduino IDE
Sobre el proyecto
En este artículo te mostraré cómo mostrar una imagen en una pantalla TFT con Arduino.
Diagrama de conexiones
- 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
Imagen en tarjeta SD
Requisitos importantes:
- La imagen debe ser archivo .bmp
- No mayor de 160 x 128 píxeles
- Nombre de archivo obligatorio: arduino.bmp en la raíz de la tarjeta SD
- El Arduino y la pantalla deben estar sin alimentación al insertar la tarjeta SD
Código de Arduino
Copia el código siguiente y súbelo a tu Arduino.
Resultado final
Abre el monitor serie en el programa de Arduino. Tu imagen .bmp se muestra ahora en la pantalla TFT.
Código
// CreaTechWeb: Mostrar una imagen en pantalla TFT con Arduino
// https://createchweb.com/displaying-an-image-on-a-tft-screen-with-arduino/
#include <SPI.h>
#include <SD.h>
#include <TFT.h>
#define sd_cs 4
#define lcd_cs 10
#define dc 9
#define rst 8
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) { }
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() == false) 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);
}
Proceso de manufactura
- Panel de control para Flight Simulator 2020 con Arduino Nano: Pantallas LCD y CDI
- Construye un reloj en tiempo real con Arduino para horarios de oración islámica
- Mostrar Imágenes BMP desde Tarjeta SD en Pantalla TFT LCD 2.4″ Shield Arduino
- Construir una pantalla de persistencia de visión portátil con Arduino UNO y ATtiny85
- Control de Matriz LED 8×8 con Arduino Uno: Guía Paso a Paso
- Construye un Cubo LED 4x4x4 con Arduino Uno y 1Sheeld – Proyecto LED Interactivo
- Proyecto Arduino GPS y Pantalla TFT Táctil Shield: Visualización de Ubicación en Tiempo Real
- Control remoto de coche con Arduino Uno y Bluetooth: Guía paso a paso
- Construye una Estación Meteorológica Arduino Fiable con Sensores DHT
- Construye un reloj despertador fiable con RTC DS1302 y Arduino UNO
- Control de Ventilador PWM de 4 Pines a 25 kHz con Arduino Uno – Montaje, Código y Pruebas