MicroPython:Библиотеки/pyb/Класс LCD: различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[]</ref>= <syntaxhighlight lang="python"...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[]</ref>= | =Класс LCD – управление LCD-дисплеем на плате LCD32MKv1.0<ref>[http://docs.micropython.org/en/latest/library/pyb.LCD.html docs.micropython.org - class LCD – LCD control for the LCD touch-sensor pyskin]</ref>= | ||
Класс LCD используется для управления LCD-дисплеем на плате [[LCD32MKv1.0]], также оснащенной тактильным датчиком. [[LCD-дисплей]] здесь – это монохромный экран с разрешением ''128x32 пикселей'' (номер детали – [[NHD-C12832A1Z]]). | |||
[[LCD32MKv1.0]] должна быть подключена либо к ''X-позиции'' (нижняя половина), либо к ''Y-позиции'' (верхняя половина) [[PyBoard]]. После этого можно создать объект [[LCD]] во так: | |||
<syntaxhighlight lang="python" enclose="div"> | |||
lcd = pyb.LCD('X') # если плата подключена к X-позиции | |||
lcd = pyb.LCD('Y') # если плата подключена к Y-позиции | |||
</syntaxhighlight> | |||
Затем можно использовать следующие методы: | |||
<syntaxhighlight lang="python" enclose="div"> | |||
lcd.light(True) # включаем подсветку | |||
lcd.write('Привет, мир!\n') # печатаем текст на экране | |||
</syntaxhighlight> | |||
Кроме того, в этом драйвере реализован двойной буфер для чтения/записи пикселей. Например, чтобы запрограммировать прыгающую точку, попробуйте следующее: | |||
<syntaxhighlight lang="python" enclose="div"> | |||
x = y = 0 | |||
dx = dy = 1 | |||
while True: | |||
# обновляем позицию точки: | |||
x += dx | |||
y += dy | |||
# делаем так, чтобы точка отскакивала от краев экрана: | |||
if x <= 0 or x >= 127: dx = -dx | |||
if y <= 0 or y >= 31: dy = -dy | |||
lcd.fill(0) # очищаем буфер | |||
lcd.pixel(x, y, 1) # рисуем точку | |||
lcd.show() # показываем буфер | |||
pyb.delay(50) # делаем паузу на 50 мс | |||
</syntaxhighlight> | |||
== Конструкторы == | |||
* [[MicroPython:Библиотеки/pyb/Класс LCD/pyb.LCD()|pyb.LCD(skin_position)]] | |||
* Класс pyb.LCD(skin_position) – конструирует объект [[LCD]] на заданной позиции платы. В аргументе skin_position может быть ‘X’ или ‘Y’, и заданное в нем значение должно соответствовать позиции, к которой подключена LCD-плата. | |||
== Методы == | |||
* LCD.command(instr_data, buf) – отправляет команду или данные на LCD-дисплей. Чтобы отправить команду, впишите в instr_data значение «0», а чтобы данные – «1». Аргумент buf – это буфер, содержащий инструкцию или данные, которые надо отправить. | |||
* LCD.contrast(value) – задает контраст LCD-дисплея. Диапазон значений, которые можно задать в аргументе value, варьируется между «0» и «47». | |||
* LCD.fill(colour) – заливает экран заданным цветом («0» – для белого, «1» – для черного). | |||
Этот метод пишет в скрытый буфер. Чтобы показать буфер, используйте show(). | |||
* LCD.get(x, y) – считывает пиксель на позиции (x, y). Возвращает «0» или «1». | |||
Этот метод считывает из видимого буфера. | |||
* LCD.light(value) – включает или выключает подсветку. Чтобы включить ее, задайте в аргументе value значение True или «1», а чтобы выключить – False или «0». | |||
* LCD.pixel(x, y, colour) – рисует пиксель на позиции x и y. Цвет пикселя задается в аргументе colour («0» или «1»). | |||
Этот метод пишет в скрытый буфер. Чтобы показать этот буфер, используйте show(). | |||
* LCD.show() – показывает скрытый буфер на экране. | |||
* LCD.text(str, x, y, colour) – рисует текст str на позиции x и y. Цвет текста задается в аргументе colour («0» или «1»). | |||
Этот метод записывает в скрытый буфер. Чтобы показать буфер, используйте show(). | |||
* LCD.write(str) – рисует на экране строку str. Она появится на экране немедленно. | |||
Версия от 19:16, 9 октября 2020
Класс LCD – управление LCD-дисплеем на плате LCD32MKv1.0[1]
Класс LCD используется для управления LCD-дисплеем на плате LCD32MKv1.0, также оснащенной тактильным датчиком. LCD-дисплей здесь – это монохромный экран с разрешением 128x32 пикселей (номер детали – NHD-C12832A1Z). LCD32MKv1.0 должна быть подключена либо к X-позиции (нижняя половина), либо к Y-позиции (верхняя половина) PyBoard. После этого можно создать объект LCD во так:
lcd = pyb.LCD('X') # если плата подключена к X-позиции
lcd = pyb.LCD('Y') # если плата подключена к Y-позиции
Затем можно использовать следующие методы:
lcd.light(True) # включаем подсветку
lcd.write('Привет, мир!\n') # печатаем текст на экране
Кроме того, в этом драйвере реализован двойной буфер для чтения/записи пикселей. Например, чтобы запрограммировать прыгающую точку, попробуйте следующее:
x = y = 0
dx = dy = 1
while True:
# обновляем позицию точки:
x += dx
y += dy
# делаем так, чтобы точка отскакивала от краев экрана:
if x <= 0 or x >= 127: dx = -dx
if y <= 0 or y >= 31: dy = -dy
lcd.fill(0) # очищаем буфер
lcd.pixel(x, y, 1) # рисуем точку
lcd.show() # показываем буфер
pyb.delay(50) # делаем паузу на 50 мс
Конструкторы
- Класс pyb.LCD(skin_position) – конструирует объект LCD на заданной позиции платы. В аргументе skin_position может быть ‘X’ или ‘Y’, и заданное в нем значение должно соответствовать позиции, к которой подключена LCD-плата.
Методы
- LCD.command(instr_data, buf) – отправляет команду или данные на LCD-дисплей. Чтобы отправить команду, впишите в instr_data значение «0», а чтобы данные – «1». Аргумент buf – это буфер, содержащий инструкцию или данные, которые надо отправить.
- LCD.contrast(value) – задает контраст LCD-дисплея. Диапазон значений, которые можно задать в аргументе value, варьируется между «0» и «47».
- LCD.fill(colour) – заливает экран заданным цветом («0» – для белого, «1» – для черного).
Этот метод пишет в скрытый буфер. Чтобы показать буфер, используйте show().
- LCD.get(x, y) – считывает пиксель на позиции (x, y). Возвращает «0» или «1».
Этот метод считывает из видимого буфера.
- LCD.light(value) – включает или выключает подсветку. Чтобы включить ее, задайте в аргументе value значение True или «1», а чтобы выключить – False или «0».
- LCD.pixel(x, y, colour) – рисует пиксель на позиции x и y. Цвет пикселя задается в аргументе colour («0» или «1»).
Этот метод пишет в скрытый буфер. Чтобы показать этот буфер, используйте show().
- LCD.show() – показывает скрытый буфер на экране.
- LCD.text(str, x, y, colour) – рисует текст str на позиции x и y. Цвет текста задается в аргументе colour («0» или «1»).
Этот метод записывает в скрытый буфер. Чтобы показать буфер, используйте show().
- LCD.write(str) – рисует на экране строку str. Она появится на экране немедленно.
<syntaxhighlight lang="python" enclose="div">