Acionando a matriz de LEDs da micro:bit com MicroPython

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:

 

matriz de LEDs da micro:bit

 

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:

 

Também é possível rolagem de mensagens (scroll) para a esquerda:

 

Você também pode passar parâmetros para controle do Scroll:

 

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:

 

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:

 

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:

 

Imagem com controle de brilho dos LEDs:

 

 

Controlando LEDs independentes

 

Também é possível controlar cada pixel do display:

 

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:

 

 

Comandos para controle da Matriz

 

Para limpar o conteúdo do display, use:

 

 

Exemplo:

 

 

O comando display.clear() apaga todos os LEDs.

Você pode desativar o display, usando:

 

 

Nesse caso o display será desligado, permitindo que os pinos associados ao display possam ser usados para outros fins.

 

Para ligar o display use:

 

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

MicroPython: Python para microcontrolador

Raspberry PI - GPIO output com Python

Outros artigos da série

<< Enviando comandos em tempo real para a micro:bit com o REPLLeitura dos botões da Micro:bit com MicroPython >>
NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Fábio Souza
Engenheiro com experiência no desenvolvimento de projetos eletrônicos embarcados. Hoje é diretor de operações do portal Embarcados, onde trabalha para levar conteúdos de eletrônica, sistemas embarcados e IoT para o Brasil. Também atua no ensino eletrônica e programação pelo Brasil. É entusiastas do movimento maker, da cultura DIY e do compartilhamento de conhecimento, publica diversos artigos sobre eletrônica e projetos open hardware, como o projeto Franzininho Participou da residência hacker 2018 no Redbull Basement. Quando não está ministrando palestras, cursos ou workshops, dedica seu tempo “escovando bits” ou projetando placas eletrônicas.

Deixe um comentário

avatar
 
  Notificações  
Notificar