💻 Programação com MakeCode
🖥️ Interface do MakeCode
O MakeCode é um ambiente de programação visual e textual disponível em makecode.microbit.org. Não requer instalação — funciona diretamente no browser.
Editor de Blocos
Arrasta e encaixa blocos coloridos para construir programas visualmente. Ideal para iniciantes.
Editor JavaScript
Alterna para código JavaScript real. Os blocos e o JS estão sempre sincronizados.
Simulador
Testa o programa sem hardware. O simulador imita a matriz LED, botões e sensores.
Transferência WebUSB
Liga o micro:bit via USB e transfere diretamente sem copiar ficheiros manualmente.
🎨 Categorias de Blocos
| Categoria | Cor | O que contém |
|---|---|---|
| Básico | 🔵 Azul | mostrar número, mostrar string, mostrar ícone, pausa, para sempre |
| Input | 🟡 Amarelo | Botões A/B, gestos, temperatura, luz, acelerómetro, bússola, microfone |
| Música | 🟣 Roxo | Tocar notas, melodias, tons no piezo (P0) |
| LED | 🔴 Vermelho | Controlar pixels individuais da matriz 5×5 |
| Rádio | 🟠 Laranja | Comunicação Bluetooth entre micro:bits |
| Loops | 🟢 Verde | repetir, enquanto, para de X a Y |
| Lógica | 🔵 Azul claro | se/então/senão, operadores de comparação, booleanos |
| Variáveis | 🟠 Laranja averm. | Criar e modificar variáveis globais |
| Matemática | 🟣 Roxo claro | Operações, aleatoriedade, mapeamento de valores |
| Pinos | 🟤 Castanho | Ler/escrever pinos digitais e analógicos (P0, P1, P2...) |
| Série | ⚫ Cinzento | Enviar dados para o monitor série do computador |
💻 Modo JavaScript
Clica em "JavaScript" no topo do editor para ver o código equivalente. Podes editar diretamente em JS — as alterações refletem-se nos blocos.
// Variáveis
let contador = 0
let brilho = 0
// Ao pressionar A: incrementar e mostrar
input.onButtonPressed(Button.A, function () {
contador += 1
basic.showNumber(contador)
})
// Ao pressionar B: reset
input.onButtonPressed(Button.B, function () {
contador = 0
basic.showIcon(IconNames.No)
})
// Loop principal: ler pino analógico
basic.forever(function () {
brilho = pins.analogReadPin(AnalogPin.P1)
// Mapear 0-1023 para 0-9
let nivel = Math.map(brilho, 0, 1023, 0, 9)
serial.writeLine("Luz: " + brilho)
basic.pause(500)
})
📤 Transferir Programas
Ligar o micro:bit
Liga o cabo MicroUSB ao micro:bit e ao computador. Aparece a unidade MICROBIT no explorador de ficheiros.
Criar o programa
Cria ou edita o teu programa no MakeCode em makecode.microbit.org.
Descarregar o ficheiro .hex
Clica no botão "Descarregar" (ícone de seta para baixo) — é gerado um ficheiro microbit-nome.hex.
Copiar para o micro:bit
Arrasta o ficheiro .hex para a unidade MICROBIT. O LED amarelo pisca durante a transferência.
Programa em execução
Quando o LED amarelo para de piscar, o programa está a correr automaticamente.
📊 Monitor Série
O monitor série permite enviar dados do micro:bit para o computador — ideal para depurar e visualizar valores de sensores em tempo real.
// Enviar valores de sensores via série
basic.forever(function () {
serial.writeValue("temp", input.temperature())
serial.writeValue("luz", input.lightLevel())
serial.writeValue("accel_x", input.acceleration(Dimension.X))
basic.pause(200)
})
Para ver os dados: no MakeCode, clica em "Mostrar consola do dispositivo" após transferir o programa com WebUSB ligado.
🎮 Simulador
O simulador do MakeCode permite testar programas sem hardware físico. Podes clicar nos botões A/B simulados, agitar virtualmente o micro:bit e ver a matriz LED em tempo real.
🏆 Para ir mais longe
- Cria um programa com blocos e depois alterna para JavaScript — consegues perceber a correspondência?
- Usa
serial.writeValue()para enviar temperatura cada segundo e observa o gráfico no monitor série - Experimenta o simulador: clica nos botões A+B em simultâneo — o programa reage?
- Tenta usar WebUSB para transferência direta — é mais rápido que copiar o .hex