Jak připojit displej ST7789 1.69" 240x280 SPI k Arduino Uno
Představujeme vám návod, jak snadno připojit barevný 240x280 displej k vaší Arduino Uno desce pomocí SPI komunikace.
Obrázek zapojení ukazuje, jak správně připojit displej, a i když je zapojení pokročilejší, je stále jednoduché.
Budete potřebovat Arduino Uno, displej s SPI rozhraním ST7789, několik propojovacích kabelů a odpory o velikostech 2k2 a 3k3.
Pro začátek propojte GND a VCC piny přes nepájivé pole s odpovídajícími piny na Arduino pro napájení.
K převodu datových signálů na 5V úrovni, se kterými pracuje Arduino, na 3.3V použijte odpory jako děliče napětí: 2k2 odpor mezi displej a Arduino a 3k3 odpor mezi displejem a GND (viz obrázek).
Připojte piny následovně: SCL = 13, SDA = 11, RES = 8, DC = 9, CS = 10.
Pro komunikaci s displejem využijeme knihovny od Adafruit, které usnadní práci. Tato ukázka vám předvede, jak využít displej jako užitečný výstupní prostředek pro zobrazování textových informací, od stavových zpráv až po uživatelská rozhraní různých barev a vzhledů, s minimálním programováním. Zkuste si to sami a uvidíte, jak snadno můžete svým projektům dodat profesionální vzhled a interaktivitu. S naším návodem a vaší tvořivostí nejsou žádné hranice tomu, co můžete na displeji zobrazit. Pojďme tedy začít!
Zapojení:
Kód:
//Vložení knihoven#include <Adafruit_GFX.h>#include <Adafruit_ST7789.h>#include <SPI.h>// Definování pinů pro připojení#define TFT_CS 10 // Chip select pin (CS)#define TFT_RST 8 // Reset pin (RES)#define TFT_DC 9 // Data/Command pin (DC)// Inicializace displejeAdafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);void setup() {// Inicializace seriové komunikace pro debugSerial.begin(9600);Serial.println("ST7789 IPS Display Test");// Inicializace displejetft.init(240, 280); // Rozlišení displeje 240x280tft.setRotation(1); // Nastavení orientace displeje// Nastavení barvy pozadítft.fillScreen(ST77XX_BLACK);// Zobrazení textutft.setCursor(10, 30); // souřadnice umístění začátku textutft.setTextColor(ST77XX_WHITE); //Barva textutft.setTextSize(2); //velikost textutft.println("Ahoj Svete!"); //obsah textu// Zobrazení jednoduché grafikytft.drawRect(10, 50, 100, 100, ST77XX_GREEN); //draw pro zobrazení obrysůtft.fillCircle(150, 150, 30, ST77XX_BLUE); //fill pro vyplnění objektu}void loop() {}
