Найти в Дзене
Лютая дичЪ

Экран GMT130-V1.0 IPS 240*240 подключение к Arduino

Приобрел в китае экранчик GMT130-V1.0 IPS 240*240 на контроллере ST7789. Интерфейс SPI.

Углы обзора шикарные, пиксели мелкие.

-2

2 дня убил на то, чтобы заставить его работать. Все оказалось довольно просто.

1) Напряжение питания экранчика VCC +3.3V

2) Напряжение сигнала должно быть +3.3V

3) У экранчика отсутствует пин CS (заземлен на заводе).

4) Пин экранчика BL - гасит подсветку экрана. Если заземлить - экран гаснет, не подключать никуда или подать +3.3V - горит постоянно.

Для трансформации сигнала Arduino с 5V в 3.3V используется Level Shifter 74HC4050AP. Вместо него можно использовать делители напряжения на резисторах, но это А) не спортивно, Б) пустая трата электричества.

Т.к. используется аппаратный SPI Ардуины пины SDA и SCK приходят на D11 и D13 , в итоге экранчик работает немного шустрее.

При проектировании своей поделки нужно помнить об этом, и начинать с подключения экрана, как самого тормознутого элемента. А все остальное навешивать на оставшиеся пины Ардуины.

Подключение экрана к Ардуино
Подключение экрана к Ардуино

Для управления экраном используется библиотека Adafruit

-4

#include <Adafruit_GFX.h> // Core graphics library

#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789

#include <SPI.h> // Arduino SPI library

// ST7789 TFT module connections

#define TFT_CS -1 // такого пина у экрана нет

#define TFT_DC 9 // define data/command pin

#define TFT_RST 8 // define reset pin, or set to -1 and connect to Arduino RESET pin

// Initialize Adafruit ST7789 TFT library

Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);

void setup(){

tft.init(240, 240, SPI_MODE2); // Init ST7789 display 240x240 pixel

tft.setRotation(2); //перевернуть вверх ногами

}