⬤ Avançado
🌀 Energia Eólica
Nesta página
Ventoinha como gerador
Montagem
Medir tensão gerada
Calcular eficiência
Mostrar potência na matriz
🌀 A Ventoinha como Gerador
Um motor DC pode funcionar ao contrário: ao girar mecanicamente (por vento ou mão), gera tensão elétrica. Este princípio é a base dos geradores eólicos e das turbinas elétricas.
💨
Fonte de energia
Soprar ou agitar a ventoinha faz o motor girar e gera uma tensão DC nas bornes.
⚡
Tensão gerada
Proporcional à velocidade de rotação. A ventoinha do kit gera 0 a ~2V com sopro manual.
📊
Leitura ADC
O micro:bit lê a tensão gerada no pino analógico — valores de 0 a ~620 (de 1023).
🔋
Condensador buffer
Um condensador de 470µF em paralelo suaviza os picos de tensão gerados.
⚠️ Proteção obrigatória
Liga um díodo 1N4007 em série com a saída do gerador (cátodo para o pino P1) para evitar corrente reversa quando a ventoinha está parada. Sem díodo, corrente pode fluir do micro:bit para a ventoinha.
🔌 Montagem
Ventoinha+→ Díodo (ânodo) → Díodo (cátodo) → P1
Ventoinha−→ GND
P1→ Condensador 470µF (+) para suavizar · Condensador (−) → GND
P0→ LED indicador (opcional, via 47Ω)
📊 Medir Tensão Gerada
gerador_eolico.js
// Medir tensão gerada pela ventoinha em P1
basic.forever(function () {
let raw = pins.analogReadPin(AnalogPin.P1)
// Converter para mV (0-3300 mV mapeado de 0-1023)
let tensao_mv = Math.map(raw, 0, 1023, 0, 3300)
serial.writeValue("Vg_mV", tensao_mv)
// Mostrar nível de energia na matriz (0-4)
let nivel = Math.map(raw, 0, 620, 0, 4)
nivel = Math.clamp(0, 4, nivel)
// Barra vertical de energia
for (let x = 0; x <= 4; x++) {
for (let y = 4; y >= 0; y--) {
led.plot(x, y)
}
}
// Sobrepor brilho
for (let x = 0; x <= 4; x++) {
for (let y = 0; y <= 4; y++) {
led.plotBrightness(x, y, (4 - y) <= nivel ? 255 : 0)
}
}
basic.pause(100)
})
⚡ Calcular Potência
potencia_gerador.js
// Estimar potência gerada P = V² / R
// Assumindo carga de 10KΩ (resistência interna + leitura ADC)
let R_carga = 10000 // 10 KΩ
basic.forever(function () {
let raw = pins.analogReadPin(AnalogPin.P1)
let V = raw * 3300 / 1023 // tensão em mV
// Potência em µW: P = V² / R (V em mV, R em Ω → µW)
let P_uW = (V * V) / R_carga
serial.writeValue("V_mV", V)
serial.writeValue("P_uW", P_uW)
if (raw > 200) {
basic.showIcon(IconNames.Happy) // A gerar!
} else {
basic.showIcon(IconNames.Sad) // Sem vento
}
basic.pause(200)
})
🌟 Medidor de Energia Visual
medidor_visual.js
// Mostrar nível de energia com LEDs externos + matriz
// P0=LED baixo, P1=LED médio, P2=LED alto, P3=leitura ventoinha
basic.forever(function () {
let energia = pins.analogReadPin(AnalogPin.P3)
pins.digitalWritePin(DigitalPin.P0, energia > 100 ? 1 : 0)
pins.digitalWritePin(DigitalPin.P1, energia > 300 ? 1 : 0)
pins.digitalWritePin(DigitalPin.P2, energia > 500 ? 1 : 0)
// Acionar campainha ao atingir nível alto
if (energia > 500) {
music.playTone(880, 100)
}
serial.writeValue("eolica", energia)
basic.pause(100)
})
🏆 Para ir mais longe
- Regista o pico máximo de energia gerada numa sessão — qual é a tensão máxima com sopro forte?
- Compara a eficiência com ventoinhas de diferentes tamanhos ou ângulos das pás
- Usa o condensador de 470µF: carrega com a ventoinha e depois usa a energia armazenada para piscar um LED
- Cria um "dashboard de energia renovável": monitora produção em tempo real com scroll na matriz LED