⬤ Iniciante
🎛️ Potenciómetro
🎛️ Como Funciona um Potenciómetro?
Um potenciómetro é uma resistência variável com três terminais. Os dois terminais externos ligam-se à alimentação (3V e GND) e o terminal central (cursor) fornece uma tensão proporcional à posição do eixo — de 0V a 3.3V.
Resistência
10 KΩ
Valor total (ponta a ponta)
Tensão saída
0–3.3V
No cursor (pino central)
ADC micro:bit
10 bit
Resolução 0–1023
Tipo
Linear
Variação proporcional
🔌 Montagem
3V→ Terminal esquerdo do potenciómetro
P1→ Terminal central (cursor) do potenciómetro
GND→ Terminal direito do potenciómetro
📊 Ler Valor Analógico
ler_potenciometro.js
// Ler potenciómetro em P1 — valor 0 a 1023
basic.forever(function () {
let valor = pins.analogReadPin(AnalogPin.P1)
basic.showNumber(valor)
serial.writeValue("pot", valor)
basic.pause(200)
})
🗺️ Mapear Valores
O valor bruto (0–1023) raramente é o que queremos. A função Math.map() converte proporcionalmente de uma escala para outra.
mapear_valores.js
basic.forever(function () {
let raw = pins.analogReadPin(AnalogPin.P1)
// Mapear para percentagem 0-100%
let percentagem = Math.map(raw, 0, 1023, 0, 100)
// Mapear para ângulo 0-180°
let angulo = Math.map(raw, 0, 1023, 0, 180)
// Mapear para temperatura simulada 15-35°C
let temp_sim = Math.map(raw, 0, 1023, 15, 35)
serial.writeValue("pct", percentagem)
basic.pause(100)
})
💡 Controlar Brilho do LED
potenciometro_led.js
// Potenciómetro em P1 controla brilho do LED em P0
// LED com resistência 47Ω em P0
basic.forever(function () {
let pot = pins.analogReadPin(AnalogPin.P1)
// O valor analógico do micro:bit já é 0-1023
// analogWritePin também usa 0-1023
pins.analogWritePin(AnalogPin.P0, pot)
// Mostrar barra de brilho na matriz LED
let nivel = Math.map(pot, 0, 1023, 0, 4)
for (let x = 0; x <= 4; x++) {
for (let y = 0; y <= 4; y++) {
led.plotBrightness(x, y, x <= nivel ? 255 : 0)
}
}
basic.pause(50)
})
🏆 Para ir mais longe
- Usa o potenciómetro para controlar a velocidade de scroll de uma mensagem no LCD
- Cria um termómetro visual: o potenciómetro simula temperatura 0-40°C, a matriz mostra uma barra de nível
- Liga dois LEDs: quando o potenciómetro está abaixo de 50% acende um, acima de 50% acende outro
- Mostra o valor mapeado 0-100% com uma casa decimal: como formatas o número no monitor série?