Изображения

Microbit имеет дисплей красных светодиодов 5х5. Вы можете выводить изображение на него и создавать интересную анимацию.

MicroPython имеет много встроенных изображений например «Счастливый смайлик»:

from microbit import *
display.show(Image.HAPPY)

Давайте вспомним что делает первая строка? Вторая строка использует команду объекта display под названием show. «Счастливый смайлик» является объектом типа (категории) Image и называется HAPPY. Обратите внимание название указывается заглавными буквами

../_images/happy.png

Остальные встроенные изображения:

  • 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 (правда)