🌈 1.3" IPS Farveskærm (ST7789, 240x240)
Når en monokrom OLED ikke længere kan holde dit kunstneriske udtryk: en 1.3" IPS-farveskærm med 240x240 pixels og 65.000 farver. Skarp, lysstærk og flot fra alle vinkler.
Controlleren er en Sitronix ST7789, og skærmen styres over SPI. Den almindelige 7-pins udgave har ingen CS-pin – det har betydning for koden (se nedenfor).
🛒 Køb 1.3" IPS skærm📄 ST7789V datasheet (PDF)
⚡ Hurtige specifikationer
| Parameter | Værdi |
|---|---|
| Skærmstørrelse | 1.3 tommer, IPS |
| Opløsning | 240 x 240 pixels, 65K farver (RGB565) |
| Controller-chip | ST7789 (Sitronix) |
| Interface | SPI (kun skrivning – ingen MISO), ingen CS-pin på 7-pins udgaven |
| SPI-mode | Mode 2 eller 3 fordi CS mangler (Mode 0 virker typisk ikke) |
| Forsyning (VCC) | 3.3V |
| Logikniveau | 3.3V – brug level shifter fra 5V-boards |
| Baggrundslys | BLK-pin: ikke forbundet eller HIGH = tændt, LOW = slukket, PWM = dæmpning |
📌 Pinout
Set forfra, fra venstre mod højre (7-pins udgaven):
| Pin | Navn | Funktion | Forbindes til |
|---|---|---|---|
| 1 | GND | Stel | GND |
| 2 | VCC | Forsyning 3.3V | 3.3V |
| 3 | SCL | SPI-clock (SCK) | SCK |
| 4 | SDA | SPI-data ind (MOSI) | MOSI |
| 5 | RES | Reset, aktiv lav | Digital pin |
| 6 | DC | Data/kommando-valg | Digital pin |
| 7 | BLK | Baggrundslys | Ikke forbundet, 3.3V eller PWM-pin |
🔌 Sådan forbinder du den
| Skærm | Arduino UNO / Nano (via level shifter) | ESP32 (DevKit, direkte) |
|---|---|---|
| GND | GND | GND |
| VCC | 3.3V | 3.3V |
| SCL | D13 (SCK) | GPIO 18 |
| SDA | D11 (MOSI) | GPIO 23 |
| RES | D8 | GPIO 4 |
| DC | D9 | GPIO 2 |
| BLK | Ikke forbundet (eller D6 for PWM) | Ikke forbundet (eller en PWM-pin) |
Fordi der ikke er nogen CS-pin, kan skærmen ikke dele SPI-bussen med andre SPI-enheder (fx et SD-kort-modul).
💻 Eksempelkode
Installér "Adafruit ST7735 and ST7789 Library" og "Adafruit GFX Library". CS sættes til -1 (ingen CS), og SPI_MODE2 er tricket, der får de CS-løse moduler til at virke.
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
#include <SPI.h>
#define TFT_CS -1 // modulet har ingen CS-pin
#define TFT_DC 9 // ESP32: 2
#define TFT_RST 8 // ESP32: 4
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
void setup() {
tft.init(240, 240, SPI_MODE2); // 240x240 uden CS -> SPI mode 2
tft.setRotation(2); // fjern/ret hvis billedet vender forkert
tft.fillScreen(ST77XX_BLACK);
tft.setTextColor(ST77XX_GREEN);
tft.setTextSize(3);
tft.setCursor(20, 100);
tft.print("KompoNemt");
tft.fillCircle(120, 180, 25, ST77XX_MAGENTA);
}
void loop() {
}
💡 KompoNemt-tip fra værkstedet
- Den hyppigste fejl er 5V: En UNO sender 5V-signaler ud på SCK/MOSI/DC/RES. Brug en level shifter (fx vores bi-directional logic level converter) – eller endnu bedre: brug en ESP32, der kører 3.3V i forvejen.
-
Sort skærm men lyser? Så virker baggrundslyset, men controlleren får ikke de rigtige data. Prøv
SPI_MODE3i stedet forSPI_MODE2. -
Til ESP32 og fart: Biblioteket TFT_eSPI er markant hurtigere. Sæt
ST7789_DRIVER,TFT_WIDTH 240,TFT_HEIGHT 240ogTFT_CS -1i dens User_Setup.h. -
Spar strøm: Baggrundslyset er den store strømsluger. Styr BLK med PWM (
analogWrite) og dæmp det, når ingen kigger.
🔧 Fejlfinding
-
Hvid eller sort skærm: Tjek VCC = 3.3V, at SCL/SDA sidder på SCK/MOSI, og prøv
SPI_MODE3. -
Billedet er spejlvendt eller forskudt: Prøv en anden værdi i
setRotation()(0–3). -
Farverne er inverterede: Kald
tft.invertDisplay(true)ellerfalse. - Virker et øjeblik og så ikke mere: Har den fået 5V på data uden level shifter, kan controlleren være skadet.
- Board vises ikke i Arduino IDE? Se vores CH340-driver guide.
Sidder du fast? Skriv til os – vi hjælper gerne.