Afbeeldingen Weergeven op een 1,17-inch TFT LCD met Arduino UNO
Onderdelen en benodigdheden
| Arduino UNO | 1 |
| 1,17 inch LCD/TFT scherm | 1 |
| SD Kaart | 1 |
Apps en online diensten
- Arduino IDE
Over dit project
In dit artikel laat ik zien hoe je een afbeelding op een TFT scherm krijgt met Arduino!
Lees de tutorial of bekijk de YouTube video.
Aansluitschema
- 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) → Pin 8 Arduino (let op: dubbele toewijzing in origineel, check datasheet)
- GND (LCD) → GND Arduino
SD Kaart Afbeelding
Houd rekening met het volgende:
- De afbeelding moet een .bmp bestand zijn
- Maak de afbeelding niet groter dan 160 x 128 pixels
- De bestandsnaam moet arduino.bmp zijn en in de root map van de SD kaart staan!
- De Arduino en het TFT scherm moeten spanningsloos zijn bij het plaatsen van de SD kaart.
Arduino Code
Kopieer de onderstaande code en upload naar je Arduino.
Eindresultaat
Open de seriële monitor in de Arduino IDE. Je .bmp afbeelding wordt nu op het TFT scherm getoond. Of bekijk de video voor het resultaat.
Code
Afbeelding Weergeven op LCD TFT Scherm met Arduino UNO (Arduino)
// CreaTechWeb: Afbeelding weergeven op TFT scherm met Arduino
// https://createchweb.com/displaying-an-image-on-a-tft-screen-with-arduino/
#include <SPI.h>
#include <SD.h>
#include <TFT.h> // Arduino LCD library
// Pin definitie voor de Uno
#define sd_cs 4
#define lcd_cs 10
#define dc 9
#define rst 8
// Pin definitie voor de Leonardo (uitgecommentarieerd)
//#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 Voorbeeld"));
TFTscreen.stroke(0, 0, 0);
TFTscreen.println(F("Open seriële monitor"));
TFTscreen.println(F("om de sketch te draaien"));
Serial.begin(9600);
while (!Serial) { } // wacht op seriële poort (alleen voor native USB)
TFTscreen.background(255, 255, 255);
Serial.print(F("SD kaart initialiseren..."));
if (!SD.begin(sd_cs)) {
Serial.println(F("mislukt!"));
return;
}
Serial.println(F("OK!"));
TFTscreen.begin();
TFTscreen.background(255, 255, 255);
logo = TFTscreen.loadImage("arduino.bmp");
if (!logo.isValid()) {
Serial.println(F("fout bij laden arduino.bmp"));
}
}
void loop() {
if (logo.isValid() == false) return;
Serial.println(F("afbeelding tekenen"));
int x = random(TFTscreen.width() - logo.width());
int y = random(TFTscreen.height() - logo.height());
TFTscreen.image(logo, x, y);
delay(1500);
}
Productieproces
- Arduino Nano Flight Simulator 2020 Bedieningspaneel – LCD & CDI Display
- Bouw een Arduino Real-Time Clock voor Islamitische Gebedstijden
- BMP-afbeeldingen van SD-kaart Tonen op Arduino 2,4″ TFT LCD Shield
- Een draagbaar Persistence-of-Vision-display bouwen met Arduino UNO en ATtiny85
- Een 8×8 LED-matrix beheersen met Arduino Uno: Stap-voor-stap handleiding
- Bouw een 4x4x4 LED-kubus met Arduino Uno & 1Sheeld – Interactief LED-project
- Arduino GPS en TFT Touchscreen Shield Project: Real-Time Locatieweergave
- Arduino Uno & Bluetooth voor afstandsbediening van auto: stap-voor-stap handleiding
- Bouw een betrouwbare Arduino-weerstation met DHT-sensoren
- Bouw een betrouwbare wekker met DS1302 RTC en Arduino UNO
- 25 kHz 4-pins PWM-ventilatorbesturing met Arduino Uno – Bouw, Code & Test