Início›Módulos›Micro Servo
⬤ Intermédio

⚙️ Micro Servo

⏱️ 25 min🧩 Pino P0 · PWM (servo)

Conteúdo

📌 Pinagem

Pino micro:bitFunçãoNotas
P0Sinal PWM servoservoWritePin — ângulo 0–180°
3VAlimentaçãoPara servos SG90 a 3,3V — recomendado bateria AA para cargas maiores
GNDMassaObrigatório
⚠️
Se o micro:bit reiniciar ao mover o servo, a corrente é insuficiente. Usa o suporte de baterias AA incluído em vez do USB para alimentar a montagem com servo.

Exercício — Posição controlada pelo joystick

Usa o eixo X do joystick para controlar o ângulo do servo.

ex1_servo_joy.blocks
// Servo em P0, Joystick X em P1
basic.forever(function() {
    let x = pins.analogReadPin(AnalogPin.P1)
    let ang = Math.map(x, 0, 1023, 0, 180)
    pins.servoWritePin(AnalogPin.P0, ang)
    basic.pause(50)
})

Exercício — Abertura suave (sweep)

Abre e fecha suavemente com delay curto entre cada grau.

ex2_servo_sweep.blocks
function irPara(alvo: number, atual: number): number {
    let passo = alvo > atual ? 1 : -1
    for (let a = atual; a != alvo; a += passo) {
        pins.servoWritePin(AnalogPin.P0, a)
        basic.pause(12)
    }
    return alvo
}
let pos = 0
basic.forever(function() {
    pos = irPara(90, pos)
    basic.pause(1000)
    pos = irPara(0, pos)
    basic.pause(1000)
})

🏆 Desafios

PR.FT4_10 · Kit A 37 · Início