Ви не увійшли.
підключив дисп SPI TFT GMT130 v1.0 240x240 ST7789
до Ардуїно
SCK на D13
SDA на D11
RES на D9
DC На D10
BLK - 3.3 вольта
VCC - 3.3 вольта
GND до GND
Резистивні поділювачи стоять - на Ардуїно 5в на диспе 3.14в
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
#include <SPI.h>
#define TFT_CS -1 // Chip Select не викор.
#define TFT_DC 10 // Data/Command → D10
#define TFT_RST 9 // Reset → D9
Adafruit_ST7789 tft(TFT_CS, TFT_DC, TFT_RST);
void setup() {
tft.init(240, 240);
tft.setRotation(1);
tft.fillScreen(ST77XX_BLACK);
tft.fillRect(0, 0, 80, 80, ST77XX_RED);
tft.fillRect(80, 0, 80, 80, ST77XX_GREEN);
tft.fillRect(160, 0, 80, 80, ST77XX_BLUE);
tft.fillRect(0, 80, 80, 80, ST77XX_CYAN);
tft.fillRect(80, 80, 80, 80, ST77XX_MAGENTA);
tft.fillRect(160, 80, 80, 80, ST77XX_YELLOW);
tft.setTextColor(ST77XX_WHITE);
tft.setTextSize(2);
tft.setCursor(40, 180);
tft.println("ST7789 WORKS! :)");
}
void loop() {
// end
}
Компіляція -Завантаження (Arduino nano) - підсвітка ...і ніц на дисплеї немає
Adafruit-ST7735-Library-master і Adafruit_GFX_Library-1.11.11 стоять
Прошу допомоги
Остання редакція nickjust (2025-08-07 22:36:50)
Неактивний
Тут з даташіту треба б почати.. Дисплей 3в підключили до 5в контролера? навіщо? є готові 3-вольтові, можна стабілізатор перепаяти, чи level shifter поставити.
cs на дисплеї правильно підключений?
Не впевнений, чи вміє SPI на Atmega328P працювати без CS (треба буде глянути даташит). А якщо вміє, то чи правильно Adafruit_SPITFT його ініціалізує в такій конфігурації (треба дивитись в ісходніки бібліотеки).
Спробуйте для експерименту software SPI:
#define TFT_CS -1 // Chip Select не викор. #define TFT_DC 10 // Data/Command → D10 #define TFT_RST 9 // Reset → D9 #define TFT_SDA 11 // MOSI → D11 #define TFT_SCK 13 // SCK → D13 ... Adafruit_ST7789 tft(TFT_CS, TFT_DC, TFT_SDA, TFT_SCK, TFT_RST);
Якщо запрацювало, то скоріш за все SS апаратного контроллера SPI на піні D10 конфліктує з TFT_DC.
Неактивний
Не впевнений, чи вміє SPI на Atmega328P працювати без CS
Вміє. Коли SS в output (а Adafruit_SPITFT конфігурує DC пін в output), то конфлікту не має бути.
чи правильно Adafruit_SPITFT його ініціалізує в такій конфігурації.
А схоже, він ніяк його не ініціалізує. Для використання апаратного контролера, мабуть, потрібно викликати SPI.begin().
Остання редакція dimich (2025-08-08 02:35:44)
Неактивний
хттпс://github.com/adafruit/Adafruit-ST7735-Library/issues/204
tft.init(240, 240, SPI_MODE3);
2jokeer
Це я кому написав??
Резистивні поділювачи стоять - на Ардуїно 5в на диспе 3.14в
ДЯКУЮ jokeer
tft.init(240, 240, SPI_MODE3);
Допомогло!
Вшистко гра!
Треба читати /issues/
Остання редакція nickjust (2025-08-08 08:55:25)
Неактивний
Ну і ок. Просто на мою думку зручніше зразу брати контроллер з правильним живленням. Вашої проблеми це не стосується.