Изображения
Microbit имеет дисплей красных светодиодов 5х5. Вы можете выводить изображение на него и создавать интересную анимацию.
MicroPython имеет много встроенных изображений например «Счастливый смайлик»:
from microbit import *
display.show(Image.HAPPY)
Давайте вспомним что делает первая строка? Вторая строка использует команду объекта
display
под названием show
. «Счастливый смайлик» является объектом типа (категории)
Image
и называется HAPPY
.
Обратите внимание название указывается заглавными буквами
Остальные встроенные изображения:
Image.HEART
- Большое сердце
Image.HEART_SMALL
- Малое сердце
Image.HAPPY
- Счастливый смайлик
Image.SMILE
- Улыбка
Image.SAD
- Грустный смайлик
Image.CONFUSED
- Смущенный смайлик
Image.ANGRY
- Злой смайлик
Image.ASLEEP
- Спящий смайлик
Image.SURPRISED
- Удивленный смайлик
Image.SILLY
- Глупый смайлик
Image.FABULOUS
- Воодушевленный смайлик
Image.MEH
-
Image.YES
- Да
Image.NO
- Нет
Image.CLOCK1
- … -Image.CLOCK12
- Стрелка часов
Image.ARROW_N
,Image.ARROW_NE
,Image.ARROW_E
,Image.ARROW_SE
,Image.ARROW_S
,Image.ARROW_SW
,Image.ARROW_W
,Image.ARROW_NW
- Стороны Света
Image.TRIANGLE
- Треугольник смотрит вверх
Image.TRIANGLE_LEFT
- Треугольник смотрит влево
Image.CHESSBOARD
- Шахматная доска
Image.DIAMOND
- Алмаз
Image.DIAMOND_SMALL
- Маленький алмаз
Image.SQUARE
- Квадрат
Image.SQUARE_SMALL
- Маленький квадрат
Image.RABBIT
- Кролик
Image.COW
- Корова
Image.MUSIC_CROTCHET
- Знак Ноты
Image.MUSIC_QUAVER
- Дрожание
Image.MUSIC_QUAVERS
- Дрожание
Image.PITCHFORK
- Камертон (вилка)
Image.XMAS
- Рождество
Image.PACMAN
- Пакмен
Image.TARGET
- Цель
Image.TSHIRT
- Футболка
Image.ROLLERSKATE
- Коньки
Image.DUCK
- Утка
Image.HOUSE
- Дом
Image.TORTOISE
- Черепаха
Image.BUTTERFLY
- Бабочка
Image.STICKFIGURE
- Фигура (рисунок)
Image.GHOST
- Призрак
Image.SWORD
- Меч
Image.GIRAFFE
- Жираф
Image.SKULL
- Череп
Image.UMBRELLA
- Зонтик
Image.SNAKE
- Змея
Попробуйте различные изображения, указав команды друг в столбик. Измените аргумент с картинкой внутри команды:
display.show(Image.HAPPY)
display.show(Image.ANGRY)
display.show(Image.SKULL)
Далее Вы узнаете как эффективнее записать данный код
Собственные изображения
Давайте создадим собственное изображение
Создается таблица 5 на 5
из цифр 0-9. Если указан 0
светодиод выключен.
Максимальная яркость 9
. Промежуточная яркость от 1
to 8
Вот наш код:
from microbit import *
boat = Image("02469:"
"02469:"
"02469:"
"02469:"
"02469")
display.show(boat)
На дисплее отобразится шкала яркости
Напишите код и попробуйте запрограммировать Microbit. Получилось !!!
Давайте обсуждать дальше. Вы создали объект boat
- типа Image
и указали
в скобках параметр, который состоит из 5 строк. Каждая строка заканчивается :
.
Итого у Вас 5 строк по 5 цифр.
Далее Вы подали объект в команду show
. Имя объекта пишется без «»
Вы можете записать все и в одну строку, но так менее понятно:
boat = Image("05050:05050:05050:99999:09990")
display.show(boat)
Анимация
У Вас выше уже был опыт создания анимации (смена изображений). Теперь найчимся делать это эффективнее.
Для этого Вы можете использовать список
, в который укажите перечень изображений.
В Python список указвается квадратными скобками ([
и ]
) и элементы разделены запятой (,
):
face = [Image.HAPPY, Image.ANGRY, Image.SKULL ]
display.show(face)
В списках Вы можете хранить различные объекты: строки, числа, изображения и т. д.:
primes = [2, 3, 5, 7, 11, 13, 17, 19]
display.show(primes)
Примечание
Числа не нужно заключать в кавычки, так как они представляют значения. Если Вы напишите
"2"
число станет символом (строкой). Вы получите интересный эффект если напишите
"2"+"2"
Напишите:
display.show(2+2)
display.show("2"+"2")
В списке можно даже хранить различные элементы:
mixed_up_list = ["hello!", 1.234, Image.HAPPY]
display.show(mixed_up_list)
Давайте вернемся к анимации готовых изображений и добавим параметры loop
и delay
:
face = [Image.HAPPY, Image.ANGRY, Image.SKULL ]
display.show(face , loop=True, delay=1000)
loop
- Зацикливание анимации - значениеTrue
(правда), проиграть 1 раз - значениеFalse
(ложь)delay
- время задержки между сменой изображений (милисекунды)wait
- блокирование выполнения пока не кончиться анимация - значениеTrue
(правда)