| Pino micro:bit | Função | Notas |
|---|---|---|
| P0 | Canal Vermelho (R) | analogWritePin P0, 0–1023 |
| P1 | Canal Verde (G) | analogWritePin P1, 0–1023 |
| P2 | Canal Azul (B) | analogWritePin P2, 0–1023 |
| GND | Massa | Partilhado pelos 3 canais |
0 = canal apagado, 1023 = intensidade máxima. Mistura de cores: R+G = amarelo, R+B = magenta, G+B = ciano, R+G+B = branco.Liga cada canal individualmente e depois combina-os.
// Vermelho puro
pins.analogWritePin(AnalogPin.P0, 1023)
pins.analogWritePin(AnalogPin.P1, 0)
pins.analogWritePin(AnalogPin.P2, 0)
basic.pause(1000)
// Verde puro
pins.analogWritePin(AnalogPin.P0, 0)
pins.analogWritePin(AnalogPin.P1, 1023)
pins.analogWritePin(AnalogPin.P2, 0)
basic.pause(1000)
// Azul puro
pins.analogWritePin(AnalogPin.P0, 0)
pins.analogWritePin(AnalogPin.P1, 0)
pins.analogWritePin(AnalogPin.P2, 1023)
basic.pause(1000)Percorre gradualmente as 6 cores primárias e secundárias.
// Função para definir cor RGB
function setCor(r: number, g: number, b: number) {
pins.analogWritePin(AnalogPin.P0, r)
pins.analogWritePin(AnalogPin.P1, g)
pins.analogWritePin(AnalogPin.P2, b)
}
basic.forever(function() {
setCor(1023, 0, 0) // Vermelho
basic.pause(500)
setCor(1023, 1023, 0) // Amarelo
basic.pause(500)
setCor(0, 1023, 0) // Verde
basic.pause(500)
setCor(0, 1023, 1023) // Ciano
basic.pause(500)
setCor(0, 0, 1023) // Azul
basic.pause(500)
setCor(1023, 0, 1023) // Magenta
basic.pause(500)
})