Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
products:laboratory_iot:exp46 [2020/05/25 19:29] – [Программный код эксперимента] labuser29 | products:laboratory_iot:exp46 [2024/11/30 20:33] (текущий) – [Программный код эксперимента] labuser30 |
---|
===== Эксперимент 46. Подключаем TFT дисплей ===== | ===== Эксперимент 46. Подключаем TFT дисплей ===== |
| |
В комплектаицю конструктора в версии MAXI входит TFT дисплей. Thin Film Transistor (TFT) – это система производства жидкокристаллических дисплеев, в основе которой лежит активная матрица из тонкопленочных транзисторов. При подаче напряжения на такую матрицу, кристаллы поворачиваются друг к другу, что приводит к образованию черного цвета. Отключение электричества дает противоположный результат — кристаллы образовывают белый цвет. Изменения подаваемого напряжения позволяет формировать любой цвет на каждом отдельно взятом пикселе. Дисплей имеет сложное многослойное строение и чтобы понять его принцип действия потребуются некоторые знания физики, поэтому здесь мы не будем рассказывать это. | В комплектацию конструктора в версии MAXI входит TFT дисплей. Thin Film Transistor (TFT) – это система производства жидкокристаллических дисплеев, в основе которой лежит активная матрица из тонкопленочных транзисторов. При подаче напряжения на такую матрицу, кристаллы поворачиваются друг к другу, что приводит к образованию черного цвета. Отключение электричества дает противоположный результат — кристаллы образовывают белый цвет. Изменения подаваемого напряжения позволяет формировать любой цвет на каждом отдельно взятом пикселе. Дисплей имеет сложное многослойное строение и чтобы понять его принцип действия потребуются некоторые знания физики, поэтому здесь мы не будем рассказывать это. |
| |
<WRAP center round info 60%> | <WRAP center round info 60%> |
[[https://ru.wikipedia.org/wiki/Serial_Peripheral_Interface|Подробнее о шине SPI]] | [[https://ru.wikipedia.org/wiki/Serial_Peripheral_Interface|Подробнее о шине SPI]] |
</WRAP> | </WRAP> |
| |
| В разных партиях конструктора версии MAXI может лежать дисплей одного из двух видов − либо с 8 выводами, либо с 11. В дальнейшем мы будем приводить монтажную схему для обоих дисплеев, но вам необходимо руководствоваться схемой для своего типа дисплея. |
| |
==== Схема эксперимента ==== | ==== Схема эксперимента ==== |
| |
{{ :products:esp-iot:exp21_mont.png?direct&600 |}} | {{ :products:esp-iot:exp21_mont.png?direct&600 |}} |
//Рисунок 1. Монтажная схема эксперимента// | //Рисунок 1. Монтажная схема эксперимента для дисплея с 8 выводами// |
| |
| {{ :products:esp-iot:exp21_mont_11pin.png?direct&600 |}} |
| //Рисунок 2. Монтажная схема эксперимента для дисплея с 11 выводами// |
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== |
Теперь напишем программный код. Пусть, когда кнопка не нажата, светодиод не горит. А при нажатии кнопки— горит. | Напишем приветственную надпись на дисплее. |
| |
<file python Exp46.py[enable_line_numbers="2", start_line_numbers_at="1"]> | <file python Exp46.py[enable_line_numbers="2", start_line_numbers_at="1"]> |
| |
Создаем объект дисплея и задаем его параметры, такие как ширина и высота дисплея в пикселях и какие выводы микроконтроллера используются для управления. | Создаем объект дисплея и задаем его параметры, такие как ширина и высота дисплея в пикселях и какие выводы микроконтроллера используются для управления. |
<code python[enable_line_numbers="2", start_line_numbers_at="112"]> | <code python[enable_line_numbers="2", start_line_numbers_at="12"]> |
tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0) | tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0) |
</code> | </code> |
Координата 0,0 находится в верхнем левом углу. Максимальная — в нижнем правом. | Координата 0,0 находится в верхнем левом углу. Максимальная — в нижнем правом. |
{{ :products:esp-iot:exp21_coords.png?nolink |}} | {{ :products:esp-iot:exp21_coords.png?nolink |}} |
//Рисунок 2. Отсчет координат на дисплее// | //Рисунок 3. Отсчет координат на дисплее// |
| |
==== Дополнительное задание ==== | ==== Дополнительное задание ==== |
<WRAP center round tip 60%> | <WRAP center round tip 60%> |
1. Выведи другой текст по середине дисплея | - Выведи другой текст по середине дисплея |
2. Выведи несколько строк разными цветами друг под другом | - Выведи несколько строк разными цветами друг под другом |
</WRAP> | </WRAP> |
| |