juffin
June 21, 2023, 9:09pm
1
Hello. I use TFT_eSPI with my ESP32 in Arduino IDE, I tried display bmp but get not bright colors.
on display:
in original:
I thought that trouble was in img convert, but I try jpg from example and get the same result:
I use ST7735 display https://www.aliexpress.com/item/1005004565692996.html?spm=a2g0o.order_list.order_list_main.162.6e921802MyEB6N
and my Setup.h:
#define ST7735_DRIVER
#define ST7735_REDTAB
#define TFT_WIDTH 320
#define TFT_HEIGHT 240
#define TFT_RGB_ORDER TFT_RGB
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15 // Chip select control pin
#define TFT_DC 2 // Data Command control pin
#define TFT_RST 4 // Reset pin (could connect to RST pin)
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
#define SMOOTH_FONT
#define SPI_FREQUENCY 40000000
Can you help what is wrong? Thanks!
xfpd
June 23, 2023, 5:40am
2
Green and blue make cyan. Red and blue make magenta. The blue is too strong.
Did you ever try something else, e.g. BGR?
1 Like
juffin
June 23, 2023, 11:20am
6
yes, I try BGR - color changed to blue
xfpd
June 23, 2023, 2:08pm
7
juffin:
TFT_RGB_ORDER
A search on "inverted colors ST7735" seems like the tft you have was not made for the library you are using. Finding the right library might solve it. "Color mixing" is another solution, suggested here:
What I mean, is that you can use the colour mixing technique I showed, without changing the RGB to BGR at all. It would have no effect on the generated code, which would run identically.
I don't think it would confuse any developers that read it - or it shouldn't. Because it is more explicit and understandable than what is there now.
All it does is take
const uint16_t BLACK = 0x0000;
const uint16_t WHITE = 0xffff;
const uint16_t BLUE = 0x001f;
const uint16_t RED = 0xf800;
const…
sumguy
June 23, 2023, 2:33pm
8
The S7735 has 4 variants, S7735B, S7735R green tab, S7735R red tab and S7735S black tab, choosing the wrong one in the header would mess with the final colors. Look closely at your display and see if it has any of the above numbers printed on the back.
1 Like
The BLUE signal line is stuck ON. This adds blue to EVERYTHING resulting in the display you see. Check the wiring and scope to blue line. If inactive, problem is with driver. If active, replace display.
This help me a lot, thanks.
system
Closed
June 10, 2024, 9:14am
13
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.