Continuando nossa aventura com a micro:bit programada em MicroPython, neste artigo vamos aprender como controlar a matriz de LEDs da micro:bit para exibir imagens e texto, e comandar LEDs independentes (pixels).
A matriz de LEDs da micro:bit
Os desenvolvedores da micro:bit tiveram uma sacada muito bacana ao acrescentar uma matriz de LEDs à placa. Usando LEDs SMD, é montada uma matriz de 5 x 5, que permite exibir textos e imagens:
A matriz de LED é acionada através de um multiplexador, gerado por software, de alta velocidade. O desenho das imagens é feito através de uma varredura, dando a impressão que os LEDs estão acesos ao mesmo tempo, aproveitando a persistência da visão.
Exibindo textos e imagens
Podemos exibir textos no display da micro:bit da seguinte forma:
from microbit import *
display.show("Hello")
Também é possível rolagem de mensagens (scroll) para a esquerda:
from microbit import *
display.scroll("Ola Makers!")
Você também pode passar parâmetros para controle do Scroll:
from microbit import *
display.scroll("Ola Makers!",delay = 100,loop = True)
No exemplo acima, delay controla o tempo de rolagem da mensagem. Já o loop = True, faz a mensagem ficar passando em loop.
Você também pode exibir números:
from microbit import * valor = 5 display.show(valor)
Teste os exemplos acima em sua placa.
Agora vamos exibir imagens!
Você pode aproveitar a classe Image, que já possui diversas imagens pré definidas. Por exemplo, para desenhar uma SMILE, digite:
from microbit import * display.show(Image.SMILE)
Teste outras imagens:
- 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.CLOCK12, Image.CLOCK11, Image.CLOCK10, Image.CLOCK9, Image.CLOCK8, Image.CLOCK7, Image.CLOCK6, Image.CLOCK5, Image.CLOCK4, Image.CLOCK3, Image.CLOCK2, Image.CLOCK1
- 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
Você também pode criar as suas próprias imagens. Além disso, você também pode controlar a intensidade de cada LED da matriz. Os valores de 1 a 8 representam os níveis de brilho entre off (0) e full on (9). Vamos a um exemplo.
Imagem com brilho total:
from microbit import *
quadrado = Image('99999:90009:90009:90009:99999:')
display.show(quadrado)
Imagem com controle de brilho dos LEDs:
from microbit import *
quadrado = Image('99999:93339:93039:93339:99999:')
display.show(quadrado)
Controlando LEDs independentes
Também é possível controlar cada pixel do display:
from microbit import * display.set_pixel(0,0,9)
No exemplo acima, o pixel da posição x = 0 e y = 0 foi acendido com o valor máximo de brilho.
Podemos fazer uma animação usando um loop:
from microbit import * display.clear() for x in range(0, 5): for y in range(0, 5): display.set_pixel(x,y,9) sleep(100)
Comandos para controle da Matriz
Para limpar o conteúdo do display, use:
display.clear()
Exemplo:
from microbit import * while True: display.show(Image.HAPPY) sleep(1000) display.clear() sleep(1000)
O comando display.clear() apaga todos os LEDs.
Você pode desativar o display, usando:
display.off()
Nesse caso o display será desligado, permitindo que os pinos associados ao display possam ser usados para outros fins.
Para ligar o display use:
display.on()
Conclusão
O uso da Matriz da micro:bit com o MicroPython é bem simplificado e flexível. Podemos exibir diversos tipos de informações de uma forma fácil e rápida. Teste todos os exemplos apresentados e explore os recursos.
Nos próximos artigos iremos explorar mais recursos da micro:bit.
Se ficou alguma dúvida ou tem alguma sugestão, deixe seu comentário abaixo.
Saiba mais
Raspberry Pi – Comunicação Serial (UART) entre a Raspberry Pi e Arduino em Python e Wiring











