Следующая версия | Предыдущая версия |
products:laboratory_iot_c:exp47 [2024/11/30 21:22] – создано labuser30 | products:laboratory_iot_c:exp47 [2024/12/07 17:52] (текущий) – [Программный код эксперимента] labuser30 |
---|
Выведем на дисплей различные примитивы. | Выведем на дисплей различные примитивы. |
| |
<file python Exp47.py[enable_line_numbers="2", start_line_numbers_at="1"]> | <file arduino Exp47.ino[enable_line_numbers="2", start_line_numbers_at="1"]> |
from machine import Pin, SPI | #include <SPI.h> |
from tft import TFT_GREEN | #include <Adafruit_ST7735.h> |
import font | |
_init() | |
| |
| #define PIN_CS 2 |
| #define PIN_DC 4 |
| #define PIN_RST 5 |
| |
dc = Pin(4, Pin.OUT) | Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, PIN_DC, PIN_RST); |
cs = Pin(2, Pin.OUT) | |
rst = Pin(5, Pin.OUT) | |
spi = SPI(1, baudrate=40000000, polarity=0, phase=0) | |
| |
tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0) | void setup() { |
| tft.initR(INITR_BLACKTAB); |
| tft.setRotation(2); |
| |
| // Заливка всего дисплея черным цветом |
| tft.fillScreen(ST77XX_BLACK); |
| |
| // Отображаем текст "Size 1" синим цветом, размером 1 с началом в точке с координатой 0, 0 |
| tft.setCursor(0, 0); |
| tft.setTextColor(ST77XX_BLUE); |
| tft.print("Size 1"); |
| |
tft.initr(tft.BGR) # tft.initr(tft.RGB) #Если вместо синего цвета отображается красный, а вместо красного синий | // Отображаем текст "Long text, Long text, Long text" красным цветом, размером 1 с началом в точке с координатой 0, 10. |
| // Длинный текст автоматически переносится на новую строку |
| tft.setCursor(0, 10); |
| tft.setTextColor(ST77XX_RED); |
| tft.print("Long text, Long text,Long text"); |
| |
# Заливка всего дисплея черным цветом | // Отображаем текст "Size 2" зеленым цветом, размером 2 с началом в точке с координатой 0, 30 |
tft.clear(tft.COLOR_BLACK) | tft.setCursor(0, 30); |
| tft.setTextColor(ST77XX_GREEN); |
| tft.setTextSize(2); |
| tft.print("Size 2"); |
| |
# Отображаем текст "Size 1" синим цветом, размером 1 с началом в точке с координатой 0, 0 | // Отображаем текст "Size 4" голубым цветом, размером 4 с началом в точке с координатой 0, 50 |
tft.text(0,0,"Size 1", font.terminalfont, tft.COLOR_BLUE, 1) | tft.setCursor(0, 50); |
| tft.setTextColor(ST77XX_BLUE); |
| tft.setTextSize(4); |
| tft.print("Size4"); |
| |
# Отображаем текст "Long text, Long text, Long text" красным цветом, размером 1 с началом в точке с координатой 0, 10. | // Отображаем точку красным цветом с координатой 20, 80 |
# Длинный текст автоматически переносится на новую строку | tft.drawPixel(20, 80, ST77XX_RED); |
tft.text(0,10,"Long text, Long text, Long text", font.terminalfont, tft.COLOR_RED, 1) | |
| // Отображаем закрашенный прямоугольник фиолетовым цветом, началом в точке с координатой 30, 80, шириной 60 и высотой 10 |
| tft.fillRect(30, 80, 60, 10, ST77XX_MAGENTA); |
| |
# Отображаем текст "Size 2" зеленым цветом, размером 2 с началом в точке с координатой 0, 30 | // Отображаем горизонтальную линию синим цветом с началом в точке с координатой 20, 95 и шириной 60 |
tft.text(0,30,"Size 2", font.terminalfont, tft.COLOR_GREEN, 2) | tft.drawFastHLine(20, 95, 60, ST77XX_BLUE); |
| |
| // Отображаем вертикальную линию зеленого цвета с началом в точке 10, 95 и высотой 30 |
| tft.drawFastVLine(10, 95, 30, ST77XX_GREEN); |
| |
| // Отображаем линию произвольной направленности красного цвета с началом в точке 15, 100 и концом в точке 100, 160 |
| tft.drawLine(15, 100, 100, 160, ST77XX_RED); |
| } |
| |
# Отображаем текст "Size 4" голубым цветом, размером 4 с началом в точке с координатой 0, 50 | void loop() { |
tft.text(0,50,"Size4", font.terminalfont, tft.rgbcolor(0, 255, 255), 4) | } |
| |
# Отображаем точку красным цветом с координатой 20, 80 | |
tft.pixel(20, 80, tft.COLOR_RED) | |
| |
# Отображаем закрашенный прямоугольник фиолетовым цветом, началом в точке с координатой 30, 80, шириной 60 и высотой 10 | |
tft.rect(30, 80, 60, 10, tft.COLOR_MAGENTA) | |
| |
# Отображаем горизонтальную линию синим цветом с началом в точке с координатой 20, 95 и шириной 60 | |
tft.hline(20, 95, 60, tft.COLOR_BLUE) | |
| |
# Отображаем вертикальную линию зеленого цвета с началом в точке 10, 95 и высотой 30 | |
tft.vline(10, 95, 30, tft.COLOR_GREEN) | |
| |
# Отображаем линию произвольной направленности красного цвета с началом в точке 15, 100 и концом в точке 100, 160 | |
tft.line(15, 100, 100, 160, tft.COLOR_RED) | |
</file> | </file> |
| |
| |
''tft.clear'' — очищает дисплей. Закрашивает его целиком одним цветом. Значение цвета передается в качестве параметра. | ''tft.fillScreen'' — очищает дисплей. Закрашивает его целиком одним цветом. Значение цвета передается в качестве параметра. |
| |
''tft.text'' — выводит на дисплей текст. Первые два параметра — координаты, третий — строка таксты для вывода, четвертый — шрифт, пятый — цвет, шестой — размер шрифта. | ''tft.setCursor'' — устанавливает виртуальный курсор для вывода текста. Координаты предаются в качестве параметров. |
| |
| ''tft.setTextColor'' — устанавливает цвет текста. Цвет передается в качестве параметра. |
| |
| ''tft.setTextSize'' — устанавливает размер текста. Размер передается в качестве параметра. |
| |
''tft.pixel'' — отображает точку на дисплее. Первые два параметра — координаты, третий — цвет. | ''tft.print'' — выводит на дисплей текст переданный в качестве параметра.. |
| |
| ''tft.drawPixel'' — отображает точку на дисплее. Первые два параметра — координаты, третий — цвет. |
| |
''tft.rect'' — рисует на дисплее прямоугольник. Первые два параметра — координаты угла, третий и четвертый — ширину и высоту прямоугольника, пятый — цвет | ''tft.fillRect'' — рисует на дисплее прямоугольник. Первые два параметра — координаты угла, третий и четвертый — ширину и высоту прямоугольника, пятый — цвет. |
| |
| ''tft.drawFastHLine'' — рисует горизонтальную линию. Первые два параметра — координаты левого конца линии, третий — ширина и четвертый — цвет линии. |
''tft.hline'' — рисует горизонтальную линию. Первые два параметра — координаты левого конца линии, третий — ширина и четвертый — цвет линии. | |
| |
''tft.vline'' — рисует вертикальную линию. Первые два параметра — координаты верхнего конца линии, третий — высота и четвертый — цвет линии. | ''tft.drawFastVLine'' — рисует вертикальную линию. Первые два параметра — координаты верхнего конца линии, третий — высота и четвертый — цвет линии. |
| |
''tft.line'' — рисует линию произвольно направленности. Первые два параметра — координаты одного конца линии, третий и четвертый — координаты второго конца линии, пятый — цвет. | ''tft.drawLine'' — рисует линию произвольно направленности. Первые два параметра — координаты одного конца линии, третий и четвертый — координаты второго конца линии, пятый — цвет. |
| |
==== Дополнительное задание ==== | ==== Дополнительное задание ==== |