Een afbeelding weergeven op een LCD TFT-scherm met Arduino UNO!
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Apps en online services
|
Over dit project
In dit artikel laat ik je zien hoe je een afbeelding op een TFT-scherm krijgt met Arduino!
Lees de tutorial hieronder of bekijk de youtube video.
Bedradingsschema
- 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-kaartafbeelding:
Houd het volgende in gedachten:
- De afbeelding moet een .bmp-bestand zijn
- Maak de afbeelding niet groter dan 160 x 128 pixels
- Zorg ervoor dat de afbeelding arduino.bmp als bestandsnaam heeft en in het hoofddomein van je SD-kaart moet worden geplaatst!
- Het Arduino- en TFT-scherm moet spanningsvrij zijn bij het monteren van de SD-kaart.
Arduino-code
Kopieer de Arduino-code hieronder en upload deze naar je Arduino.
Eindresultaat
Open de seriële monitor in uw Arduino-programma. Uw .bmp-afbeelding wordt nu weergegeven op het TFT-scherm. Of bekijk de video voor het resultaat.
Code
- Een afbeelding weergeven op een LCD TFT-scherm met Arduino UNO-schets
Een afbeelding weergeven op een LCD TFT-scherm met Arduino UNO sketchArduino
// CreaTechWeb:een afbeelding weergeven op een TFT-scherm met arduino// https://createchweb.com/displaying-an-image-on-a-tft-screen-with-arduino/// inclusief de benodigde bibliotheken #include#include #include // Arduino LCD-bibliotheek// pindefinitie voor de Uno#define sd_cs 4#define lcd_cs 10#define dc 9#define rst 8/ / pindefinitie voor de Leonardo//#define sd_cs 8//#define lcd_cs 7//#define dc 0//#define rst 1TFT TFTscreen =TFT(lcd_cs, dc, rst);// deze variabele vertegenwoordigt de afbeelding die moet worden getekend op screenPImage logo;void setup() { // initialiseer de GLCD en toon een bericht // vraag de gebruiker om de seriële regel TFTscreen.begin(); TFT-scherm.achtergrond (255, 255, 255); TFT-scherm.slag (0, 0, 255); TFTscreen.println(); TFTscreen.println(F("Arduino TFT Bitmap Voorbeeld")); TFT-scherm.slag (0, 0, 0); TFTscreen.println(F("Open seriële monitor")); TFTscreen.println(F("om de schets uit te voeren")); // initialiseer de seriële poort:deze wordt gebruikt om // diagnostische informatie af te drukken Serial.begin (9600); while (!Serial) { // wacht tot de seriële poort verbinding maakt. Alleen nodig voor native USB-poort } // wis het GLCD-scherm voordat u TFTscreen.background (255, 255, 255) start; // probeer toegang te krijgen tot de SD-kaart. Als dat niet lukt (bijv. // geen kaart aanwezig), stopt het installatieproces. Serial.print(F("Initialiseren SD-kaart...")); if (!SD.begin(sd_cs)) { Serial.println(F("mislukt!")); opbrengst; } Serial.println(F("OK!")); // initialiseer en wis het GLCD-scherm TFTscreen.begin(); TFT-scherm.achtergrond (255, 255, 255); // nu de SD-kaart toegankelijk is, probeer het // afbeeldingsbestand te laden. logo =TFTscreen.loadImage("arduino.bmp"); if (!logo.isValid()) { Serial.println(F("fout bij het laden van arduino.bmp")); }}void loop() { // doe niets als de afbeelding niet correct is geladen. if (logo.isValid() ==false) { return; } Serial.println(F("tekeningafbeelding")); // verkrijg een willekeurige locatie waar de afbeelding moet worden getekend. // Om te voorkomen dat de afbeelding buiten het scherm wordt getekend, // houd rekening met de afbeeldingsgrootte. int x =willekeurig (TFT-scherm.breedte() - logo.breedte()); int y =willekeurig (TFTscreen.height() - logo.height()); // teken de afbeelding naar het scherm TFTscreen.image (logo, x, y); // wacht een beetje voordat je opnieuw tekent delay(1500);}
Productieproces
- LCD-paneel met Arduino voor Flight Simulator
- Arduino klok met islamitische gebedstijden
- BMP-afbeeldingen van SD-kaart weergeven op TFT LCD-scherm
- Persistentie van visie
- Een LED-matrix besturen met Arduino Uno
- 4x4x4 LED-kubus met Arduino Uno en 1sheeld
- GPS-locatieweergave met GPS- en TFT-schermschilden
- Autobesturing met Arduino Uno en Bluetooth
- Arduino-weerstation
- Eenvoudige wekker met DS1302 RTC
- 25 kHz 4-pins PWM-ventilatorregeling met Arduino Uno