Aprende a criar os teus próprios programas — do mais simples ao mais complexo — com exemplos práticos e divertidos!
Este manual interativo apresenta 6 exemplos práticos com explicação passo a passo, seguidos de 6 trabalhos para pores em prática o que aprendeste. Cada exemplo usa blocos visuais e código Python.
Cada programa é mostrado com blocos coloridos, fáceis de entender.
Cada passo é explicado de forma clara e com linguagem simples.
Para ires mais longe, mostramos também o equivalente em Python.
No final de cada exemplo, um desafio para aplicares o que aprendeste!
Mostrar texto no ecrã LED do micro:bit.
Contar de 0 a 10 e mostrar no ecrã.
Simular o lançamento de um dado com o micro:bit.
Ler e mostrar a temperatura do ambiente.
Criar um jogo interativo com o acelerómetro.
Enviar mensagens entre dois micro:bits.
O primeiro programa de qualquer programador! Vamos fazer o micro:bit mostrar uma mensagem no seu ecrã de LEDs. É simples, mas é o ponto de partida para tudo o resto.
Quando o micro:bit é ligado, deve aparecer a mensagem "Olá, Mundo!" a desfilar no ecrã de LEDs, da direita para a esquerda.
Acede ao editor em makecode.microbit.org. Na categoria Básico, arrasta o bloco "mostrar string" para dentro do bloco "no início". Clica no texto e escreve "Olá, Mundo!". Por fim, clica em Transferir para enviar o programa ao micro:bit.
Bloco de cor amarela — categoria Básico. Este bloco envolve tudo o que deve acontecer uma vez, logo ao ligar.
Bloco azul — categoria Básico. Mostra o texto a desfilar nos LEDs. Podes alterar o texto dentro das aspas.
from microbit import *
display.scroll("Olá, Mundo!")Em Python, a função display.scroll() faz o texto desfilar no ecrã. É apenas uma linha de código!
O micro:bit tem um ecrã composto por 25 LEDs organizados numa grelha 5×5. Cada LED pode ser ligado ou apagado individualmente, o que permite formar letras e símbolos.
As instruções dentro deste bloco são executadas uma única vez, imediatamente após o micro:bit ser ligado ou reiniciado.
A palavra string significa "cadeia de texto". O micro:bit percorre cada letra e acende os LEDs corretos para a mostrar.
Como o ecrã é pequeno (5×5), o texto desloca-se da direita para a esquerda para que possas ler toda a mensagem.
Agora é a tua vez! Usando o que aprendeste no Exemplo 1, cria um programa que mostre o teu nome próprio e a tua turma no ecrã do micro:bit.
Usa o bloco "mostrar string" para exibir o teu primeiro nome no ecrã do micro:bit.
A seguir ao nome, adiciona outro bloco "mostrar string" que mostre o número e letra da tua turma (exemplo: "8ºA").
No final, usa o bloco "mostrar ícone" para exibir um coração ❤️ ou uma estrela ⭐ — à tua escolha!
Neste exemplo, o micro:bit vai contar automaticamente de 0 até 10, mostrando cada número no ecrã. Vamos aprender a usar variáveis e ciclos — duas das ferramentas mais poderosas da programação!
Ao pressionar o botão A, o micro:bit começa a contar de 0 a 10, mostrando cada número no ecrã com uma pausa de 1 segundo entre eles.
Na categoria Entrada, escolhe o bloco "quando o botão A é pressionado". Dentro, adiciona um ciclo "para index de 0 a 10" (categoria Ciclos). Dentro do ciclo, coloca "mostrar número" com a variável index, seguido de uma pausa de 1000 ms.
Ativa o programa ao pressionar o botão A do micro:bit. É um evento — o programa espera pela ação do utilizador.
Um ciclo que repete 11 vezes (de 0 a 10). A variável index aumenta automaticamente em 1 a cada repetição.
Mostra o valor atual da variável e espera 1 segundo (1000 milissegundos) antes de avançar.
from microbit import *
while True:
if button_a.was_pressed():
for i in range(11):
display.show(i)
sleep(1000)O ciclo for i in range(11) percorre os valores de 0 a 10. A função sleep(1000) espera 1 segundo.
Uma variável é como uma caixa com etiqueta onde guardamos um valor. Neste exemplo, a variável index guarda o número atual do contador.
Um ciclo é um bloco que repete as mesmas instruções várias vezes. O ciclo "para" repete exatamente o número de vezes que definirmos.
Sem a pausa, os números apareceriam tão rápido que não conseguias ler. A pausa de 1000 ms = 1 segundo torna a contagem legível.
Usando o que aprendeste no Exemplo 2, vais criar um contador com duas velocidades controladas pelos botões A e B do micro:bit.
Ao pressionar o botão A, o micro:bit deve contar de 1 a 5 com uma pausa de 2 segundos (2000 ms) entre cada número.
Ao pressionar o botão B, o micro:bit deve contar de 1 a 10 com uma pausa de apenas 300 ms entre cada número.
No final de cada contagem, mostra a mensagem "FIM!" no ecrã durante 2 segundos.
Vamos transformar o micro:bit num dado eletrónico! Ao sacudir o micro:bit, ele gera um número aleatório entre 1 e 6 — como um dado real, mas digital. Este exemplo introduz o conceito de números aleatórios e o uso do acelerómetro.
Ao sacudir o micro:bit, o ecrã mostra um número aleatório entre 1 e 6, simulando o lançamento de um dado.
Na categoria Entrada, escolhe o evento "ao sacudir". Depois, na categoria Variáveis, cria uma variável chamada "resultado". Usa o bloco "definir resultado como" e coloca dentro o bloco "número aleatório de 1 a 6" (categoria Matemática). Por fim, adiciona "mostrar número resultado".
O micro:bit tem um acelerómetro que deteta movimento. Quando o agitas, este evento é ativado automaticamente.
Gera um número imprevisível entre 1 e 6 e guarda-o na variável "resultado" — tal como um dado real.
Exibe o número gerado no ecrã de LEDs do micro:bit para o jogador ver.
from microbit import *
import random
while True:
if accelerometer.was_gesture("shake"):
resultado = random.randint(1, 6)
display.show(resultado)
sleep(500)O módulo random do Python gera números aleatórios. O gesto "shake" deteta quando sacodes o micro:bit.
É um sensor dentro do micro:bit que mede a aceleração e o movimento. Consegue detetar gestos como sacudir, inclinar, e até queda livre!
O micro:bit usa um algoritmo matemático para gerar números que parecem completamente imprevisíveis. Isso garante que o dado seja "justo".
Este conceito é usado em jogos de computador, simulações científicas e sistemas de segurança — os números aleatórios são essenciais em computação!
Usando o que aprendeste no Exemplo 3, vai criar um simulador de dois dados que calcula e mostra a soma dos resultados. Perfeito para jogos de tabuleiro!
Ao sacudir o micro:bit, gera dois números aleatórios entre 1 e 6 — um para cada dado. Guarda cada resultado numa variável diferente (ex: dado1 e dado2).
Mostra primeiro o resultado do dado1 durante 1 segundo, depois o resultado do dado2 durante 1 segundo.
No final, mostra a soma dos dois dados (dado1 + dado2) durante 2 segundos. A soma máxima possível é 12!
O micro:bit tem um sensor de temperatura incorporado! Neste exemplo, vamos criar um termómetro digital que lê a temperatura do ambiente e a exibe no ecrã. Vamos também usar condições para mostrar diferentes mensagens consoante o valor lido.
Ao pressionar o botão A, o micro:bit lê a temperatura e mostra o valor. Se a temperatura for abaixo de 20°C, mostra ❄️; se for igual ou acima, mostra ☀️.
Usa o evento "quando o botão A é pressionado". Adiciona "mostrar número temperatura (°C)". Depois adiciona um bloco "se ... então ... senão" (categoria Lógica). Na condição, compara: temperatura (°C) < 20. No ramo "então", mostra o ícone de neve; no ramo "senão", mostra o ícone do sol.
Lê o valor do sensor de temperatura do micro:bit. Atenção: mede a temperatura do processador, que pode ser ligeiramente superior à temperatura ambiente.
O bloco condicional permite tomar decisões. Se a condição for verdadeira, executa uma ação; caso contrário, executa outra.
Mostra imagens pré-definidas no ecrã. O ícone de neve representa frio (❄️) e o sol representa calor (☀️).
from microbit import *
while True:
if button_a.was_pressed():
temp = temperature()
display.show(temp)
sleep(1000)
if temp < 20:
display.show(Image.SNOW)
else:
display.show(Image.HAPPY)Em Python, temperature() lê o sensor. As imagens como Image.SNOW são ícones pré-definidos do micro:bit.
Uma condição é uma pergunta com resposta verdadeira ou falsa. Exemplos: "a temperatura é menor que 20?" ou "o botão foi pressionado?"
As instruções neste ramo só são executadas quando a condição é verdadeira. Exemplo: temperatura < 20 → mostrar neve.
As instruções neste ramo executam-se quando a condição é falsa. Exemplo: temperatura ≥ 20 → mostrar sol.
As condições são uma das ferramentas mais poderosas da programação — permitem que o programa tome decisões sozinho, consoante os dados que recebe.
Usando o que aprendeste no Exemplo 4, vais criar uma estação meteorológica mais completa com três categorias de temperatura e um sistema de alerta.
Ao pressionar o botão A, o micro:bit deve ler a temperatura e mostrar o valor em graus Celsius durante 2 segundos.
Após mostrar o número, classifica: abaixo de 15°C → mostra "FRIO" e ícone de neve; entre 15°C e 25°C → mostra "BOM" e um smile; acima de 25°C → mostra "CALOR" e ícone de coração.
Ao pressionar o botão B, mostra a mensagem "MAX: " seguida da temperatura máxima registada desde que o micro:bit foi ligado.
Vamos criar o jogo clássico Pedra, Papel, Tesoura no micro:bit! Ao sacudir o micro:bit, ele escolhe aleatoriamente uma das três opções e mostra no ecrã. Este exemplo combina tudo o que já aprendemos: eventos, variáveis, números aleatórios e condições!
Ao sacudir o micro:bit, gera um número aleatório entre 1 e 3. Consoante o número, mostra uma imagem: 1 → Pedra ✊, 2 → Papel 🖐️, 3 → Tesoura ✌️.
No evento "ao sacudir", cria a variável "jogada" e define-a como um número aleatório entre 1 e 3. Usa um bloco "se ... senão se ... senão" com três ramos: jogada = 1 (Pedra), jogada = 2 (Papel) e senão (Tesoura). Em cada ramo, usa o bloco "mostrar leds" para desenhar o símbolo.
Gera 1, 2 ou 3 com igual probabilidade — simulando a escolha aleatória do jogador.
O operador "=" (igualdade) verifica se a variável tem exatamente aquele valor. Cada ramo corresponde a uma jogada diferente.
Permite desenhar pixel a pixel no ecrã 5×5. Clica nos quadrados para ligar ou apagar LEDs e criar o teu desenho.
from microbit import *
import random
pedra = Image("09090:"
"99999:"
"99999:"
"09990:"
"00900")
while True:
if accelerometer.was_gesture("shake"):
jogada = random.randint(1, 3)
if jogada == 1:
display.show(Image.SQUARE)
elif jogada == 2:
display.show(Image.RECTANGLE)
else:
display.show(Image.SCISSORS)
sleep(2000)Em Python, elif significa "senão se". As imagens personalizadas usam uma grelha 5×5 com valores de 0 a 9 para o brilho de cada LED.
O acelerómetro deteta o movimento de sacudir
Um número aleatório (1, 2 ou 3) é gerado
A condição identifica a jogada correspondente
O símbolo correto é mostrado no ecrã
Este exemplo mostra como a programação combina vários conceitos para criar algo divertido e interativo. Repara que nenhum conceito novo foi introduzido — apenas aplicámos os anteriores de forma mais criativa!
Usando o que aprendeste no Exemplo 5, vais criar uma versão a dois jogadores do jogo, onde cada micro:bit faz a sua jogada e declara um vencedor.
Cada aluno usa um micro:bit. Ao sacudir, cada um gera a sua jogada aleatória (1=Pedra, 2=Papel, 3=Tesoura) e mostra o símbolo correspondente no ecrã.
Depois de ambos sacudirem, um aluno pressiona o botão A do seu micro:bit e introduz manualmente o resultado do adversário usando os botões. O micro:bit mostra "EU GANHO", "EMPATE" ou "PERDI".
Cria uma variável "pontos" que começa em 0. Cada vez que ganhas, aumenta 1 ponto. Ao pressionar A+B simultaneamente, mostra a pontuação atual.
O exemplo mais avançado! O micro:bit tem um módulo de rádio que permite enviar e receber mensagens sem fios. Vamos criar um sistema de mensagens simples entre dois micro:bits — como um walkie-talkie digital!
Dois micro:bits ligados ao mesmo grupo de rádio. Ao pressionar botão A, envia "OLÁ!". Ao pressionar botão B, envia "ADEUS!". Quando recebe uma mensagem, mostra-a no ecrã.
No bloco "no início", usa "rádio definir grupo 1" — ambos os micro:bits têm de ter o mesmo número de grupo! Nos eventos dos botões, usa "rádio enviar string". Adiciona o evento especial "ao receber rádio receivedString" e dentro coloca "mostrar string receivedString".
Define o canal de comunicação. Apenas micro:bits no mesmo grupo podem comunicar entre si. Usa números de 1 a 255.
Envia a mensagem por rádio para todos os micro:bits no mesmo grupo. A transmissão é instantânea e sem fios!
Este evento ativa-se automaticamente quando chega uma mensagem. A variável receivedString contém o texto recebido.
from microbit import *
import radio
radio.config(group=1)
radio.on()
while True:
if button_a.was_pressed():
radio.send("OLÁ!")
if button_b.was_pressed():
radio.send("ADEUS!")
mensagem = radio.receive()
if mensagem is not None:
display.scroll(mensagem)Em Python, radio.receive() verifica se chegou alguma mensagem. Se não chegou nada, retorna None.
O micro:bit usa ondas de rádio de 2,4 GHz — a mesma frequência do Wi-Fi e Bluetooth. O alcance é de aproximadamente 10 a 20 metros em espaços abertos.
O número de grupo funciona como um canal privado. Turmas diferentes podem usar grupos diferentes (ex: turma A usa grupo 1, turma B usa grupo 2) para não interferir entre si.
O bloco "ao receber rádio" é um listener — fica sempre à escuta em segundo plano e ativa-se assim que uma mensagem chega, sem bloquear o restante programa.
O trabalho final! Usando a comunicação por rádio, vais criar um sistema de votação onde um micro:bit recolhe os votos enviados pelos restantes e mostra os resultados. Um projeto de sala de aula real!
Programa um micro:bit para funcionar como votante. Botão A = voto SIM (envia "S" por rádio, mostra ✓). Botão B = voto NÃO (envia "N" por rádio, mostra ✗). Usa o grupo 7.
Programa outro micro:bit como recetor. Cria variáveis "sim" e "não" iniciadas a 0. Quando recebe "S", aumenta "sim" em 1. Quando recebe "N", aumenta "não" em 1.
No recetor, ao pressionar botão A, mostra "S:" seguido do número de votos SIM. Ao pressionar botão B, mostra "N:" seguido do número de votos NÃO. Ao pressionar A+B, mostra o vencedor!

