St7735 and arduino

They don't have a library for that?

Actually this tutorial:

...says they can only display text. As you can see in the image it is possible to "draw" basic shapes.

Ah yes - it's not an LCD it's a TFT so you should be able to display anything.

this is a 16x2 lcd but it cannot, but I have st7735 it can, but somehow it doesn’t work out for me and gives an error https://youtu.be/-h9Vm0Ow_Is
I need something like this

Yes you are right

The problem though is the need for an Arduino Library - looks like images are displayed via a parallel interface.

This search brings some fruit to the table:
https://www.arduino.cc/search?tab=&q=st7735+library

thanks a lot did not help (

I used these OLED Screens, there is an application to convert images to LCD, I don't know if it will work for you.

http://kio4.com/arduino/31B_pantallaOLED.htm

http://en.radzio.dxp.pl/bitmap_converter/

thanks, checked, works, but only monochrome, need color, do you know the color converter

Try LCD image converter

2 Likes

thank you i will try now

I thought the Adafruit ST7735 and ST7789 Library hit the nail on the head. Note though, colour images can be heavy mb, hence some developers add an sd card slot for more memory.

the picture is not displayed why do you know?

arduino mega memory not enough?

This is a example but with OLED, read about memory...

is this an error most likely due to memory?

Format must be BMP, 24 bit colour. Their sample image of a daffodil is 96 x 64 pixels (required) and weighs in at just over 18KB, the Arduino Mega v3 has 8 KB SRAM memory. It also has Flash Ram available, 248 KB free.

Thanks for the help, it works, but it's a little crooked how to lower the picture down and how to make the background black

kod:
#include <Adafruit_ST7735.h>
#include <Adafruit_GFX.h>
#include <SPI.h>
#define TFT_CS 10
#define TFT_RST 9
#define TFT_DC 8
#define TFT_SCLK 52
#define TFT_MOSI 51
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
const uint16_t evive_in_hand[] PROGMEM ={
0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
void setup(){
tft.initR(INITR_BLACKTAB);
tft.setRotation(3);
tft.fillScreen(ST7735_BLACK);

}
void loop(){
int h = 80,w = 160, row, col, buffidx=0;
for (row=0; row<h; row++) { // For each scanline...
for (col=0; col<w; col++) { // For each pixel...
//To read from Flash Memory, pgm_read_XXX is required.
//Since image is stored as uint16_t, pgm_read_word is used as it uses 16bit address
tft.drawPixel(col, row, pgm_read_word(evive_in_hand + buffidx));
buffidx++;
} // end pixel
}

}