Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| products:laboratory_iot_c:exp46 [2024/11/30 20:27] – [Эксперимент 46. Подключаем TFT дисплей] labuser30 | products:laboratory_iot_c:exp46 [2024/12/07 17:50] (текущий) – [Программный код эксперимента] labuser30 | ||
|---|---|---|---|
| Строка 31: | Строка 31: | ||
| Напишем приветственную надпись на дисплее. | Напишем приветственную надпись на дисплее. | ||
| - | < | + | < |
| - | from machine import Pin, SPI | + | #include <SPI.h> |
| - | from tft import TFT_GREEN | + | #include < |
| - | import font | + | |
| - | _init() | + | |
| - | dc = Pin(4, Pin.OUT) | + | #define PIN_CS |
| - | cs = Pin(2, Pin.OUT) | + | #define PIN_DC |
| - | rst = Pin(5, Pin.OUT) | + | #define PIN_RST |
| - | spi = SPI(1, baudrate=40000000, polarity=0, phase=0) | + | Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, |
| - | tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0) | + | void setup() { |
| + | | ||
| + | tft.setRotation(2); | ||
| + | tft.fillScreen(ST77XX_BLACK); | ||
| + | tft.setCursor(0, 0); | ||
| + | tft.setTextColor(ST77XX_WHITE); | ||
| + | tft.print(" | ||
| + | } | ||
| - | tft.initr() | + | void loop() { |
| - | + | } | |
| - | tft.clear(tft.rgbcolor(0, | + | |
| - | tft.text(0, | + | |
| </ | </ | ||
| Подключаем библиотеки для работы в портами ввода-вывода, | Подключаем библиотеки для работы в портами ввода-вывода, | ||
| - | < | + | < |
| - | from machine import Pin, SPI | + | #include <SPI.h> |
| - | from tft import TFT_GREEN | + | #include < |
| - | import font | + | |
| </ | </ | ||
| - | TFT дисплей не имеет встроенного знакогенератора, | + | TFT дисплей не имеет встроенного знакогенератора, |
| Настраиваем выводы, | Настраиваем выводы, | ||
| - | < | + | < |
| - | dc = Pin(4, Pin.OUT) | + | #define PIN_CS |
| - | cs = Pin(2, Pin.OUT) | + | #define PIN_DC |
| - | rst = Pin(5, Pin.OUT) | + | #define PIN_RST |
| </ | </ | ||
| - | Настраиваем | + | Создаем |
| - | < | + | < |
| - | spi = SPI(1, baudrate=40000000, polarity=0, phase=0) | + | Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, |
| </ | </ | ||
| - | Создаем | + | Вызываем |
| - | <code python[enable_line_numbers=" | + | <code python[enable_line_numbers=" |
| - | tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0) | + | tft.initR(INITR_BLACKTAB); |
| </ | </ | ||
| - | Вызываем | + | Переворачиваем изображение. Если этого не сделать, изображение на дисплее для нас |
| - | <code python[enable_line_numbers=" | + | <code python[enable_line_numbers=" |
| - | tft.initr() | + | tft.setRotation(2); |
| </ | </ | ||
| - | Когда дисплей инициализирован мы можем управлять изображением на нем. Сначала закрасим его черным цветом, | + | Когда дисплей инициализирован мы можем управлять изображением на нем. Сначала закрасим его черным цветом, |
| - | < | + | < |
| - | tft.clear(tft.rgbcolor(0, 0, 0)) | + | tft.fillScreen(ST77XX_BLACK); |
| - | tft.text(0,0,"Hello, World!", font.terminalfont, | + | |
| + | tft.setTextColor(ST77XX_WHITE); | ||
| + | tft.print(" | ||
| </ | </ | ||
| - | |||
| - | Как мы уже знаем из [[products: | ||
| - | |||
| - | Для вывода текста используем метод '' | ||
| - | * координата X | ||
| - | * координата Y | ||
| - | * строка для отображения | ||
| - | * шрифт | ||
| - | * цвет шрифта | ||
| - | * размер шрифты | ||
| Координата 0,0 находится в верхнем левом углу. Максимальная — в нижнем правом. | Координата 0,0 находится в верхнем левом углу. Максимальная — в нижнем правом. | ||