Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
products:laboratory_iot_c:exp47 [2024/11/30 21:22] – создано labuser30products:laboratory_iot_c:exp47 [2024/12/07 17:52] (текущий) – [Программный код эксперимента] labuser30
Строка 15: Строка 15:
 Выведем на дисплей различные примитивы. Выведем на дисплей различные примитивы.
  
-<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(4Pin.OUT) +Adafruit_ST7735 tft Adafruit_ST7735(PIN_CS,  PIN_DCPIN_RST);
-cs  = Pin(2Pin.OUT) +
-rst = Pin(5, Pin.OUT) +
-spi = SPI(1, baudrate=40000000, polarity=0, phase=0)+
  
-tft = TFT_GREEN(128160spidc, cs, rst, rotate=0)+void setup() { 
 +  tft.initR(INITR_BLACKTAB); 
 +  tft.setRotation(2);  
 +   
 +  // Заливка всего дисплея черным цветом 
 +  tft.fillScreen(ST77XX_BLACK); 
 +  
 +  // Отображаем текст "Size 1" синим цветомразмером 1 с началом в точке с координатой 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синим цветом, размером с началом в точке с координатой 0, 0 +  // Отображаем текст "Size 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 с началом в точке с координатой 010.  +  // Отображаем точку красным цветом с координатой 2080 
-# Длинный текст автоматически переносится на новую строку +  tft.drawPixel(20, 80, ST77XX_RED); 
-tft.text(0,10,"Long textLong text, Long text", font.terminalfont, tft.COLOR_RED1)+   
 +  // Отображаем закрашенный прямоугольник фиолетовым цветом, началом в точке с координатой 3080, шириной 60 и высотой 10 
 +  tft.fillRect(30806010ST77XX_MAGENTA);
  
-Отображаем текст "Size 2" зеленым цветом, размером 2 с началом в точке с координатой 030 +  // Отображаем горизонтальную линию синим цветом с началом в точке с координатой 20, 95 и шириной 60 
-tft.text(0,30,"Size 2"font.terminalfonttft.COLOR_GREEN, 2)+  tft.drawFastHLine(20, 95, 60, ST77XX_BLUE); 
 +   
 +  // Отображаем вертикальную линию зеленого цвета с началом в точке 1095 и высотой 30 
 +  tft.drawFastVLine(10, 95, 30, ST77XX_GREEN); 
 +   
 +  // Отображаем линию произвольной направленности красного цвета с началом в точке 15, 100 и концом в точке 100160 
 +  tft.drawLine(15100100160ST77XX_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'' — рисует линию произвольно направленности. Первые два параметра — координаты одного конца линии, третий и четвертый — координаты второго конца линии, пятый — цвет. 
  
 ==== Дополнительное задание ==== ==== Дополнительное задание ====