Aqui tens um resumo de todos os blocos essenciais que usaste ao longo dos 6 exemplos:
O micro:bit está equipado com vários sensores integrados que permitem interagir com o mundo físico. Nos nossos exemplos, usámos três deles:
Mede a aceleração e orientação. Deteta gestos como sacudir, inclinar para a esquerda/direita, frente/trás. Usado nos Exemplos 3 e 5.
Mede a temperatura do processador, que é uma aproximação à temperatura ambiente. Preciso a ±2°C. Usado no Exemplo 4.
Permite comunicação sem fios a 2,4 GHz com alcance de 10-20 metros. Suporta envio de números, texto e valores. Usado no Exemplo 6.
Reparaste como cada exemplo foi ficando mais complexo? Esta progressão foi intencional — cada novo conceito baseia-se nos anteriores.
Instruções simples em ordem
Guardar dados e repetir ações
Dados imprevisíveis e movimento
Decisões baseadas em dados reais
Projeto criativo com múltiplos conceitos
Sistemas distribuídos sem fios
Abre o teu navegador e vai a makecode.microbit.org. Clica em "Novo Projeto" e dá um nome ao teu projeto. Não precisas de instalar nada!
Mostrar texto, números, ícones e pausas. Os blocos mais usados no início.
Botões A e B, gestos, temperatura, luz, bússola e pinos.
Tocar notas musicais, melodias e sons. Requer auscultadores ou altifalante.
Controlo avançado dos LEDs: ligar/apagar pixels individuais, brilho.
Operações matemáticas, números aleatórios, arredondamento.
Condições, comparações e operadores lógicos (E, OU, NÃO).
Repetir instruções: para, enquanto, repetir N vezes.
Criar, definir e usar variáveis para guardar valores.
Comunicação sem fios entre micro:bits: enviar e receber dados.
Todos os programadores cometem erros — faz parte do processo de aprendizagem! Aqui estão os erros mais comuns e como corrigi-los:
Causa: O texto desfila muito rápido ou é muito longo. Solução: Usa "mostrar número" em vez de "mostrar string" para números, ou adiciona uma pausa depois de mostrar.
Causa: O gesto não está a ser detetado. Solução: Agita o micro:bit com mais força. No simulador, clica no ícone de agitar que aparece no micro:bit virtual.
Causa: Os dois micro:bits têm grupos de rádio diferentes. Solução: Confirma que ambos têm exatamente o mesmo número de grupo no bloco "rádio definir grupo".
Causa: Usaste um ciclo "sempre" em vez de "para". Solução: Usa o ciclo correto. Para contar de A a B, usa o bloco "para index de A a B".
A versão mais recente do micro:bit tem microfone, altifalante e sensor de toque incorporados. Permite criar projetos com som e reconhecimento de palmas!
O micro:bit pode ser ligado a componentes externos pelos seus pinos: LEDs, servos, sensores de humidade, motores e muito mais. As possibilidades são imensas!
Quando te sentires confortável com os blocos, experimenta escrever os mesmos programas em Python puro no editor Mu ou no próprio MakeCode. É o próximo passo!
Depois de teres trabalhado todos os exemplos e trabalhos, faz uma avaliação honesta das tuas competências. Assinala o que já consegues fazer sem ajuda:
Aqui tens os termos mais importantes que aprendeste ao longo deste manual:
Conjunto de instruções ordenadas para resolver um problema. É a receita que o computador segue.
Espaço em memória com um nome, onde se guarda um valor que pode mudar durante o programa.
Estrutura que repete um conjunto de instruções um determinado número de vezes ou enquanto uma condição se verificar.
Expressão lógica que resulta em verdadeiro ou falso. Permite ao programa tomar decisões.
Ação do utilizador ou do sistema (pressionar botão, sacudir) que desencadeia a execução de instruções.
Sequência de caracteres de texto. Escreve-se sempre entre aspas: "Olá, Mundo!"
Componente eletrónico que mede uma grandeza física (temperatura, luz, aceleração) e converte em dados digitais.
Processo de encontrar e corrigir erros num programa. É uma competência essencial de qualquer programador!
Completaste os 6 exemplos e os 6 trabalhos práticos deste manual. Ao longo deste percurso, aprendeste os fundamentos da programação com o micro:bit: desde mostrar um simples "Olá, Mundo!" até criar um sistema de comunicação sem fios. São competências reais, usadas por programadores profissionais em todo o mundo!
makecode.microbit.org — O editor oficial com blocos e Python. Tem simulador integrado, tutoriais e projetos de exemplo. Gratuito, sem instalação.
microbit.org/get-started — Guias oficiais em inglês com exemplos detalhados de cada sensor e funcionalidade do micro:bit.
microbit.org/projects — Centenas de projetos prontos, desde jogos a instrumentos musicais, robótica e estações meteorológicas.
codewith.mu — Editor Python simples e gratuito, especialmente desenhado para principiantes. Ótimo para dar o próximo passo após os blocos.
A programação é uma das competências mais valiosas do século XXI. Com o micro:bit, aprendeste que criar tecnologia está ao alcance de todos — não precisas de anos de experiência para fazer coisas fantásticas. Cada grande projeto começa com um simples "Olá, Mundo!". Qual será o teu próximo projeto?
Programar o micro:bit