⬤ Iniciante
💡 LEDs Coloridos
💡 Como funciona um LED?
Um LED (Light Emitting Diode) é um díodo que emite luz quando atravessado por corrente elétrica. Tem dois terminais: ânodo (+) — perna mais longa — e cátodo (−) — perna mais curta.
Tensão direta (Vf)
~2V
LED vermelho/laranja/amarelo
Tensão direta (Vf)
~2.2V
LED verde
Corrente máx.
20 mA
Pico absoluto
Corrente típica
~13 mA
Com 47Ω e 3.3V
ℹ️ Cálculo da resistência
R = (Vcc − Vf) / I = (3.3V − 2.0V) / 0.013A ≈ 100Ω. A resistência de 47Ω do kit é mais permissiva (~27mA) mas aceitável para uso breve. Para uso prolongado usa 100Ω.
🔌 Montagem
P0→ Resistência 47Ω → Ânodo LED vermelho → Cátodo → GND
P1→ Resistência 47Ω → Ânodo LED verde → Cátodo → GND
3V→ Linha + da breadboard
GND→ Linha − da breadboard
⚠️ Polaridade
A perna mais longa do LED é o ânodo (+) e liga ao pino do micro:bit (via resistência). A perna mais curta é o cátodo (−) e liga ao GND.
🔦 Ligar e Apagar — Digital
led_digital.js
// Piscar LED no P0 — 1 segundo ligado, 1 desligado
basic.forever(function () {
pins.digitalWritePin(DigitalPin.P0, 1) // Liga LED
basic.pause(1000)
pins.digitalWritePin(DigitalPin.P0, 0) // Apaga LED
basic.pause(1000)
})
// Piscar dois LEDs em alternância (P0 e P1)
basic.forever(function () {
pins.digitalWritePin(DigitalPin.P0, 1)
pins.digitalWritePin(DigitalPin.P1, 0)
basic.pause(500)
pins.digitalWritePin(DigitalPin.P0, 0)
pins.digitalWritePin(DigitalPin.P1, 1)
basic.pause(500)
})
🌟 Controlo de Brilho com PWM
O PWM (Pulse Width Modulation) liga e desliga o LED muito rapidamente. A percentagem de tempo ligado (duty cycle) determina o brilho percebido. No MakeCode, o valor vai de 0 (apagado) a 1023 (brilho máximo).
led_pwm.js
// Fade in: aumentar brilho gradualmente
basic.forever(function () {
// Fade in
for (let brilho = 0; brilho <= 1023; brilho += 50) {
pins.analogWritePin(AnalogPin.P0, brilho)
basic.pause(30)
}
// Fade out
for (let brilho = 1023; brilho >= 0; brilho -= 50) {
pins.analogWritePin(AnalogPin.P0, brilho)
basic.pause(30)
}
})
🌈 Sequência de Cores
sequencia_leds.js
// Acender LEDs em sequência — semáforo simples
let pinos = [AnalogPin.P0, AnalogPin.P1, AnalogPin.P2, AnalogPin.P3]
// P0=vermelho, P1=laranja, P2=amarelo, P3=verde
basic.forever(function () {
for (let i = 0; i < pinos.length; i++) {
// Apagar todos
for (let j = 0; j < pinos.length; j++) {
pins.analogWritePin(pinos[j], 0)
}
// Acender o atual com fade
pins.analogWritePin(pinos[i], 800)
basic.pause(600)
}
})
🏆 Para ir mais longe
- Liga todos os 8 LEDs (2R+2O+2Y+2G) em sequência tipo "corrida de luzes" (Knight Rider)
- Usa o botão A para aumentar o brilho e o botão B para diminuir — armazena o valor numa variável
- Simula um semáforo: verde 5s, amarelo 2s, vermelho 5s em ciclo contínuo
- Experimenta diferentes frequências de PWM — notas que o LED pisca visivelmente abaixo de ~50 Hz?