Início›Módulos›Sensor PIR de Movimento
⬤ Iniciante

🚶 Sensor PIR de Movimento

⏱️ 25 min🧩 Pino P1 · Digital

Conteúdo

📌 Pinagem

Pino micro:bitFunçãoNotas
P1Sinal digital1 = movimento detetado · 0 = sem movimento
3VAlimentação3,3 V
GNDMassaObrigatório
⚠️
Aguarda 30–60 segundos após ligar para o PIR calibrar. Durante este período pode emitir sinais falsos. Os potenciómetros no módulo ajustam sensibilidade e duração do sinal HIGH.

Exercício — Iluminação por presença

Liga LED quando detecta movimento. Mantém aceso 5 segundos após o último movimento.

ex1_pir_luz.blocks
let ultimoMov = 0
basic.forever(function() {
    if (pins.digitalReadPin(DigitalPin.P1) == 1) {
        ultimoMov = input.runningTime()  // Actualiza timestamp
        pins.digitalWritePin(DigitalPin.P2, 1)
        basic.showIcon(IconNames.Eye)
    }
    // Desliga 5s após último movimento
    if (input.runningTime() - ultimoMov > 5000) {
        pins.digitalWritePin(DigitalPin.P2, 0)
        basic.clearScreen()
    }
    basic.pause(100)
})

Exercício — Contador de presenças

Conta o número de vezes que detecta movimento e mostra no display.

ex2_pir_contador.blocks
let cont = 0
let prev = 0
basic.forever(function() {
    let pir = pins.digitalReadPin(DigitalPin.P1)
    if (pir == 1 && prev == 0) {  // Borda ascendente
        cont++
        basic.showNumber(cont)
    }
    prev = pir
    basic.pause(100)
})

🏆 Desafios

PR.FT4_10 · Kit A 37 · Início