Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
products:laboratory_iot:exp47 [2020/05/26 12:34] – labuser29 | products:laboratory_iot:exp47 [2024/11/30 21:22] (текущий) – [Программный код эксперимента] labuser30 |
---|
===== Эксперимент 47. Графические примитивы ===== | ===== Эксперимент 47. Графические примитивы ===== |
| |
| Чтобы освоить работу с дисплеем попробуем написать текст и нарисовать различные примитивы: линии, прямоугольники. |
| |
| |
| |
{{ :products:esp-iot:exp23_mont.png?direct&600 |}} | {{ :products:esp-iot:exp23_mont.png?direct&600 |}} |
//Рисунок 1. Монтажная схема эксперимента// | //Рисунок 1. Монтажная схема эксперимента для дисплея с 8 выводами// |
| |
| {{ :products:esp-iot:exp23_mont_11pin.png?direct&600 |}} |
| //Рисунок 2. Монтажная схема эксперимента для дисплея с 11 выводами// |
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== |
Напишем приветственную надпись на дисплее. | Выведем на дисплей различные примитивы. |
| |
<file python Exp47.py[enable_line_numbers="2", start_line_numbers_at="1"]> | <file python Exp47.py[enable_line_numbers="2", start_line_numbers_at="1"]> |
tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0) | tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0) |
| |
tft.initr() | tft.initr(tft.BGR) # tft.initr(tft.RGB) #Если вместо синего цвета отображается красный, а вместо красного синий |
| |
# Заливка всего дисплея черным цветом | # Заливка всего дисплея черным цветом |
# Отображаем линию произвольной направленности красного цвета с началом в точке 15, 100 и концом в точке 100, 160 | # Отображаем линию произвольной направленности красного цвета с началом в точке 15, 100 и концом в точке 100, 160 |
tft.line(15, 100, 100, 160, tft.COLOR_RED) | tft.line(15, 100, 100, 160, tft.COLOR_RED) |
| |
</file> | </file> |
| |
| |
| ''tft.clear'' — очищает дисплей. Закрашивает его целиком одним цветом. Значение цвета передается в качестве параметра. |
| |
| ''tft.text'' — выводит на дисплей текст. Первые два параметра — координаты, третий — строка текст для вывода, четвертый — шрифт, пятый — цвет, шестой — размер шрифта. |
| |
| |
| ''tft.pixel'' — отображает точку на дисплее. Первые два параметра — координаты, третий — цвет. |
| |
| ''tft.rect'' — рисует на дисплее прямоугольник. Первые два параметра — координаты угла, третий и четвертый — ширину и высоту прямоугольника, пятый — цвет |
| |
| |
| ''tft.hline'' — рисует горизонтальную линию. Первые два параметра — координаты левого конца линии, третий — ширина и четвертый — цвет линии. |
| |
| ''tft.vline'' — рисует вертикальную линию. Первые два параметра — координаты верхнего конца линии, третий — высота и четвертый — цвет линии. |
| |
| |
| ''tft.line'' — рисует линию произвольно направленности. Первые два параметра — координаты одного конца линии, третий и четвертый — координаты второго конца линии, пятый — цвет. |
| |
| <WRAP center round important 60%> |
| Дисплеи, которые могут быть в комплекте набора MAXI, отличаются не только количеством выводов, но и встроенными настройками, которые влияют на передачу цвета. Функция ''tft.initr'' инициализирует дисплей, подготавливает его к работе. В качестве параметра данная функция принимает настройку цвета — **tft.BGR** или **tft.RGB**. Если вместо красного цвета на дисплее отображается синий, а вместо синего- красный, то необходимо сменить настройку цвета на другую. |
| </WRAP> |
| |
| ==== Дополнительное задание ==== |
| <WRAP center round tip 60%> |
| - Нарисуй треугольник |
| </WRAP> |
| |