Este documento fornece instruções para usar a placa Sense HAT do Raspberry Pi para exibir texto e imagens na matriz LED. Ensina como controlar a matriz LED usando a biblioteca Python do Sense HAT para mostrar mensagens, cores e imagens digitais compostas por píxeis. Também explica como alterar a orientação da exibição ao girar a matriz.
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
Astro Pi - Explorando o Sense Hat
1. Conhecer o Sense HAT
Exibir texto e imagens na matriz LED do Sense HAT
O Sense HAT é uma placa suplementar para o Raspberry Pi, que foi criada para a
competição do Astro Pi. É uma parte essencial da tua missão Astro Pi. A placa
acrescenta a capacidade de medir e apresentar todo o tipo de informação usando
uma matriz LED.
Neste conjunto de atividades, explorarás o hardware Sense HAT e a sua biblioteca
Python. Aprenderás a controlar a matriz LED e a exibir resultados visuais.
Equipamento
o Kit Astro Pi
o Monitor
o Teclado USB
o Rato USB
o Chave de fendas
Atividade 1 – Montar o Sense HAT
Os dois Raspberry Pi enviados para a Estação Espacial Internacional (ISS, International Space Station) estão
equipados com uma placa Sense HAT (Hardware Attached on Top ou Hardware anexado ao topo), semelhante à
que tens no teu kit. A placa confere ao Raspberry Pi a capacidade de medir diferentes tipos de informação, desde
temperatura até movimento, e apresentação de resultados usando um ecrã especial – a matriz LED 8x8. A bordo
da ISS, os Raspberry Pi não podem ser ligados a um ecrã, por isso a matriz é a única forma real de visualizar os
resultados dos Raspberry Pi.
Figura 1 – Astro Pi Ed na ISS
Nesta atividade, montarás o Sense HAT para começar a explorar as suas capacidades.
Exercício
1. O Sense HAT é fornecido num saco antiestático, juntamente com os seguintes elementos:
• 4 x apoios hexagonais (fêmea a fêmea)
• 8 x parafusos M2.5
Certifica-te de que tens todos os elementos antes de iniciares a montagem.
2. 2. Agora, anexa o Sense HAT ao teu Raspberry Pi. Realiza esta tarefa com o Raspberry Pi desligado da tomada
elétrica e com todos os outros cabos desligados.
3. Aparafusa os apoios hexagonais ao próprio Raspberry Pi, introduzindo os parafusos a partir da parte inferior
e rodando os apoios hexagonais entre o dedo e o polegar (vê a Figura 2).
Figura 2 – Como montar o Sense HAT no Raspberry Pi
4. Em seguida, introduz o Sense HAT no conjunto de extensão de pinos GPIO. Os orifícios dos cantos devem
estar alinhados com os apoios hexagonais.
5. Por fim, coloca os restantes parafusos a partir da parte superior.
6. Usa uma chave de fendas pequena para apertar cada apoio de canto individualmente. Não precisas de os
apertar muito, apenas o suficiente para garantir que o HAT não fica solto.
7. Agora, estás pronto para ligar e iniciar o teu Astro Pi!
3. Atividade 2 – Olá, daqui é a Terra!
A matriz LED do Sense HAT é usada para exibir formas, ícones e mensagens à tripulação da ISS. Nesta
atividade, executarás o teu primeiro programa usando o Sense HAT e enviarás uma mensagem aos astronautas a
bordo da ISS.
Exercício
1. Abre o Python 3 clicando no logótipo Raspberry na parte superior do ecrã. Esta ação abrirá o Menu.
Seleciona Programming > Python 3. Esta ação fará surgir uma janela Python Shell. Seleciona File > New File e
digita o código a seguir na nova janela.
2. Seleciona File > Save As, escolhe um nome de ficheiro para o teu programa e, em seguida, seleciona Run >
Run module. A tua mensagem deverá, então, aparecer na matriz LED em texto a preto e branco. Dado que a
mensagem é muito longa irá deslocar-se na matriz.
3. Poderás também acrescentar um parâmetro de velocidade de deslocamento do texto da mensagem. Copia e
executa o seguinte código:
4. A matriz LED pode também exibir um único caráter, em vez de uma mensagem inteira, através do comando
sense.show_letter . Abre um novo ficheiro e digita o seguinte código:
5. Guarda o teu código e executa-o. O que faz?
4. Atividade 3 – Como funciona a exibição da cor?
A matriz LED do Sense HAT contém 64 LED multicoloridos. No interior de cada um dos 64 LED, existem três
LED mais pequenos: um vermelho, um verde e um azul, tal como no ecrã do teu televisor ou smartphone.
Nesta atividade, aprenderás como funciona a exibição de cores em sistemas eletrónicos e a usar os LED de cor
para enviar mensagens coloridas.
Exercício
1. Podes usar as cores vermelha, verde e azul para criar as outras cores. Estas são chamadas as três cores
primárias aditivas. Na Figura 3, existem três holofotes de brilho igual, um para cada cor. Na ausência de
qualquer cor, o resultado é preto.
a) Experimenta fazer vários conjuntos de duas cores diferentes. Obténs novas cores? Identifica-as.
b) Qual é o resultado de adicionar as três cores primárias?
Figura 3 – Mistura de cores aditivas
2 - É possível criar ainda mais cores do que as que vês na roda de cores, variando o brilho das três cores
originais usadas. Abre uma nova janela Python 3 e escreve o código a seguir.
5. Seleciona File > Save As e escolhe um nome de ficheiro para o teu programa. Em seguida, seleciona Run > Run
Module. Que cor foi exibida na matriz do Sense HAT?
3. As variáveis r, g e b representam as cores vermelha, verde e azul. Os números que contêm especificam a
quantidade de brilho que cada cor deve ter. O valor de brilho pode ser de entre 0 e 255. No código acima, foi
usado o valor máximo (255) para cada cor. Altera os valores para especificar 255 red mas 0 green e 0 blue. Em
seguida, executa novamente o código. Que outras cores consegues fazer?
4. Este sistema de mistura de cores é usado em todo o módulo de programação do Astro Pi. Podes usar mistura
de cores para criar um grande efeito programando texto de deslocamento. Digita o seguinte código num ficheiro
novo:
Observa a sintaxe text_colour=(255, 0, 0) – Não te esqueças das vírgulas!
5. Podes também modificar a cor de fundo da mensagem, desta forma:
Nota: as vírgulas são importantes, não te esqueças delas!
6. 6. Cria uma mensagem usando cores de pontos opostos da roda de cores para maximizar o contraste, criando
uma mensagem fácil de ler para astronautas atarefados. Consegues que a mensagem seja exibida para sempre?
Copia o teu código para a caixa a seguir.
Figura 4 – Roda de cores
Atividade 4 – Exibir imagens
A matriz LED pode exibir mais do que apenas texto. Podes também criar uma imagem! Se ampliares uma
imagem digital, verás milhares de pequenos quadrados, cada um preenchido com uma única cor. A combinação
destes quadrados – ou píxeis – forma a imagem. Nesta atividade, aprenderás o que é um píxel e como exibir
imagens usando a matriz LED do Sense HAT.
Exercício
1. A Figura 5 mostra os píxeis num ecrã LCD de um portátil. Um píxel é um pequeno elemento de imagem
numa imagem digital, como os minúsculos quadrados que vês no teu telemóvel. Cada píxel no teu ecrã é
composto por três subpíxeis (vermelho, verde e azul) Podes observar que os píxeis são ligados e desligados para
formar padrões de letras e números. Esta é a forma como funcionam todos os ecrãs de computadores e
smartphones. Se quiseres criar formas reconhecíveis na matriz LED, é isto que também precisas de fazer.
8. a) Pinta com cores a matriz acima de acordo com o que esperas que seja exibido na matriz do Sense HAT.
b) Guarda e executa o teu código. Efetuou o que esperavas que efetuasse?
3. Poderás experimentar e desenhar formas ou padrões usando o comando set_pixel uma e outra vez no teu
código. Porém, existe um comando set_pixels e com ele poderás mudar todos os 64 LED usando uma única
linha de código! Por exemplo, poderias desenhar uma nova cara triste para o jogo das Minas (Minecraft) na
matriz LED. E, poderás usar várias variáveis para definir a tua paleta de cores. Executa os exemplos a seguir:
9. Observa a sintaxe sense.set_pixels(name of the image) e []!
4. Agora, é a altura de criares a tua própria imagem de código. Experimenta pixelizar o Paxi, a mascote da
ESA, usando a grelha a seguir. Para cada quadrado, a cor deverá ser a cor principal em cada quadrado que
compõe a imagem do Paxi. Escreve o código que te permitirá exibir a imagem do Paxi na matriz LED.
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
r
10. 5. Abre uma nova janela Python 3 e executa o teu código. O Paxi foi exibido na tua matriz LED?
Atividade 5 – Definir a orientação
Até agora, todos os textos e imagens surgiram com a mesma orientação ascendente, considerando que a porta
HDMI está na parte inferior. Contudo, este nem sempre é o caso (especialmente na ISS). Nesta atividade,
aprenderás a alterar a orientação na matriz e a rodar o resultado visual exibido na mesma.
11. Exercício
1. Para alterares a orientação da matriz, poderás usar o método sense.set_rotation() e entre parêntesis, introduzir
um dos quatro ângulos (0, 90, 180, 270). Abre uma nova janela Python 3 e escreve o código a seguir.
Seleciona File > Save As e escolhe um nome de ficheiro para o teu programa. Em seguida, seleciona Run > Run
Module.
2. Poderás também criar um texto que gire usando um loop for. Abre uma nova janela Python 3. Digita e
executa o código a seguir. O que fez?
12. 3. Poderás também inverter a imagem no ecrã, horizontal ou verticalmente, usando estas linhas de código:
sense.flip_h()
ou
sense.flip_v()
Com o exemplo a seguir, poderás criar uma simples animação invertendo a imagem repetidamente:
Extensão
Consegues criar uma imagem giratória usando uma das técnicas de desenho já mostradas e usar o método
sense.set_rotation para fazer a imagem girar?
PASSOS SEGUINTES
Usar dispositivos de saída como a matriz do Sense HAT é uma forma fantástica para exibires texto e imagens
usando o teu Astro Pi. O Sense HAT do Raspberry Pi também contém um conjunto completo de sensores que
pode ser usado para teres a perceção do espaço à tua volta e realizar incríveis experiências científicas – na tua
sala de aula e a bordo da ISS! No próximo conjunto de atividades, explorarás as coisas possíveis que podes fazer
com os sensores Sense HAT.